Go to the documentation of this file.00001
00010 #ifndef NAVIGATION_H
00011 #define NAVIGATION_H
00012
00013 #include <rtm/Manager.h>
00014 #include <rtm/DataFlowComponentBase.h>
00015 #include <rtm/CorbaPort.h>
00016 #include <rtm/DataInPort.h>
00017 #include <rtm/DataOutPort.h>
00018 #include <rtm/idl/BasicDataTypeSkel.h>
00019
00020 #include "intellirobotStub.h"
00021
00022 using namespace RTC;
00023
00024 class Navigation
00025 : public RTC::DataFlowComponentBase
00026 {
00027 public:
00028 Navigation(RTC::Manager* manager);
00029 ~Navigation();
00030 virtual RTC::ReturnCode_t onInitialize();
00031 virtual RTC::ReturnCode_t onActivated(RTC::UniqueId ec_id);
00032 virtual RTC::ReturnCode_t onExecute(RTC::UniqueId ec_id);
00033
00034 protected:
00035 double m_judge_radius;
00036 double m_max_vel;
00037
00038 IIS::TimedPose2D m_position;
00039 InPort<IIS::TimedPose2D> m_positionIn;
00040
00041 IIS::TimedPath2DSeq m_min_path;
00042 InPort<IIS::TimedPath2DSeq> m_min_pathIn;
00043
00044 Path m_path;
00045 OutPort<Path> m_pathOut;
00046
00047
00048 TimedState m_status;
00049 OutPort<TimedState> m_statusOut;
00050
00051
00052 private:
00053 int dummy;
00054 int state;
00055 int current_id;
00056 int path_num;
00057 };
00058
00059
00060 extern "C"
00061 {
00062 void NavigationInit(RTC::Manager* manager);
00063 };
00064
00065 #endif // NAVIGATION_H