MCU Protocol
Since the Jazzy 2.9 (and clearpath_firmware 3.0.0) release, the communication between the robot's MCU and computer has been updated to the Proton protocol. Proton is a protobuf based communication protocol that is ROS agnostic (and ROS middleware agnostic). Therefore to use middlewares other than Fast DDS on Clearpath platforms, the robot's MCU firmware must be at least version 3.0.0.
On most Clearpath platforms, the robot's computer launches a base node to establish communication with the robot's MCU. The base node depends on the MCU firmware version:
- With MCU firmware
2.7or older, the base node is a micro-ROS node. - With MCU firmware
3.0.0or newer, the base node is a Proton node.
The Husky A200 is the exception: it does not use micro-ROS or Proton, and it cannot be upgraded to firmware 3.0.0. It therefore cannot use the Proton protocol.
For the purposes of maintaining backward compatibility, the default protocol will remain micro-ROS (uros), but users with new robots or that have upgraded their robot's firmware to 3.0.0, will need to set the protocol to Proton (proton) in the Clearpath configuration file, robot.yaml.
- Proton
- micro-ROS
platform:
mcu:
protocol: proton
The Proton protocol is required when using clearpath_firmware version 3.0.0. If clearpath_firmware is older (e.g. 2.7 or older), use uros instead.
platform:
mcu:
protocol: uros
The micro-ROS protocol is required when using firmware version 2.7 or older. If firmware version is newer than 3.0.0, use proton instead.