Monday, 31 August 2020

Running arduino board with ubuntu 18 and ros melodic

While trying to run arduino script using rosserial_python serial_node.py, I was getting following error:

[ERROR] [1598864453.982391]: Unable to sync with device; possible link problem or link software version mismatch such as hydro rosserial_python with groovy Arduino

The error was occuring because my rosmsg type was Float32MultiArray which contains an array inside it. Probably this leads to some buffer overflow in ros melodic which causes the error. Changing the rosmsg type to Point from Float32MultiArray solved the issue for me. 


Other things that helped in running arduino board with ubuntu and ros melodic were:

1) Make the usb port writable. Solution is provided at https://arduino.stackexchange.com/questions/21215/first-time-set-up-permission-denied-to-usb-port-ubuntu-14-04 

2) Make sure pubsub example in ros_lib is working. Solution is provided at https://answers.ros.org/question/360537/unknown-error-handler-name-rosmsg/

3) Only baud rate of 57600 worked with ros