ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

turtlebot Failed to open port /dev/ttyUSB0

asked 2013-05-29 20:04:25 -0500

Sentinal_Bias gravatar image

updated 2013-06-05 01:57:47 -0500

Hi

I am using a USB to serial (TTL logic level) FDTI cable to connect to the robot-icreate. I have checked the cable using minicom first using a loopback test and then i connected it to the create and when i turned it on i received some messages which were not gibberish.

I have looked at other forum post and tried what they suggested but nothing seems to work. When i try and launch turtlebot_bringup minimal.launch

it complains that it cannot connect to /dev/ttyUSBO. I used the same cable on my friends computer and it connects to the turtlebot

Ubantu12.04 fuerte 64bit
lsusb:
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 003 Device 002: ID 045e:0084 Microsoft Corp. Basic Optical Mouse
Bus 001 Device 005: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC

edit i have tested my system with the following drivers http://www.ros.org/wiki/irobot_create_2_1 (which work) however the turtlebot mimal.launch file does not work

ATTRS{idProduct}=="6001",ATTRS{idVendor}=="0403",MODE="666",GROUP="dialout"

in /etc/udev/rules.d/52-turtlebot.rules

edit retag flag offensive close merge delete

Comments

Did u change the permission for /dev/ttyUSB0??

ayush_dewan gravatar image ayush_dewan  ( 2013-05-29 20:24:44 -0500 )edit

hi shade yea i did change the permissions for the ttyUSB0, wats more is that i used this driver http://www.ros.org/wiki/irobot_create_2_1 and i could move the create around, however the turtelbot mimal.launch does not work stil... i suspect there is something wrong with the launch file its 666

Sentinal_Bias gravatar image Sentinal_Bias  ( 2013-05-29 21:45:40 -0500 )edit

i had a similar problem with p2os. are you in the dialout group? useradd -G dialout $USER

goetz.marc gravatar image goetz.marc  ( 2013-05-29 22:18:27 -0500 )edit

I have used turtlebot and used this package http://ros.org/wiki/Robots/TurtleBot

ayush_dewan gravatar image ayush_dewan  ( 2013-05-29 22:45:26 -0500 )edit

same i was trying to use http://ros.org/wiki/Robots/TurtleBot, however it wasn't working, the driver i am using is just for the create1, so i suspect that for some reason the offical turtlebot driver cant figure out which version of the create i am using. Yep also i am in the dialoutgroup and admin

Sentinal_Bias gravatar image Sentinal_Bias  ( 2013-05-29 23:25:42 -0500 )edit

I followed the following post http://answers.ros.org/question/46790/failed-to-open-port-devttyusb0/ i added the following udev rule ATTRS{idProduct}=="6001",ATTRS{idVendor}=="0403",MODE="666",GROUP="dialout" in /etc/udev/rules.d/52-turtlebot.rules also the output of ls -la /dev/ttyUSB* is crw-rw-rw

Sentinal_Bias gravatar image Sentinal_Bias  ( 2013-06-04 22:47:57 -0500 )edit

so i use turtlebot like this : 1:su 2:service turtlebot stop 3:roslaunch turtlebot_bringup mini 4:ok . you can try .

longzhixi123 gravatar image longzhixi123  ( 2013-07-02 15:01:45 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted
1

answered 2013-07-02 11:50:58 -0500

jnugen gravatar image

updated 2013-07-02 15:44:52 -0500

I was having the same problem. I tracked it down to a "bug" in the 'turtlebot_create/create_driver/src/create_driver.py' file. On line 213 the code tries to open the serial port, but throws an exception because the port is already open from the previous line. This exception is caught by the higher level code in 'turtlebot_create/create_node/nodes/turtlebot_node.py' line 119.

This "bug" is a little odd. It will cause a failure every time! My guess is something has changed in the newer versions of 'pySerial' since this code was originally written.

My quick fix was to comment out line 213 in 'create_driver.py'. Perhaps a better solution would be to fix the exception handler at the higher level. Or maybe line 213 just isn't necessary anymore?


I forgot to mention that I'm using pySerial-2.6.

I did a little more digging and according to CHANGES.txt, the new exception was added in version 2.6. So if you are running an older version of pySerial, it won't bother you yet.

edit flag offensive delete link more

Comments

I had changed the group to "dialout" but was still getting the error. Your answer then fixed the problem. The port is indeed opened twice ! I wondered if someone submitted a patch.

pierrelux gravatar image pierrelux  ( 2014-07-04 15:30:07 -0500 )edit

i'm having trouble finding create_driver.py file. i navigated to the turtlbot directory and only found file package.xml

is the turtlebot_create directory somewhere else?

jlzizmor gravatar image jlzizmor  ( 2015-06-19 09:54:31 -0500 )edit

Question Tools

Stats

Asked: 2013-05-29 20:04:25 -0500

Seen: 1,894 times

Last updated: Jul 02 '13