iRobotEducation / create3_sim

ROS 2 Simulation for the iRobot® Create® 3 Educational Robot
BSD 3-Clause "New" or "Revised" License
106 stars 56 forks source link

Ignition bridge broken from PR #158 #163

Closed roni-kreinin closed 2 years ago

roni-kreinin commented 2 years ago

Describe the bug PR #158 changed the QoS of publishers to reliable, making it incompatible with ros_ign_bridge. See https://github.com/ignitionrobotics/ros_ign/blob/ros2/ros_ign_bridge/src/factory.hpp#:~:text=create_ros_subscriber for their ros subscriber implementation.

As a result, docking is no longer working in Ignition:

[pose_republisher_node-25] [WARN] [1647446984.467150926] [pose_republisher_node]: New subscription discovered on topic '/sim_ground_truth_pose', requesting incompatible QoS. No messages will be sent to it. Last incompatible policy: RELIABILITY_QOS_POLICY
[pose_republisher_node-25] [WARN] [1647446984.467293718] [pose_republisher_node]: New subscription discovered on topic '/sim_ground_truth_dock_pose', requesting incompatible QoS. No messages will be sent to it. Last incompatible policy: RELIABILITY_QOS_POLICY
[motion_control-20] [WARN] [1647446984.472496722] [motion_control]: New publisher discovered on topic '/sim_ground_truth_pose', offering incompatible QoS. No messages will be sent to it. Last incompatible policy: RELIABILITY_QOS_POLICY
[motion_control-20] [WARN] [1647446984.472579492] [motion_control]: New publisher discovered on topic '/sim_ground_truth_dock_pose', offering incompatible QoS. No messages will be sent to it. Last incompatible policy: RELIABILITY_QOS_POLICY
[sensors_node-26] [WARN] [1647446984.472978202] [sensors_node]: New subscription discovered on topic '/dock', requesting incompatible QoS. No messages will be sent to it. Last incompatible policy: RELIABILITY_QOS_POLICY
[robot_state-23] [WARN] [1647446984.479251147] [robot_state]: New publisher discovered on topic '/dock', offering incompatible QoS. No messages will be sent to it. Last incompatible policy: RELIABILITY_QOS_POLICY
[motion_control-20] [WARN] [1647446984.479496296] [motion_control]: New publisher discovered on topic '/dock', offering incompatible QoS. No messages will be sent to it. Last incompatible policy: RELIABILITY_QOS_POLICY

To Reproduce ros2 launch irobot_create_ignition_bringup create3_ignition.launch.py

alsora commented 2 years ago

Ok I see, the problem is that https://github.com/iRobotEducation/create3_sim/pull/158 didn't only change the publishers, but also the subscriptions.

It's ok to have reliable publishers, but we should have left subscriptions to be best effort.

roni-kreinin commented 2 years ago

You're right it is the subscriptions and not the publishers.

roni-kreinin commented 2 years ago

Do you want me to make a PR to fix this?

alsora commented 2 years ago

Sure, go ahead, thanks!