rosserial icon indicating copy to clipboard operation
rosserial copied to clipboard

rosserial_server: Never establishes connection

Open raabuchanan opened this issue 6 years ago • 10 comments

When I run the following command in terminal: rosrun rosserial_server serial_node _port:=/dev/ttyACM0 _baud:=57600

I get repeated messages:

[ INFO] [1549038775.675072157]: Opened /dev/ttyACM0
[ INFO] [1549038777.676201954]: Opened /dev/ttyACM0
[ INFO] [1549038779.677131650]: Opened /dev/ttyACM0
[ INFO] [1549038781.677761948]: Opened /dev/ttyACM0

But I never see the topics the Arduino is supposed to be advertising. It's as if it can't establish a connection. I am also running message_info_service.py. It works if I use rosserial_python with the exact same parameters but I want to switch to the supposedly more stable rosserial_server.

Ubuntu 16.04 + Kinetic + Arduino Uno

raabuchanan avatar Feb 01 '19 16:02 raabuchanan

Same issue with 18.04 + Melodic + Arduino Uno

doisyg avatar Feb 12 '19 22:02 doisyg

Same Ubuntu 18.04.2 LTS + STM32L4

Looks like the checksum never passes. Have you guys investigated further?

andre-nguyen avatar Mar 11 '19 18:03 andre-nguyen

I have the same problem with 16.04 + Kinetic + Arduino Mega 2560. Have you guys found any workaround? I already tried to build from source but the problem is the same.

tuandle avatar May 07 '19 14:05 tuandle

Never managed to figure it out and ended up using the Python version. Still a mystery to me.

andre-nguyen avatar May 07 '19 15:05 andre-nguyen

Like @andre-nguyen I gave up trying to find a fix and used the Python version.

raabuchanan avatar May 08 '19 07:05 raabuchanan

same issue here with 18.04 ros melodic and arduino uno. could it be the cables?

hamma95 avatar May 28 '19 16:05 hamma95

Usaually, when I have the issue, either there is an issue with the connection cables or the firmware has crashed and do not call nh.spinOnce() fast enough.

romainreignier avatar May 31 '19 10:05 romainreignier

the same code works fine with rosserial python though, and with the socket node of rosserial server. as for the cables the cable works with rosserial python too. i really want to switch to rosserial server tho because its (supposedly) more robust and less prone to errors

hamma95 avatar Jun 03 '19 01:06 hamma95

I have the same problem as well. Did anyone ever figure it out?

jsseng avatar Mar 23 '20 13:03 jsseng

try to launch the node server twice :

rosrun rosserial_server serial_node _port:=/dev/ttyACM0 &
rosrun rosserial_server serial_node _port:=/dev/ttyACM0 

works for me !

or use

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

At this time, rosserial_server is experimental. It is missing key features of the rosserial_python-provided node, including parameters, logging, and services. If you require these features, please stick to the standard Python server for now.

Jenifen avatar Sep 22 '20 19:09 Jenifen