This repository provides ROS2 interfaces for controlling MD electric drive controllers and PDS power distribution systems using the CANdle-SDK. It exposes both systems as ROS2 nodes with services and topics for operational control and telemetry.
This package acts as a runtime control interface. For configuration, please use:
➡️ CANdleTool
- Control MD drive controllers
- Publish joint state data
- Accept position, velocity, motion, and impedance commands
- Provide enable/disable/zero/mode setup services
- Manage PDS devices and their modules
- Monitor modules such as the Control Board, Isolated Converter, Brake Resistor, and Power Stage
Go to your ROS2 workspace and clone the repository:
git clone git@github.com:mabrobotics/candle_ros2.git src/candle_ros2Initialize submodules:
git -C src/candle_ros2/ submodule update --init --recursiveBuild:
colcon buildSource the environment:
source install/setup.bashros2 launch candle_ros2 md_node_launch.pyros2 launch candle_ros2 pds_node_launch.pyros2 launch candle_ros2 both_launch.pybus— desired communication bus with CANdle device, possible values:USBandSPI(default:USB).data_rate— data rate of CAN network, possible values:1M,2M,5Mand8M(default:1M).default_qos— ROS message quality of service for node's publishers, possible values:ReliableandBestEffort(default:Reliable).
Example launch command with custom arguments:
ros2 launch candle_ros2 md_node_launch.py bus:=SPI data_rate:=5MFull CANdle ROS2 documentation: ➡️ CANdle ROS2 nodes documentation
MAB controllers manuals: ➡️ MAB documentation