mh5_hardware
packageΒΆ
This package follows the ros_control
design model. It contains the highly specific hardware access functions needed for:
configuring and communicating with the Dynamixel actuators used by the robot
configuring and reading information from the on-board IMU unit
(to-be) configuring and retrieving information from the Force Sensitive Resistors (FSRs) in the feet
-
class
MH5DynamixelInterface
: public RobotHW Main class implementing the protocol required by
ros_control
for providing access to the robot hardware.This class performs communication with the servos using Dynamixel protocol and manages the state of these servos. It uses for this purpose Dynamixel SDK (specifically the ROS implementation of it) with the only exception that for port communication it uses a custom subclass of
PortHandler
in order to be able to configure the communication port with RS485 support, because the interface board used by RH5 robot uses SC16IS762 chips that control the flow in heardware, but need tto be connfigured in RS485 mode viaioctl
.The class should be instantiated by the
pluginlib
once the main mode is started and initiates the load of theCombinedRobotHW
class.The class uses the information from the param server to get details about the communication port configuration and the attached servos. For each dynamixel interface the following parameters are read:
The class registers itself with the
pluginlib
by calling:PLUGINLIB_EXPORT_CLASS(mh5_hardware::MH5DynamixelInterface, hardware_interface::RobotHW)