iRobot Create and BeagleBoard "Failed to open port /dev/ttyUSB0" [closed]

asked 2012-08-07 23:06:16 -0500

venzlav gravatar image

updated 2014-01-28 17:13:16 -0500

ngrennan gravatar image

Hello,

I am trying to launch iRobot Create using BeagleBoard xM revC with Ubuntu ARM installed. I downloaded sources of turtlebot stack, fulfilled all needed dependencies for turtlebot_node package and rosmade it. After I run command rosrun turtlebot_node turtlebot_node.py i get following output:

ubuntu@omap:~$ rosrun turtlebot_node turtlebot_node.py 
/home/ubuntu/ros/turtlebot/turtlebot_node/nodes/turtlebot_node.py:54: UserWarning: roslib.rosenv is deprecated, please use rospkg or rosgraph.rosenv
  import roslib.rosenv
[INFO] [WallTime: 1344413441.546115] serial port: /dev/ttyUSB0
[INFO] [WallTime: 1344413441.554904] update_rate: 30.0
[INFO] [WallTime: 1344413441.560733] drive mode: twist
[INFO] [WallTime: 1344413441.566837] has gyro: True
[INFO] [WallTime: 1344413441.918765] self.gyro_measurement_range 150.000000
[INFO] [WallTime: 1344413441.924991] self.gyro_scale_correction 1.350000
[ERROR] [WallTime: 1344413445.109409] Failed to open port /dev/ttyUSB0.  Please make sure the Create cable is plugged into the computer.

My USB-serial cable seems to work fine. Here's output of lsusb:

ubuntu@omap:~$ 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 001 Device 002: ID 0424:9514 Standard Microsystems Corp. 
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. 
Bus 001 Device 004: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter
Bus 001 Device 005: ID 0cf3:1006 Atheros Communications, Inc. TP-Link TL-WN322G v3 / TL-WN422G v2 802.11g [Atheros AR9271]

I tried solution presented here. My rule line was:

ATTRS{idProduct}=="7523",ATTRS{idVendor}=="1a86",MODE="666",GROUP="turtlebot"

I created group turtlebot, added user ubuntu to it and restarted udev. After ls -la /dev/ttyU* i get following:

ubuntu@omap:~$ ls -la /dev/ttyU*
crw-rw-rw- 1 root turtlebot 188, 0 Dec 31  1969 /dev/ttyUSB0

So the permissions should be fine. I tried minicom to check if I get anything from Create, and some trash pops out on the screen, so data is transfered through the USB-Serial port (what's more, the fact that I can use minicom without sudo prefix indicates that permission to use ttyUSB0 port is granted to user ubuntu). Cables seems to be fine as well, because i can easily connect to Create from my laptop (after proper permissions change).

I would greatly appreciate any help.

EDIT: I properly set serial port properties (baud rate 57600 8N1, no flow control) and was able to receive clear output from my Create. So the system properties (permissions and stuff) are set correctly. I suppose there has to be something wrong with the package itself.

edit retag flag offensive reopen merge delete

Closed for the following reason question is not relevant or outdated by tfoote
close date 2015-04-05 20:43:30.062455

Comments

You say you get trash through the serial port in minicom? During charging (in default, start-up Passive mode), you should be getting clear, regularly repeating battery status messages - something like: "bat: min 124 sec 24 mV 15864 mA -85 deg-C 43". Do you get that in minicom?

rlinsalata gravatar image rlinsalata  ( 2012-08-11 20:46:03 -0500 )edit

I can't do that, because i don't have batteries in my Create. I am powering it from DC power supplier (for now at least). Beside that, the minicom example was brought up to show, that there is a communication between Create and BeagleBoard and there still isn't any when turtlebot_node is launched.

venzlav gravatar image venzlav  ( 2012-08-23 23:01:38 -0500 )edit