Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

The output from the first error indicates that the device file it's trying to use (/dev/motor_controller) doesn't exist - not really surprising given that your motor controller is on a different port.

Unfortunately, you don't give enough information to answer your question well, such as what the node does when configured properly.

Please edit your question to include:

  • The output from ls -l /dev/ttyUSB0 (to verify that your serial port exists and has proper permissions)
  • The output from running rosrun ax2550 ax2550_node serial_port:="/dev/ttyUSB0"

The output from the first error indicates that the device file it's trying to use (/dev/motor_controller) doesn't exist - not really surprising given that your motor controller is on a different port.

Unfortunately, you don't give enough information to answer your question well, such as what the node does when configured properly.

Please edit your question to include:

  • The output from ls -l /dev/ttyUSB0 (to verify that your serial port exists and has proper permissions)
  • The output from running rosrun ax2550 ax2550_node serial_port:="/dev/ttyUSB0"

UPDATE

The ax2550 node uses parameters from the public namespace (NOT the node's private namespace). According to the remapping arguments page, only private parameters can be set from the command line.

You should try setting the serial_port parameter using rosparam before starting the node:

rosparam set serial_port /dev/ttyUSB0
rosrun ax2550 ax2550_node

You should not have to change the node's source code in order to change the parameters.

You can also set the parameter and run the node via a launch file:

<launch>
  <param name="serial_port" value="/dev/ttyUSB0"/>
  <node pkg="ax2550" type="ax2550_node" name="ax2550_node"/>
</launch>