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

Rosserial UNO lost sync

asked 2012-01-15 11:28:07 -0500

this post is marked as community wiki

This post is a wiki. Anyone with karma >75 is welcome to improve it.

Hi, I seem to be having alot of problems using my arduino's to interface with ROS.. I first tried with a duemilanove which worked for the tutorials but seemed to have problems with buffer size or something on my own sketch(losing sync)..

Then I tried a Mega that I have and that solved my lost sync issues but for some reason when it would run for awhile(I have setup the navigation stack) it would crash saying the rosserial process has died.. Frustrated with that I thought I would try a UNO that I had recently purchased in case it was more stable.. Unfortunately with that one I am back to the lost sync issue and nothing I can do will allow it to work.. I have set it up to use 115200, 57600, etc and no joy.. This is just for the hello world tutorial..

BTW I am running Electric on 10.11 Ubuntu, all are just standard installs..

edit retag flag offensive close merge delete

Comments

How do you have the navigation stack set up? Most of the arduinos don't have enough memory to publish a full nav_msgs/Odometry . See: http://answers.ros.org/question/3512/arduino-rosserial-noslow-communication for a more detailed discussion.
ahendrix gravatar image ahendrix  ( 2012-01-15 12:52:52 -0500 )edit
I actually wrote that question as well.. Anyway I am also sending simple odometry back through a custom msgs.. From everything I can find on arduino the serial buffer is the same on both the UNO and the MEGA so with that said why can't I run the same sketch that is working on a MEGA on UNO?
dallaby gravatar image dallaby  ( 2012-01-17 02:55:21 -0500 )edit

Hey @ahendrix, I'm using the UNO and keep getting a "lost sync..." message when I try to connect it to ROS using rosserial; can you elaborate on what extra steps need to be taken to make a /dev/ttyACMx connection work?

asriraman93 gravatar image asriraman93  ( 2013-07-17 18:03:54 -0500 )edit

3 Answers

Sort by » oldest newest most voted
0

answered 2012-01-17 03:17:18 -0500

ahendrix gravatar image
The UNO uses a different USB to serial converter; it shows up as /dev/ttyACM<X> instead of /dev/ttyUSB<X>, and you have to specify this to the rosserial node with the port parameter. If you already have that figured out, you should probably post your code (if you're allowed to).
edit flag offensive delete link more
0

answered 2012-03-27 10:32:25 -0500

this post is marked as community wiki

This post is a wiki. Anyone with karma >75 is welcome to improve it.

Answered in comments by @ahendrix

edit flag offensive delete link more
2

answered 2013-07-17 19:28:32 -0500

this post is marked as community wiki

This post is a wiki. Anyone with karma >75 is welcome to improve it.

Some of the newer Arduinos, including the UNO, show up as a /dev/ttyACM<x> device instead of /dev/ttyUSB<x>. You can set which port rosserial uses to connect to your arduino by setting the port parameter.

For example:

rosrun rosserial_python serial_node.py _port:=/dev/ttyACM0 _baud:=57600

Or, in a launch file:

<node pkg="rosserial_python" type="serial_node.py" name="serial_node">
    <param name="port" value="/dev/ttyACM0" />
    <param name="baud" value="57600" />
</node>
edit flag offensive delete link more

Comments

This don't work for me

أسامة الادريسي gravatar image أسامة الادريسي  ( 2017-11-04 02:24:02 -0500 )edit

Question Tools

Stats

Asked: 2012-01-15 11:28:07 -0500

Seen: 3,027 times

Last updated: Jul 17 '13