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

Bluetooth communication problem with arduino over rosserial_arduino and rosserial_python

asked 2014-03-27 00:34:06 -0500

Tones gravatar image

updated 2014-03-27 00:37:55 -0500

Hi,

I am using an Arduino Uno in combination with a Sparkfun Bluetooth Mate Gold modem to interface with my ROS hydro framework running on a host. The communication is established with the rosserial_python node on the host and the rosserial_arduino code uploaded to the Arduino. When I upload the blink_led example described in this tutorial, I get the following error after running the rosserial_python node on the host:

[ERROR] [WallTime: 1395914292.667126] Mismatched protocol version in packet: lost sync or rosserial_python is from different ros release than the rosserial client
[INFO] [WallTime: 1395914292.667822] Protocol version of client is unrecognized, expected Rev 1 (rosserial 0.5+)

The error is usually thrown after a few seconds, before the error is thrown everything works fine and I can blink the LED. I already tried the following measures without success:

  • Set a baudrate of 115200 instead of 57600 on the host side, the bluetooth modem and the Arduino UART.
  • Compile the rosserial code from source instead of using the latest debian binaries (results in a different error complaining about unexpected message lengths).
  • Recompile the ros_lib library in the Arduino sketchbook.
  • Increase the delay times in the Arduino code.
  • Remove all subscribers in the Arduino code and just init the node.

When I try to run the system over bluetooth, the modem is connected to the TX/RX pins of the arduino (TX to RX, RX to TX) and the USB cable removed. When I disconnect the bluetooth modem from the Arduino and connect the Arduino over a USB cable to the host, everything runs fine.

Can anyone help me with this issue?

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
0

answered 2014-04-09 05:25:02 -0500

Tones gravatar image

In the end, I used the serial_node of the rosserial_server package instead of rosserial_python. According to the ROS wiki, rosserial_server is currently in an experimental state and has restricted functionality, but it works fine for me.

edit flag offensive delete link more

Question Tools

1 follower

Stats

Asked: 2014-03-27 00:34:06 -0500

Seen: 1,577 times

Last updated: Apr 09 '14