AccelerationChecker.h
Go to the documentation of this file.
00001 // -*- C++ -*-
00010 #ifndef ACCELERATION_CHECKER_H
00011 #define ACCELERATION_CHECKER_H
00012 
00013 #include <rtm/idl/BasicDataType.hh>
00014 #include <rtm/Manager.h>
00015 #include <rtm/DataFlowComponentBase.h>
00016 #include <rtm/CorbaPort.h>
00017 #include <hrpsys/idl/HRPDataTypes.hh>
00018 #include <rtm/DataInPort.h>
00019 #include <rtm/DataOutPort.h>
00020 #include <rtm/idl/BasicDataTypeSkel.h>
00021 
00022 // Service implementation headers
00023 // <rtc-template block="service_impl_h">
00024 
00025 // </rtc-template>
00026 
00027 // Service Consumer stub headers
00028 // <rtc-template block="consumer_stub_h">
00029 
00030 // </rtc-template>
00031 
00032 using namespace RTC;
00033 
00037 class AccelerationChecker
00038   : public RTC::DataFlowComponentBase
00039 {
00040  public:
00045   AccelerationChecker(RTC::Manager* manager);
00049   virtual ~AccelerationChecker();
00050 
00051   // The initialize action (on CREATED->ALIVE transition)
00052   // formaer rtc_init_entry()
00053   virtual RTC::ReturnCode_t onInitialize();
00054 
00055   // The finalize action (on ALIVE->END transition)
00056   // formaer rtc_exiting_entry()
00057   // virtual RTC::ReturnCode_t onFinalize();
00058 
00059   // The startup action when ExecutionContext startup
00060   // former rtc_starting_entry()
00061   // virtual RTC::ReturnCode_t onStartup(RTC::UniqueId ec_id);
00062 
00063   // The shutdown action when ExecutionContext stop
00064   // former rtc_stopping_entry()
00065   // virtual RTC::ReturnCode_t onShutdown(RTC::UniqueId ec_id);
00066 
00067   // The activated action (Active state entry action)
00068   // former rtc_active_entry()
00069   virtual RTC::ReturnCode_t onActivated(RTC::UniqueId ec_id);
00070 
00071   // The deactivated action (Active state exit action)
00072   // former rtc_active_exit()
00073   virtual RTC::ReturnCode_t onDeactivated(RTC::UniqueId ec_id);
00074 
00075   // The execution action that is invoked periodically
00076   // former rtc_active_do()
00077   virtual RTC::ReturnCode_t onExecute(RTC::UniqueId ec_id);
00078 
00079   // The aborting action when main logic error occurred.
00080   // former rtc_aborting_entry()
00081   // virtual RTC::ReturnCode_t onAborting(RTC::UniqueId ec_id);
00082 
00083   // The error action in ERROR state
00084   // former rtc_error_do()
00085   // virtual RTC::ReturnCode_t onError(RTC::UniqueId ec_id);
00086 
00087   // The reset action that is invoked resetting
00088   // This is same but different the former rtc_init_entry()
00089   // virtual RTC::ReturnCode_t onReset(RTC::UniqueId ec_id);
00090 
00091   // The state update action that is invoked after onExecute() action
00092   // no corresponding operation exists in OpenRTm-aist-0.2.0
00093   // virtual RTC::ReturnCode_t onStateUpdate(RTC::UniqueId ec_id);
00094 
00095   // The action that is invoked when execution context's rate is changed
00096   // no corresponding operation exists in OpenRTm-aist-0.2.0
00097   // virtual RTC::ReturnCode_t onRateChanged(RTC::UniqueId ec_id);
00098 
00099 
00100  protected:
00101   // Configuration variable declaration
00102   // <rtc-template block="config_declare">
00103   
00104   // </rtc-template>
00105 
00106   TimedDoubleSeq m_q;
00107   OpenHRP::TimedLongSeqSeq m_servoState;
00108 
00109   // DataInPort declaration
00110   // <rtc-template block="inport_declare">
00111   InPort<TimedDoubleSeq> m_qIn;
00112   InPort<OpenHRP::TimedLongSeqSeq> m_servoStateIn;
00113   
00114   // </rtc-template>
00115 
00116   // DataOutPort declaration
00117   // <rtc-template block="outport_declare">
00118   OutPort<TimedDoubleSeq> m_qOut;
00119   
00120   // </rtc-template>
00121 
00122   // CORBA Port declaration
00123   // <rtc-template block="corbaport_declare">
00124   
00125   // </rtc-template>
00126 
00127   // Service declaration
00128   // <rtc-template block="service_declare">
00129   
00130   // </rtc-template>
00131 
00132   // Consumer declaration
00133   // <rtc-template block="consumer_declare">
00134   
00135   // </rtc-template>
00136 
00137  private:
00138   TimedDoubleSeq m_dq, m_qOld, m_dqOld, m_ddqMax;
00139   double m_thd;
00140   double m_dt;
00141   bool m_print;
00142   int dummy;
00143 };
00144 
00145 
00146 extern "C"
00147 {
00148   void AccelerationCheckerInit(RTC::Manager* manager);
00149 };
00150 
00151 #endif // ACCELERATION_CHECKER_H


hrpsys
Author(s): AIST, Fumio Kanehiro
autogenerated on Wed May 15 2019 05:02:17