publisher与subscriber话题的消息类型md5sum不一致问题

时间:2024-04-08 12:40:23

[ERROR] [1604235557.591296096]: Client [/range_vision_fusion_01] wants topic /detection/vision_objects to have datatype/md5sum [autoware_msgs/DetectedObjectArray/13415342e539aa36ea9a6f04ffaf39b4], but our version has [autoware_msgs/DetectedObjectArray/c16aecef51c24c6808480a0295e47806]. Dropping connection.

原因:publisher和subscriber虽然话题消息的类型autoware_msgs/DetectedObjectArray,但是由于使用的头文件不同,对同一消息类型的定义版本不同,即md5码不同。
publisher使用的autoware_msgs/DetectedObjectArray/opt/ros/melodic/include/autoware_msgs/DetectedObjectArray.h标准库头文件中定义,md5码如下:
publisher与subscriber话题的消息类型md5sum不一致问题
subscriber使用的autoware_msgs/DetectedObjectArray是在catkin_make编译时在/devel/include/autoware_msgs/DetectedObjectArray.h中定义,且.cpp代码文件包含该.h头文件时用的是双引号include "autoware_msgs/DetectedObjectArray.h"md5码如下:
publisher与subscriber话题的消息类型md5sum不一致问题
在执行完catkin_make后,将devel/include/autoware_msgs/DetectedObjectArray.h中的md5码改成与publisher相同即可。

  • 还有一种思路是:在.cpp文件中,将#include "DetectedObjectArray.h"改为#include <DetectedObjectArray.h>,有待验证