diff --git a/rmf_visualization_rviz2_plugins/src/DoorPanel.cpp b/rmf_visualization_rviz2_plugins/src/DoorPanel.cpp index cc88140..f56708b 100644 --- a/rmf_visualization_rviz2_plugins/src/DoorPanel.cpp +++ b/rmf_visualization_rviz2_plugins/src/DoorPanel.cpp @@ -30,9 +30,11 @@ DoorPanel::DoorPanel(QWidget* parent) : rviz_common::Panel(parent), _requester_id(DoorPanelRequesterId) { + const auto default_qos = + rclcpp::SystemDefaultsQoS().durability_volatile().keep_last(100).reliable(); _node = std::make_shared(_requester_id + "_node"); _door_state_sub = _node->create_subscription( - DoorStateTopicName, 10, [&](DoorState::UniquePtr msg) + DoorStateTopicName, default_qos, [&](DoorState::UniquePtr msg) { door_state_callback(std::move(msg)); }); diff --git a/rmf_visualization_rviz2_plugins/src/LiftPanel.cpp b/rmf_visualization_rviz2_plugins/src/LiftPanel.cpp index 7779c17..1fe8a4d 100644 --- a/rmf_visualization_rviz2_plugins/src/LiftPanel.cpp +++ b/rmf_visualization_rviz2_plugins/src/LiftPanel.cpp @@ -30,16 +30,20 @@ LiftPanel::LiftPanel(QWidget* parent) : rviz_common::Panel(parent), _session_id(LiftPanelSessionId) { + const auto default_qos = + rclcpp::SystemDefaultsQoS().durability_volatile().keep_last(100).reliable(); + const auto transient_qos = + rclcpp::SystemDefaultsQoS().transient_local().keep_last(100).reliable(); _node = std::make_shared(_session_id + "_node"); _lift_state_sub = _node->create_subscription( - LiftStateTopicName, 10, [&](LiftState::UniquePtr msg) + LiftStateTopicName, default_qos, [&](LiftState::UniquePtr msg) { lift_state_callback(std::move(msg)); }); _lift_request_pub = _node->create_publisher( - LiftRequestTopicName, rclcpp::QoS(10)); + LiftRequestTopicName, transient_qos); _adapter_lift_request_pub = _node->create_publisher( - AdapterLiftRequestTopicName, rclcpp::QoS(10)); + AdapterLiftRequestTopicName, transient_qos); create_layout(); create_connections();