Md5sum mismatch with customized message under rosjava and roscpp enviroment
I create two different Project on different workspace. One is idfa_msgs/GDXBoxesMessage
under Rosjava 0.2.. The other is obstacle_detection/GDXBoxMessage
under Roscpp. They communicate good if using default message like, std_msg, sensor_msg. However, when establishing the connection using customized message, the error pops up like following.
[ERROR] [1617170692.958476152]: Client [/GPUPlanarRegionSubscriber] wants topic /box to have datatype/md5sum [idfa_msgs/GDXBoxesMessage/d41d8cd98f00b204e9800998ecf8427e], but our version has [obstacle_detection/GDXBoxMessage/bbc122c887def5dd8eda16d81d7d1109]. Dropping connection."
The message GDXBoxMessage.msg
is simple as following:
float64 x_min
float64 y_min
float64 z_min
float64 x_max
float64 y_max
float64 z_max
It looks like
idfa_msgs/GDXBoxesMessage
is not the same package (and thus message) asobstacle_detection/GDXBoxMessage
.Is there a reason you're trying to use two different messages?
idfa_msgs and obstacle-detection are different project. Is there any way to change the package type regardless its project name?
Does the project name matter? Isn't it all about the message types?
There is no requirement for message packages to be named after a project.
Perhaps you have that requirement internally, that I wouldn't know, but there is no best practice in ROS about this.
Package names should be descriptive of their contents. Not necessarily be named after a project.
And an observation: a node called
GPUPlanarRegionSubscriber
wants to use a message calledGDXBoxMessage
, which contains 2 sets of 3 coordinates and seems to describe a box (a bounding box?). Isn't planar 2D?The problem is that I have different message types send and receive on the same topic. Even if they have the same contents they are considered different types.
Have java expect the lidar_obstacle_detection/gdxboxesmessage, have the c++ ros node use the java message, or create another node that subscribers to one and published the other. But I dont know how to do either of these