Creation of publisher failed: Checksum does not match

Hi,

I try to run teleop on the robot as per tutorial. The first command is:
husarion@cseerosbot2:~$ roslaunch rosbot_ekf all.launch rosbot_pro:=true

It seems to start okay but then I get error messages included in the output:
[ERROR] [1632755668.645076]: Creation of publisher failed: Checksum does not match: 4ddae7f048e32fda22cac764685e3974,476f837fa6771f6e16e3bf4ef96f8770

[ERROR] [1632755668.898367]: Tried to publish before configured, topic id 126

[ERROR] [1632755668.945394]: Creation of publisher failed: Checksum does not match: 4ddae7f048e32fda22cac764685e3974,476f837fa6771f6e16e3bf4ef96f8770

Do you have any suggestions to how to fix these error messages?

Thank you,
Jon.

Hi Jon
is it one of those rosbots that have a problem with firmware? Because this error means that message type that this particular topic uses is different in rosbot_ekf package and in firmware. So can you flash firmware and then try again?

Kind regards
Karol Konkol
Husarion Team

Hi Karol,

I can confirm this issue was on a ROSbot that does not have the other firmware issue. I think we retried firmware flash and it was the same, but I am not 100% sure, so we will try again and I let you know.

Thank you and kind regards,
Jon.

Hi Karol,

We reflashed firmware. We try:
roslaunch rosbot_ekf all.launch rosbot_pro:=true

and we get same result:

husarion@husarion:~$ roslaunch rosbot_ekf all.launch rosbot_pro:=true
... logging to /home/husarion/.ros/log/c0f07eac-2100-11ec-9343-17074481753a/roslaunch-husarion-1518.log
Checking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://husarion:33843/

SUMMARY
========

CLEAR PARAMETERS
 * /rosbot_ekf/

PARAMETERS
 * /rosbot_ekf/acceleration_gains: [0.8, 0.0, 0.0, 0...
 * /rosbot_ekf/acceleration_limits: [1.3, 0.0, 0.0, 0...
 * /rosbot_ekf/base_link_frame: base_link
 * /rosbot_ekf/control_config: [True, False, Fal...
 * /rosbot_ekf/control_timeout: 0.2
 * /rosbot_ekf/debug: False
 * /rosbot_ekf/debug_out_file: /path/to/debug/fi...
 * /rosbot_ekf/deceleration_gains: [1.0, 0.0, 0.0, 0...
 * /rosbot_ekf/deceleration_limits: [1.3, 0.0, 0.0, 0...
 * /rosbot_ekf/frequency: 20
 * /rosbot_ekf/imu0: imu
 * /rosbot_ekf/imu0_config: [False, False, Fa...
 * /rosbot_ekf/imu0_differential: True
 * /rosbot_ekf/imu0_linear_acceleration_rejection_threshold: 0.8
 * /rosbot_ekf/imu0_nodelay: False
 * /rosbot_ekf/imu0_pose_rejection_threshold: 0.8
 * /rosbot_ekf/imu0_queue_size: 4
 * /rosbot_ekf/imu0_relative: True
 * /rosbot_ekf/imu0_remove_gravitational_acceleration: True
 * /rosbot_ekf/imu0_twist_rejection_threshold: 0.8
 * /rosbot_ekf/initial_estimate_covariance: ['1e-9', 0, 0, 0,...
 * /rosbot_ekf/map_frame: map
 * /rosbot_ekf/odom0: odom/wheel
 * /rosbot_ekf/odom0_config: [True, True, True...
 * /rosbot_ekf/odom0_differential: False
 * /rosbot_ekf/odom0_nodelay: False
 * /rosbot_ekf/odom0_queue_size: 6
 * /rosbot_ekf/odom0_relative: True
 * /rosbot_ekf/odom_frame: odom
 * /rosbot_ekf/print_diagnostics: True
 * /rosbot_ekf/process_noise_covariance: [0.05, 0, 0, 0, 0...
 * /rosbot_ekf/publish_acceleration: False
 * /rosbot_ekf/publish_tf: True
 * /rosbot_ekf/sensor_timeout: 0.2
 * /rosbot_ekf/stamped_control: False
 * /rosbot_ekf/transform_time_offset: 0.0
 * /rosbot_ekf/transform_timeout: 0.0
 * /rosbot_ekf/two_d_mode: False
 * /rosbot_ekf/use_control: True
 * /rosbot_ekf/world_frame: odom
 * /rosdistro: noetic
 * /rosversion: 1.15.9
 * /serial_node/baud: 460800
 * /serial_node/port: /dev/ttyS4

NODES
  /
    imu_publisher (tf/static_transform_publisher)
    msgs_conversion (rosbot_ekf/msgs_conversion)
    rosbot_ekf (robot_localization/ekf_localization_node)
    serial_node (rosserial_python/serial_node.py)

auto-starting new master
process[master]: started with pid [1527]
ROS_MASTER_URI=http://husarion:11311

setting /run_id to c0f07eac-2100-11ec-9343-17074481753a
process[rosout-1]: started with pid [1538]
started core service [/rosout]
process[serial_node-2]: started with pid [1546]
process[msgs_conversion-3]: started with pid [1547]
process[rosbot_ekf-4]: started with pid [1548]
process[imu_publisher-5]: started with pid [1549]
[ WARN] [1632904769.427897060]: Both imu0_differential and imu0_relative were set to true. Using differential mode.
[INFO] [1632904770.076334]: ROS Serial Python Node
[INFO] [1632904770.099230]: Connecting to /dev/ttyS4 at 460800 baud
[INFO] [1632904772.221764]: Requesting topics...
[INFO] [1632904772.248077]: Note: publish buffer size is 512 bytes
[INFO] [1632904772.266140]: Setup service server on config [rosbot_ekf/Configuration]
[ERROR] [1632904772.340333]: Creation of publisher failed: Checksum does not match: 4ddae7f048e32fda22cac764685e3974,476f837fa6771f6e16e3bf4ef96f8770
[INFO] [1632904772.351462]: Setup publisher on pose [geometry_msgs/PoseStamped]
[INFO] [1632904772.365306]: Setup publisher on velocity [geometry_msgs/Twist]
[INFO] [1632904772.378802]: Setup publisher on range/fr [sensor_msgs/Range]
[INFO] [1632904772.399233]: Setup publisher on range/fl [sensor_msgs/Range]
[INFO] [1632904772.410311]: Setup publisher on range/rr [sensor_msgs/Range]
[INFO] [1632904772.431464]: Setup publisher on range/rl [sensor_msgs/Range]
[INFO] [1632904772.443555]: Setup publisher on joint_states [sensor_msgs/JointState]
[INFO] [1632904772.456642]: Setup publisher on mpu9250 [rosbot_ekf/Imu]
[INFO] [1632904772.469261]: Setup publisher on buttons [std_msgs/UInt8]
[INFO] [1632904772.477129]: Note: subscribe buffer size is 512 bytes
[INFO] [1632904772.494216]: Setup subscriber on cmd_vel [geometry_msgs/Twist]
[INFO] [1632904772.510925]: Setup subscriber on cmd_ser [std_msgs/UInt32]
[INFO] [1632904772.519504]:

 ______  _____  _____  _             _           __
 | ___ \|  _  |/  ___|| |           | |         / _|
 | |_/ /| | | |\ `--. | |__    ___  | |_       | |_ __      __
 |    / | | | | `--. \| '_ \  / _ \ | __|      |  _|\ \ /\ / /
 | |\ \ \ \_/ //\__/ /| |_) || (_) || |_       | |   \ V  V /
 \_| \_| \___/ \____/ |_.__/  \___/  \__|      |_|    \_/\_/

 Firmware version: 0.14.2


[INFO] [1632904772.527515]: Detected sensor: MPU9250

[ERROR] [1632904772.546194]: Tried to publish before configured, topic id 126
[INFO] [1632904772.553303]: Requesting topics...
[ERROR] [1632904772.582046]: Creation of publisher failed: Checksum does not match: 4ddae7f048e32fda22cac764685e3974,476f837fa6771f6e16e3bf4ef96f8770
[INFO] [1632904772.590553]: Setup publisher on pose [geometry_msgs/PoseStamped]
[INFO] [1632904772.599422]: Setup publisher on velocity [geometry_msgs/Twist]
[INFO] [1632904772.607296]: Setup publisher on range/fr [sensor_msgs/Range]
[INFO] [1632904772.615639]: Setup publisher on range/fl [sensor_msgs/Range]
[INFO] [1632904772.624648]: Setup publisher on range/rr [sensor_msgs/Range]
[INFO] [1632904772.632981]: Setup publisher on range/rl [sensor_msgs/Range]
[INFO] [1632904772.642650]: Setup publisher on joint_states [sensor_msgs/JointState]
[INFO] [1632904772.651718]: Setup publisher on mpu9250 [rosbot_ekf/Imu]
[INFO] [1632904772.661164]: Setup publisher on buttons [std_msgs/UInt8]
[ERROR] [1632904772.715105]: Tried to publish before configured, topic id 126
[INFO] [1632904772.721809]: Requesting topics...
[ERROR] [1632904772.748159]: Creation of publish

…and so on etc.

Do you have any update on this issue?

Just to add some information that may help others, we find that using the Husarion Ubuntu 20.04 ROS Foxy image does not have the same problem. However, we want to operate ROS Noetic on the robot not Foxy, so for us this problem seems to be with the CORE2 firmware, I hope a fix can be found soon.

Thank you and regards,
Jon.

How can we escalate this issue, please?

Do not worry, we abandon ROS1 and try to use ROS2 instead.