CeilingNavigation.h
Go to the documentation of this file.
00001 // -*- C++ -*-
00010 #ifndef CEILINGNAVIGATION_H
00011 #define CEILINGNAVIGATION_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 "std_hdr.h"
00021 
00022 #include "intellirobotStub.h"
00023 
00024 #include "BlockMatching.h"
00025 #include "ImageData.h"
00026 #include "CeilingMap.h"
00027 
00028 using namespace RTC;
00029 
00033 class CeilingNavigation
00034   : public RTC::DataFlowComponentBase
00035 {
00036  public:
00037   CeilingNavigation(RTC::Manager* manager);
00038   ~CeilingNavigation();
00039  
00040   virtual RTC::ReturnCode_t onInitialize();
00041   virtual RTC::ReturnCode_t onStartup(RTC::UniqueId ec_id);
00042   virtual RTC::ReturnCode_t onShutdown(RTC::UniqueId ec_id);
00043   virtual RTC::ReturnCode_t onActivated(RTC::UniqueId ec_id);
00044   virtual RTC::ReturnCode_t onExecute(RTC::UniqueId ec_id);
00045 
00046  protected:
00047         std::string m_NavigationMap;            /* 天井画像ファイル名                                           */
00048         unsigned short m_BlockResolution;       /* 画像回転分解能                                                       */
00049         unsigned short m_BlockSize;                     /* 画像縮小サイズ                                                       */
00050         double m_BlockCoefficient;                      /* 画像縮小補正値                                                       */
00051         unsigned short m_SearchScope;           /* マッチング探索範囲                                           */
00052         unsigned short m_BlackWhiteValue;       /* 2値化閾値                                                            */
00053         long m_Center_X;                                        /* 画像回転中心座標(X)                                          */
00054         long m_Center_Y;                                        /* 画像回転中心座標(Y)                                          */
00055         std::string m_OfflineImage;                     /* オフラインイメージファイル格納フォルダ名 */
00056         double m_RealMapHeight;
00057         double m_RealMapWidth;
00058         double m_VirtualMapHeight;
00059         double m_VirtualMapWidth;
00060 
00061         unsigned long x_pos;
00062         unsigned long y_pos;
00063         double theta;
00064 
00065         double mPerPix;//画像1ピクセルあたりの実世界の長さ[m]
00066         //ロボット座標系は,前方をx,左をyとする.
00067         double camX; //ロボット座標系におけるカメラのx座標
00068         double camY; //ロボット座標系におけるカメラのy座標
00069         //角度については,画像の上方向がロボット座標x軸正方向に一致するように配置するということで固定する.
00070 
00071   // </rtc-template>
00072 
00073   // DataInPort declaration
00074   // <rtc-template block="inport_declare">
00075   TimedOctetSeq m_CameraData;
00076   InPort<TimedOctetSeq> m_CameraDataIn;
00077  
00078         IIS::TimedPose2D m_LocalizedPosition;
00079         InPort<IIS::TimedPose2D> m_LocalizedPositionIn; 
00080 
00081   IIS::TimedPose2D m_CeilingPosition;
00082   OutPort<IIS::TimedPose2D> m_CeilingPositionOut;
00083   
00084  private:
00085   int dummy;
00086   private:
00087           BlockMatching m_BlockMat;
00088           CeilingMap    m_CeilingMap;
00089 
00090 };
00091 
00092 
00093 extern "C"
00094 {
00095   void CeilingNavigationInit(RTC::Manager* manager);
00096 };
00097 
00098 #endif // CEILINGNAVIGATION_H
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines


RS003
Author(s):
autogenerated on Thu Jun 27 2013 14:58:49