DiffBot is an autonomous 2wd differential drive robot using ROS Noetic on a Raspberry Pi 4 B. With its SLAMTEC Lidar and the ROS Control hardware interface it's capable of navigating in an environment using the ROS Navigation stack and making use of SLAM algorithms to create maps of unknown environments.
When using two publisher (pub_measured_joint_states_ and pub_encoders_ in the void diffbot::BaseController<TMotorController, TMotorDriver>::read() method, the following error can occur:
[ERROR] [1642866871.814281]: Mismatched protocol version in packet (b'\xff'): lost sync or rosserial_python is from different ros release than the rosserial client
[INFO] [1642867178.756300]: Protocol version of client is Rev 0 (rosserial 0.4 and earlier), expected Rev 1 (rosserial 0.5+)
and
[INFO] [1642867191.950343]: wrong checksum for topic id and msg
When using two publisher (
pub_measured_joint_states_
andpub_encoders_
in thevoid diffbot::BaseController<TMotorController, TMotorDriver>::read()
method, the following error can occur:and
Suggestions in this answer might help
Serial.print
and rosserialPossible other solutions:
ros::NodeHandle
number of publisher, subscriber and buffer input/output sizes explained in ros wiki