# ax2550 motor controller calibration for ros node compatibility?

Hello, I'm using a ROS driver for the ax2550 motor controller found here:

https://github.com/wjwwood/ax2550

I have plugged the device into a serial-->usb converter, which then goes into my computer. However, when I run the node using:

rosrun ax2550 ax2550_node /dev/ttyUSB0 (this is the port its connected to)

I get the error:

[ INFO] [1405453884.235150040]: AX2550 connecting to port /dev/ttyUSB0
[ERROR] [1405453886.236099864]: Failed to connect to the AX2550: Synchronization Exception: did not receive an R/C message after reset, file /home/randy/catkin_ws/src/toro/src/ax2550.cpp, line 315.
[ INFO] [1405453886.503068921]: Will try to reconnect to the AX2550 in 5 seconds.


I emailed the author of the node, and he told me that the device has to be configured in a specific way to work with the node, but that he doesn't specifically remember how. I am attempting to look through this document to try to understand the code/how it expects the device to be configured/how to configure it this way, but am not making much progress because I don't really understand most of the document. Anyone know what settings I should be trying to change?

edit retag close merge delete

I've fixed the formatting a bit: add 4 spaces before any lines that you want quoted as-is (your console copy/paste). Also, please note that tags are not separated by hashes, but spaces (this is not twitter).

( 2014-07-16 03:05:01 -0600 )edit

Thanks, any idea what could be going wrong?

( 2014-07-16 11:35:52 -0600 )edit

Any luck figuring out the configuration on the ax2550 side of things? We are having the exact same error.

( 2014-12-22 10:35:33 -0600 )edit

Did you find the solution for this?.. Even iam struggling with the same issue

( 2015-02-26 04:16:09 -0600 )edit

Sort by » oldest newest most voted

I think I've figured this out. The AX2550 can start in one of 4 input control modes:

• RS232, no watchdog
• RS232, with watchdog
• Analog mode

The library expects the AX2550 to start in R/C Radio mode, hence the "R/C message" mentioned in the error. On line 311 in the source, we can see it is listening for responses from the AX2550 starting with a colon (SerialListener::startsWith(":")). So we need to set the AX2550 to start in R/C mode. I had it in RS232 with watchdog.

The manual tells you which commands to send to the controller to change this setting (^00 00 and then reset with %rrrrrr to apply). I couldn't figure out how to do that, so I used the RoboRun utility. Get your hands on a Windows machine, download the utility, figure out which COM port the controller is on (Device Manager > Ports), click "Change COM/LAN Port" (it has to be a COM port between 1 and 8 because that was a great design decision; try plugging into a different USB port to hopefully get assigned a different COM), click "Load from Controller", change Controller Input to "RC Radio", click "Save to Controller", and reset the controller (Console tab, click %rrrrrr).

more