denso_robot_hw.h
Go to the documentation of this file.
1 
25 #ifndef _DENSO_ROBOT_HW_H_
26 #define _DENSO_ROBOT_HW_H_
27 
28 #include <ros/ros.h>
29 
30 // Message (std_msgs)
31 #include <std_msgs/Int32.h>
32 #include <std_msgs/Float64MultiArray.h>
33 using namespace std_msgs;
34 
38 
40 
45 #include "denso_robot_core/UserIO.h"
46 using namespace denso_robot_core;
47 
48 #include <boost/thread.hpp>
49 
50 #define JOINT_MAX (8)
51 
53 {
55  {
56  public:
57  DensoRobotHW();
58  virtual ~DensoRobotHW();
59 
60  HRESULT Initialize();
61 
63  {
64  return ros::Time::now();
65  }
66 
68  {
69  return ros::Duration(0.008);
70  }
71 
72  void read(ros::Time, ros::Duration);
73  void write(ros::Time, ros::Duration);
74 
75  private:
76  HRESULT ChangeModeWithClearError(int mode);
77  void Callback_ChangeMode(const Int32::ConstPtr& msg);
78 
79  HRESULT CheckRobotType();
80 
81  void Callback_MiniIO(const Int32::ConstPtr& msg);
82  void Callback_HandIO(const Int32::ConstPtr& msg);
83  void Callback_SendUserIO(const UserIO::ConstPtr& msg);
84  void Callback_RecvUserIO(const UserIO::ConstPtr& msg);
85 
86  private:
89  double m_cmd[JOINT_MAX];
90  double m_pos[JOINT_MAX];
91  double m_vel[JOINT_MAX];
92  double m_eff[JOINT_MAX];
93  int m_type[JOINT_MAX];
94  std::vector<double> m_joint;
95 
100 
101  std::string m_robName;
105 
111 
117 
118  boost::mutex m_mtxMode;
119  };
120 
121 }
122 
123 #endif
#define JOINT_MAX
ros::Duration getPeriod() const
int32_t HRESULT
hardware_interface::JointStateInterface m_JntStInterface
hardware_interface::PositionJointInterface m_PosJntInterface
std::vector< double > m_joint
static Time now()


denso_robot_control
Author(s): DENSO WAVE INCORPORATED
autogenerated on Mon Jun 10 2019 13:12:33