// -*- C++ -*- /*! * @file BBcont.h * @brief BBcont component * @date $Date$ * * $Id$ */ #ifndef BBCONT_H #define BBCONT_H #include #include #include #include #include #include // Service implementation headers // // // Service Consumer stub headers // // using namespace RTC; class BBcont : public RTC::DataFlowComponentBase { public: BBcont(RTC::Manager* manager); ~BBcont(); // The initialize action (on CREATED->ALIVE transition) // formaer rtc_init_entry() virtual RTC::ReturnCode_t onInitialize(); // The finalize action (on ALIVE->END transition) // formaer rtc_exiting_entry() virtual RTC::ReturnCode_t onFinalize(); // The startup action when ExecutionContext startup // former rtc_starting_entry( virtual RTC::ReturnCode_t onStartup(RTC::UniqueId ec_id); // The shutdown action when ExecutionContext stop // former rtc_stopping_entry() virtual RTC::ReturnCode_t onShutdown(RTC::UniqueId ec_id); // The activated action (Active state entry action) // former rtc_active_entry() virtual RTC::ReturnCode_t onActivated(RTC::UniqueId ec_id); // The deactivated action (Active state exit action) // former rtc_active_exit() virtual RTC::ReturnCode_t onDeactivated(RTC::UniqueId ec_id); // The execution action that is invoked periodically // former rtc_active_do() virtual RTC::ReturnCode_t onExecute(RTC::UniqueId ec_id); // The aborting action when main logic error occurred. // former rtc_aborting_entry() // virtual RTC::ReturnCode_t onAborting(RTC::UniqueId ec_id); // The error action in ERROR state // former rtc_error_do() // virtual RTC::ReturnCode_t onError(RTC::UniqueId ec_id); // The reset action that is invoked resetting // This is same but different the former rtc_init_entry() // virtual RTC::ReturnCode_t onReset(RTC::UniqueId ec_id); // The state update action that is invoked after onExecute() action // no corresponding operation exists in OpenRTm-aist-0.2.0 // virtual RTC::ReturnCode_t onStateUpdate(RTC::UniqueId ec_id); // The action that is invoked when execution context's rate is changed // no corresponding operation exists in OpenRTm-aist-0.2.0 // virtual RTC::ReturnCode_t onRateChanged(RTC::UniqueId ec_id); protected: // Configuration variable declaration // // // DataInPort declaration // TimedDoubleSeq m_acgyro; InPort m_acgyroIn; TimedDoubleSeq m_acaccel; InPort m_acaccelIn; TimedDoubleSeq m_acjoint; InPort m_acjointIn; // // DataOutPort declaration // TimedDoubleSeq m_cmjoint; OutPort m_cmjointOut; TimedDoubleSeq m_cmspeed; OutPort m_cmspeedOut; TimedDoubleSeq m_cmaccel; OutPort m_cmaccelOut; TimedDoubleSeq m_cmforce; OutPort m_cmforceOut; // // CORBA Port declaration // // // Service declaration // // // Consumer declaration // // private: int ec; int state; double now; void CalculateInclination(void); void CalculatePosition(void); void DoControl(void); // angle double wx,wy,agx,agy,cgx,cgy,cgax,cgay,thx,thy; double px,py,pvx,pvy,opx,opy; double tx,ty; }; const double DT=0.005; extern "C" { DLL_EXPORT void BBcontInit(RTC::Manager* manager); }; #endif // BBCONT_H