0
$\begingroup$

Rosanswers logo

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..


Originally posted by dallaby23 on ROS Answers with karma: 1 on 2012-01-15

Post score: 1


Original comments

Comment by dallaby on 2012-01-17:
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?

Comment by ahendrix on 2012-01-15:
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.

Comment by asriraman93 on 2013-07-17:
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?

$\endgroup$

2 Answers 2

0
$\begingroup$

Rosanswers logo

The UNO uses a different USB to serial converter; it shows up as /dev/ttyACM instead of /dev/ttyUSB, 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).


Originally posted by ahendrix with karma: 47576 on 2012-01-17

This answer was ACCEPTED on the original site

Post score: 0

$\endgroup$
0
$\begingroup$

Rosanswers logo

Some of the newer Arduinos, including the UNO, show up as a /dev/ttyACM device instead of /dev/ttyUSB. 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>

Originally posted by ahendrix with karma: 47576 on 2013-07-17

This answer was NOT ACCEPTED on the original site

Post score: 2


Original comments

Comment by أسامة الادريسي on 2017-11-04:
This don't work for me

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.