Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

It looks like the QoS settings on the publisher and subscriber are incompatible. Change the QoS settings on either the publisher or the listener to match. See the page About Quality of Service Settings for more info.

The C++ publisher is using rclcpp::SensorDataQoS(), which uses the sensor data QoS profile. The Python subscriber is just specifying the queue size, which means it uses the default profile with the given queue size of 10. The incompatibility comes from the reliability setting. The sensor data profile specifies best effort while the default profile uses reliable. According to the QoS compatibilities table, a subscriber requiring reliable will not connect to a publisher providing only best effort reliability.