Ask Your Question

Turtlebot disconnects when additional /dev/ttyUSB port is active

asked 2011-07-30 14:26:49 -0500

Pi Robot gravatar image

updated 2011-07-31 05:46:05 -0500


I am trying out the Turtlebot stack under Electric (beta). So far everything works great including the follower application. Next I want to control two Dynamixel AX-12 servos that I have attached to the Kinect for pan and tilt. The Create is on port /dev/ttyUSB1 and my USB2Dynamixel controller is on /dev/ttyUSB0 and I am using the dynamixel_motor package to control the servos.

When I launch the Turtlebot using the minimal.launch file, everything comes up fine on /dev/ttyUSB1. But as soon as I launch the dynamixel_motor controllers (which comes up fine on /dev/ttyUSB0), I get the following error in the Turtlebot launch window:

Failed to contact device with error: [Error reading from SCI port. Wrong data length.]. Please check that the Create is powered on and that the connector is plugged into the Create.[turtlebot_node-3] process has finished cleanly.
log file: /home/patrick/.ros/log/28a03a10-bb09-11e0-bde5-00271017076c/turtlebot_node-3*.log
[turtlebot_node-3] restarting process
process[turtlebot_node-3]: started with pid [9174]

This block then just keeps repeating indefinitely.

Has anyone else experienced something similar?

Thanks! patrick

edit retag flag offensive close merge delete


Have you tried setting your udev rules to make the SCI port /dev/ttyUSB0 and your USB2Dynamixel controller /dev/ttyUSB1? I have a Logitech webcam running on /dev/ttyUSB1 with no problems.
Alaina gravatar image Alaina  ( 2011-07-31 07:02:17 -0500 )edit
Thanks Alaina--that did the trick! If you post your comment as an answer, I can accept it as the correct answer.
Pi Robot gravatar image Pi Robot  ( 2011-07-31 15:12:37 -0500 )edit

2 Answers

Sort by ยป oldest newest most voted

answered 2011-07-31 17:01:38 -0500

Alaina gravatar image

updated 2011-07-31 17:05:05 -0500

Have you tried setting your udev rules to make the SCI port /dev/ttyUSB0 and your USB2Dynamixel controller /dev/ttyUSB1? I have a Logitech webcam running on /dev/ttyUSB1 with no problems.

The Turtlebot software is looking for the Create on ttyUSB0. You can change that in the launch files, but I prefer to mess with less. :)

edit flag offensive delete link more


Actually, I did set the Create port to /dev/ttyUSB1 in the launch file and it connected to that port fine but I still ran into the disconnect problem when the USB2Dynamixel is on port /dev/ttyUSB0. So I am wondering if there might be some other place in the Turtlebot code where USB0 is hard coded. In any event, your udev solution works fine for now. Thanks!
Pi Robot gravatar image Pi Robot  ( 2011-08-01 01:00:05 -0500 )edit

Could one of you guys post here the udev files you created? Thanks!

t.pimentel gravatar image t.pimentel  ( 2013-05-28 04:25:49 -0500 )edit

answered 2012-01-12 02:27:05 -0500

Roman Burdakov gravatar image

I just got same problem - iCreate is no longer accessible on /dev/ttyUSB0. Could you please provide your solution on how you have change launch configuration? I've search settings for USB in minimal_launch of the turtlebot_bringup stack but didn't find anything useful.

Another question - is it better to change launch configuration of the turtlebot or change port settings in ubuntu itself? Let's say somewhere in other packages there would be hard coded port ttyUSB0 but I had changed it on 1, so I would create new problem for myself. What would be the best solution in this case? Thanks.

edit flag offensive delete link more


Definitively udev rules is the good way, as you can fix port names. You can also provide meaningful names to your ports, as /dev/turtlebot, /dev/aduino, etc...

jorge gravatar image jorge  ( 2013-05-28 14:30:50 -0500 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools


Asked: 2011-07-30 14:26:49 -0500

Seen: 1,680 times

Last updated: Jan 12 '12