1 #ifndef __XARM_DRIVER_H 2 #define __XARM_DRIVER_H 6 #include "std_msgs/Float32.h" 8 #include <xarm_msgs/SetInt16.h> 9 #include <xarm_msgs/SetFloat32.h> 10 #include <xarm_msgs/TCPOffset.h> 11 #include <xarm_msgs/SetLoad.h> 12 #include <xarm_msgs/SetAxis.h> 13 #include <xarm_msgs/Move.h> 14 #include <xarm_msgs/RobotMsg.h> 15 #include <xarm_msgs/IOState.h> 16 #include <xarm_msgs/CIOState.h> 17 #include <xarm_msgs/SetDigitalIO.h> 18 #include <xarm_msgs/GetDigitalIO.h> 19 #include <xarm_msgs/GetControllerDigitalIO.h> 20 #include <xarm_msgs/SetControllerAnalogIO.h> 21 #include <xarm_msgs/GetAnalogIO.h> 22 #include <xarm_msgs/ClearErr.h> 23 #include <xarm_msgs/GetErr.h> 24 #include <xarm_msgs/GripperConfig.h> 25 #include <xarm_msgs/GripperMove.h> 26 #include <xarm_msgs/GripperState.h> 27 #include <xarm_msgs/SetToolModbus.h> 28 #include <xarm_msgs/ConfigToolModbus.h> 29 #include <xarm_msgs/MoveAxisAngle.h> 30 #include <xarm_msgs/MoveVelo.h> 31 #include <xarm_msgs/SetMultipleInts.h> 32 #include <xarm_msgs/PlayTraj.h> 33 #include <xarm_msgs/SetString.h> 34 #include <sensor_msgs/JointState.h> 46 mutex_ = std::make_shared<std::mutex>();
57 bool MotionCtrlCB(xarm_msgs::SetAxis::Request &
req, xarm_msgs::SetAxis::Response &res);
58 bool SetModeCB(xarm_msgs::SetInt16::Request& req, xarm_msgs::SetInt16::Response& res);
59 bool SetStateCB(xarm_msgs::SetInt16::Request &req, xarm_msgs::SetInt16::Response &res);
60 bool SetTCPOffsetCB(xarm_msgs::TCPOffset::Request &req, xarm_msgs::TCPOffset::Response &res);
61 bool SetLoadCB(xarm_msgs::SetLoad::Request &req, xarm_msgs::SetLoad::Response &res);
62 bool SetDigitalIOCB(xarm_msgs::SetDigitalIO::Request &req, xarm_msgs::SetDigitalIO::Response &res);
63 bool GetDigitalIOCB(xarm_msgs::GetDigitalIO::Request &req, xarm_msgs::GetDigitalIO::Response &res);
64 bool GetAnalogIOCB(xarm_msgs::GetAnalogIO::Request &req, xarm_msgs::GetAnalogIO::Response &res);
65 bool ClearErrCB(xarm_msgs::ClearErr::Request& req, xarm_msgs::ClearErr::Response& res);
66 bool MoveitClearErrCB(xarm_msgs::ClearErr::Request& req, xarm_msgs::ClearErr::Response& res);
67 bool GetErrCB(xarm_msgs::GetErr::Request & req, xarm_msgs::GetErr::Response & res);
68 bool GoHomeCB(xarm_msgs::Move::Request &req, xarm_msgs::Move::Response &res);
69 bool MoveJointCB(xarm_msgs::Move::Request &req, xarm_msgs::Move::Response &res);
70 bool MoveJointbCB(xarm_msgs::Move::Request &req, xarm_msgs::Move::Response &res);
71 bool MoveLinebCB(xarm_msgs::Move::Request &req, xarm_msgs::Move::Response &res);
72 bool MoveLineCB(xarm_msgs::Move::Request &req, xarm_msgs::Move::Response &res);
73 bool MoveLineToolCB(xarm_msgs::Move::Request &req, xarm_msgs::Move::Response &res);
74 bool MoveServoJCB(xarm_msgs::Move::Request &req, xarm_msgs::Move::Response &res);
75 bool MoveServoCartCB(xarm_msgs::Move::Request &req, xarm_msgs::Move::Response &res);
76 bool MoveLineAACB(xarm_msgs::MoveAxisAngle::Request &req, xarm_msgs::MoveAxisAngle::Response &res);
77 bool MoveServoCartAACB(xarm_msgs::MoveAxisAngle::Request &req, xarm_msgs::MoveAxisAngle::Response &res);
78 bool GripperConfigCB(xarm_msgs::GripperConfig::Request &req, xarm_msgs::GripperConfig::Response &res);
79 bool GripperMoveCB(xarm_msgs::GripperMove::Request &req, xarm_msgs::GripperMove::Response &res);
80 bool GripperStateCB(xarm_msgs::GripperState::Request &req, xarm_msgs::GripperState::Response &res);
81 bool VacuumGripperCB(xarm_msgs::SetInt16::Request &req, xarm_msgs::SetInt16::Response &res);
82 bool SetModbusCB(xarm_msgs::SetToolModbus::Request &req, xarm_msgs::SetToolModbus::Response &res);
83 bool ConfigModbusCB(xarm_msgs::ConfigToolModbus::Request &req, xarm_msgs::ConfigToolModbus::Response &res);
84 bool SetControllerDOutCB(xarm_msgs::SetDigitalIO::Request &req, xarm_msgs::SetDigitalIO::Response &res);
85 bool GetControllerDInCB(xarm_msgs::GetControllerDigitalIO::Request &req, xarm_msgs::GetControllerDigitalIO::Response &res);
86 bool SetControllerAOutCB(xarm_msgs::SetControllerAnalogIO::Request &req, xarm_msgs::SetControllerAnalogIO::Response &res);
87 bool GetControllerAInCB(xarm_msgs::GetAnalogIO::Request &req, xarm_msgs::GetAnalogIO::Response &res);
89 bool VeloMoveJointCB(xarm_msgs::MoveVelo::Request &req, xarm_msgs::MoveVelo::Response &res);
90 bool VeloMoveLineVCB(xarm_msgs::MoveVelo::Request &req, xarm_msgs::MoveVelo::Response &res);
91 bool SetMaxJAccCB(xarm_msgs::SetFloat32::Request &req, xarm_msgs::SetFloat32::Response &res);
92 bool SetMaxLAccCB(xarm_msgs::SetFloat32::Request &req, xarm_msgs::SetFloat32::Response &res);
94 bool SetRecordingCB(xarm_msgs::SetInt16::Request &req, xarm_msgs::SetInt16::Response &res);
95 bool SaveTrajCB(xarm_msgs::SetString::Request &req, xarm_msgs::SetString::Response &res);
96 bool LoadNPlayTrajCB(xarm_msgs::PlayTraj::Request &req, xarm_msgs::PlayTraj::Response &res);
ros::ServiceServer get_digital_in_server_
bool MotionCtrlCB(xarm_msgs::SetAxis::Request &req, xarm_msgs::SetAxis::Response &res)
ros::ServiceServer move_servo_cart_server_
bool GetControllerDInCB(xarm_msgs::GetControllerDigitalIO::Request &req, xarm_msgs::GetControllerDigitalIO::Response &res)
bool MoveLineAACB(xarm_msgs::MoveAxisAngle::Request &req, xarm_msgs::MoveAxisAngle::Response &res)
bool GoHomeCB(xarm_msgs::Move::Request &req, xarm_msgs::Move::Response &res)
bool GetDigitalIOCB(xarm_msgs::GetDigitalIO::Request &req, xarm_msgs::GetDigitalIO::Response &res)
bool SetMaxJAccCB(xarm_msgs::SetFloat32::Request &req, xarm_msgs::SetFloat32::Response &res)
void closeReportSocket(void)
ros::ServiceServer set_controller_aout_server_
bool SetModbusCB(xarm_msgs::SetToolModbus::Request &req, xarm_msgs::SetToolModbus::Response &res)
ros::ServiceServer gripper_config_server_
ros::ServiceServer set_controller_dout_server_
ros::ServiceServer move_joint_server_
ros::ServiceServer set_max_lacc_server_
ros::AsyncSpinner spinner
bool MoveJointCB(xarm_msgs::Move::Request &req, xarm_msgs::Move::Response &res)
bool SetTCPOffsetCB(xarm_msgs::TCPOffset::Request &req, xarm_msgs::TCPOffset::Response &res)
bool GripperStateCB(xarm_msgs::GripperState::Request &req, xarm_msgs::GripperState::Response &res)
bool MoveLineCB(xarm_msgs::Move::Request &req, xarm_msgs::Move::Response &res)
bool VacuumGripperCB(xarm_msgs::SetInt16::Request &req, xarm_msgs::SetInt16::Response &res)
xarm_msgs::IOState io_msg
ros::ServiceServer gripper_state_server_
void XARMDriverInit(ros::NodeHandle &root_nh, char *server_ip)
bool ClearErrCB(xarm_msgs::ClearErr::Request &req, xarm_msgs::ClearErr::Response &res)
int get_frame(unsigned char *data)
bool GetErrCB(xarm_msgs::GetErr::Request &req, xarm_msgs::GetErr::Response &res)
bool SaveTrajCB(xarm_msgs::SetString::Request &req, xarm_msgs::SetString::Response &res)
ros::ServiceServer traj_save_server_
ros::ServiceServer vc_set_linev_server_
void pub_joint_state(sensor_msgs::JointState &js_msg)
bool SetStateCB(xarm_msgs::SetInt16::Request &req, xarm_msgs::SetInt16::Response &res)
ros::ServiceServer config_modbus_server_
std::shared_ptr< std::mutex > mutex_
ros::ServiceServer set_max_jacc_server_
ros::ServiceServer motion_ctrl_server_
bool VeloMoveJointCB(xarm_msgs::MoveVelo::Request &req, xarm_msgs::MoveVelo::Response &res)
bool GripperConfigCB(xarm_msgs::GripperConfig::Request &req, xarm_msgs::GripperConfig::Response &res)
ros::ServiceServer set_vacuum_gripper_server_
bool MoveitClearErrCB(xarm_msgs::ClearErr::Request &req, xarm_msgs::ClearErr::Response &res)
ros::Publisher joint_state_
ros::ServiceServer vc_set_jointv_server_
bool GetAnalogIOCB(xarm_msgs::GetAnalogIO::Request &req, xarm_msgs::GetAnalogIO::Response &res)
bool GripperMoveCB(xarm_msgs::GripperMove::Request &req, xarm_msgs::GripperMove::Response &res)
ros::ServiceServer get_analog_in_server_
ros::ServiceServer traj_play_server_
void pub_cgpio_state(xarm_msgs::CIOState &cio_msg)
ros::ServiceServer set_mode_server_
ros::ServiceServer move_line_tool_server_
ros::Publisher end_input_state_
bool SetControllerDOutCB(xarm_msgs::SetDigitalIO::Request &req, xarm_msgs::SetDigitalIO::Response &res)
ros::ServiceServer move_line_aa_server_
bool SetMaxLAccCB(xarm_msgs::SetFloat32::Request &req, xarm_msgs::SetFloat32::Response &res)
ros::ServiceServer go_home_server_
ros::ServiceServer move_line_server_
ros::ServiceServer set_state_server_
UxbusCmd * get_uxbus_cmd(void)
bool SetModeCB(xarm_msgs::SetInt16::Request &req, xarm_msgs::SetInt16::Response &res)
ros::ServiceServer get_controller_din_server_
ros::ServiceServer move_lineb_server_
ros::ServiceServer set_tcp_offset_server_
ros::ServiceServer move_servoj_server_
ros::ServiceServer move_jointb_server_
bool isConnectionOK(void)
ros::ServiceServer moveit_clear_err_server_
bool VeloMoveLineVCB(xarm_msgs::MoveVelo::Request &req, xarm_msgs::MoveVelo::Response &res)
bool SetRecordingCB(xarm_msgs::SetInt16::Request &req, xarm_msgs::SetInt16::Response &res)
ros::ServiceServer gripper_move_server_
ros::ServiceServer move_servo_cart_aa_server_
bool SetLoadCB(xarm_msgs::SetLoad::Request &req, xarm_msgs::SetLoad::Response &res)
bool MoveLinebCB(xarm_msgs::Move::Request &req, xarm_msgs::Move::Response &res)
ros::ServiceServer get_controller_ain_server_
ros::Publisher robot_rt_state_
ros::ServiceServer clear_err_server_
void pub_robot_msg(xarm_msgs::RobotMsg &rm_msg)
ros::Publisher cgpio_state_
bool MoveServoCartAACB(xarm_msgs::MoveAxisAngle::Request &req, xarm_msgs::MoveAxisAngle::Response &res)
bool SetControllerAOutCB(xarm_msgs::SetControllerAnalogIO::Request &req, xarm_msgs::SetControllerAnalogIO::Response &res)
void SleepTopicCB(const std_msgs::Float32ConstPtr &msg)
bool GetControllerAInCB(xarm_msgs::GetAnalogIO::Request &req, xarm_msgs::GetAnalogIO::Response &res)
bool LoadNPlayTrajCB(xarm_msgs::PlayTraj::Request &req, xarm_msgs::PlayTraj::Response &res)
ros::Subscriber sleep_sub_
bool MoveJointbCB(xarm_msgs::Move::Request &req, xarm_msgs::Move::Response &res)
bool MoveServoCartCB(xarm_msgs::Move::Request &req, xarm_msgs::Move::Response &res)
ros::ServiceServer set_modbus_server_
ros::ServiceServer set_load_server_
ros::ServiceServer set_end_io_server_
bool MoveLineToolCB(xarm_msgs::Move::Request &req, xarm_msgs::Move::Response &res)
bool MoveServoJCB(xarm_msgs::Move::Request &req, xarm_msgs::Move::Response &res)
ros::ServiceServer get_err_server_
ros::ServiceServer traj_record_server_
bool SetDigitalIOCB(xarm_msgs::SetDigitalIO::Request &req, xarm_msgs::SetDigitalIO::Response &res)
bool ConfigModbusCB(xarm_msgs::ConfigToolModbus::Request &req, xarm_msgs::ConfigToolModbus::Response &res)
bool reConnectReportSocket(char *server_ip)