Problem in bridging CORE2 to ROS network

asked 2020-05-06 22:20:32 -0500

updated 2020-05-06 22:24:01 -0500

Greetings to all fellow ROS answers members,

I am trying to familiarized myself with the usage of ROSbot 2.0 pro by following the ROS tutorials provided on the Husarion website.

While progressing through https://husarion.com/tutorials/ros-tu... I faced the following problem...

Troubled command

roslaunch rosbot_ekf all.launch rosbot_pro:=true

Error generated

Unable to sync with device; possible link problem or link software version mismatch such as hydro rosserial_python with groovy Arduino

I tried to solve this issue based on the following four approaches...


1st approach: Updates and upgrades

sudo apt-get update sudo apt-get upgrade

Results:

  • Spent about 10mins on the upgrade
  • Tried running the command that has issue, error still retains.

2nd approach: Update rosserial-python and rosserial-arduino

sudo apt-get install rosserial-kinetic-python sudo apt-get install rosserial-kinetic-arduino

Results:

  • no upgrades required for python, but there was one upgrade for arduino
  • Tried running the command that has issue, error still retains.

3rd approach: Ensure baud rate and serial port compatibility

Based on the command which triggered the error, looking into the "all.launch" file from the "rosbot_ekf" package.

serial_port value="/dev/ttyS4" serial_baudrate value="460800"

Looking into the "arduinoHardware.h" file from the "rosserial-arduino" package. It was noticed that their baud rate was indeed different.

ArduinoHardware(SERIAL_CLASS* io , long baud= 57600)

baud_ = 57600;

Since the error mention the possible mismatch of rosserial-python, I went to analyze the "serial_note.py" file from the "rosserial-python" package. But I believed these parameters will ultimately get overwritten by the "all.launch" file with its inputted values.

port_name = rospy.get_param('~port','/dev/ttyUSB0') baud = int(rospy.get_param('~baud','57600'))

.. Procedure A Edit the "arduinoHardware.h" file to match according to the "all.launch" file baud rate values

sudo nano arduinoHardware.h

Results: Tried running the command that has issue, error still retains.

.. Procedure B Edit the "all.launch" file to match according to the "arduinoHardware.h" file baud rate values

nano all.launch

Results: Tried running the command that has issue, error still retains.

(p.s. Perhaps I missed out a mundane step for both A and B. I understand sometimes you need to do a catkin_make? )


4th approach: Ensure serial port is in the correct baud rate

This command checks the baud rate of the serial port

stty -F /dev/ttyS4

This command sets the baud rate for the serial port

stty -F /dev/ttyS4 57600

Results: Tried running the command that has issue, error still retains.


Conclusion After trying all these solutions, I think my case does not lie with the issue of baud rate or serial port compatibility, likely to be software version mismatch.

May I kindly know how can I further diagnose this error?

edit retag flag offensive close merge delete

Comments

You may want to contact the manufacturer or their issue trackers since it appears to be vendor specific

stevemacenski gravatar image stevemacenski  ( 2020-05-07 02:57:40 -0500 )edit

Hi stevemacenski,

Thank you for the suggestion.I manged to contact the vendor about it.

They concluded its likely my robot was not up to date and requires a re-installation of its image.

onezerofive gravatar image onezerofive  ( 2020-05-08 06:38:32 -0500 )edit