ROS Roboteq brushless driver for Modbus ASCII mode

For those that use Roboteq controllers with more recent firmware (>=2.0), I wrote a ROS node that uses their new Modbus-ASCII mode.

This allows for checksums going in and out to prevent you from accidentally dropping a character and issue a wrong command, e.g. “!G 1 500” becoming “!G 1 50” or some such, or encoder count readings coming back as “CB=123:456” becoming “CB=123:46”, which is a common problem with the default ASCII mode. Modbus-ASCII solves this problem with an LRC checksum and is available on newer firmware.

Do note that your Roboteq MUST be connected via the DB15/DB25 header to use Modbus-ASCII; the USB connection does not support Modbus.

I have only tested on a SBL2360 but I imagine it would work fine on other controllers including FBL2360, HBL2360, or SBL1360 (in this case make sure you set the parameter num_channels to 1). Please submit an issue it doesn’t work for you. Contributions welcome to add more features – currently it only supports a basic set.