00001 /***************************************************************************/ 00008 #ifndef JOINTCONTROLMANAGERSERIESELASTIC_H_ 00009 #define JOINTCONTROLMANAGERSERIESELASTIC_H_ 00010 00011 #include "robot_instance/NodeRegisterManager.h" 00012 #include "robodyn_mechanisms/JointControlManagerInterface.h" 00013 #include "robodyn_mechanisms/JointControlActualSeriesElastic.h" 00014 #include "robodyn_mechanisms/JointControlCommandSeriesElastic.h" 00015 00016 class JointControlManagerSeriesElastic : public JointControlManagerInterface 00017 { 00018 public: 00019 JointControlManagerSeriesElastic(const std::string&, IoFunctions, double, const std::string&, NodeRegisterManagerPtr); 00020 virtual ~JointControlManagerSeriesElastic(); 00021 00022 bool verifyStates(void); 00023 bool verifyControlModeState(void); 00024 bool verifyCommandModeState(void); 00025 bool verifyCalibrationModeState(void); 00026 bool verifyClearFaultModeState(void); 00027 r2_msgs::JointControlData getActualStates(void); 00028 r2_msgs::JointControlData getCommandStates(void); 00029 void setCommandStates(const r2_msgs::JointControlData&); 00030 diagnostic_msgs::DiagnosticStatus getFaults(); 00031 00032 protected: 00033 NodeRegisterManagerPtr nodeRegisterManager; 00034 void setParameters(); 00035 std::string enable96VHeadLedsName; 00036 00037 private: 00038 const std::string logCategory; 00039 }; 00040 00041 #endif