Skip to content

Commit 8fe1685

Browse files
authored
feat(autoware_overlay_rviz_plugin): get the current traffic light (#6899)
Signed-off-by: Maxime CLEMENT <maxime.clement@tier4.jp>
1 parent 00d8222 commit 8fe1685

File tree

4 files changed

+20
-21
lines changed

4 files changed

+20
-21
lines changed

common/autoware_overlay_rviz_plugin/autoware_overlay_rviz_plugin/include/signal_display.hpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ private Q_SLOTS:
102102
turn_signals_sub_;
103103
rclcpp::Subscription<autoware_auto_vehicle_msgs::msg::HazardLightsReport>::SharedPtr
104104
hazard_lights_sub_;
105-
rclcpp::Subscription<autoware_perception_msgs::msg::TrafficSignalArray>::SharedPtr traffic_sub_;
105+
rclcpp::Subscription<autoware_perception_msgs::msg::TrafficSignal>::SharedPtr traffic_sub_;
106106
rclcpp::Subscription<tier4_planning_msgs::msg::VelocityLimit>::SharedPtr speed_limit_sub_;
107107

108108
std::mutex property_mutex_;
@@ -117,7 +117,7 @@ private Q_SLOTS:
117117
const autoware_auto_vehicle_msgs::msg::HazardLightsReport::ConstSharedPtr & msg);
118118
void updateSpeedLimitData(const tier4_planning_msgs::msg::VelocityLimit::ConstSharedPtr msg);
119119
void updateTrafficLightData(
120-
const autoware_perception_msgs::msg::TrafficSignalArray::ConstSharedPtr msg);
120+
const autoware_perception_msgs::msg::TrafficSignal::ConstSharedPtr msg);
121121
void drawWidget(QImage & hud);
122122
};
123123
} // namespace autoware_overlay_rviz_plugin

common/autoware_overlay_rviz_plugin/autoware_overlay_rviz_plugin/include/traffic_display.hpp

+2-3
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424
#include <rviz_common/ros_topic_display.hpp>
2525

2626
#include <autoware_perception_msgs/msg/traffic_signal.hpp>
27-
#include <autoware_perception_msgs/msg/traffic_signal_array.hpp>
2827
#include <autoware_perception_msgs/msg/traffic_signal_element.hpp>
2928

3029
#include <OgreColourValue.h>
@@ -40,8 +39,8 @@ class TrafficDisplay
4039
TrafficDisplay();
4140
void drawTrafficLightIndicator(QPainter & painter, const QRectF & backgroundRect);
4241
void updateTrafficLightData(
43-
const autoware_perception_msgs::msg::TrafficSignalArray::ConstSharedPtr & msg);
44-
autoware_perception_msgs::msg::TrafficSignalArray current_traffic_;
42+
const autoware_perception_msgs::msg::TrafficSignal::ConstSharedPtr & msg);
43+
autoware_perception_msgs::msg::TrafficSignal current_traffic_;
4544

4645
private:
4746
QImage traffic_light_image_;

common/autoware_overlay_rviz_plugin/autoware_overlay_rviz_plugin/src/signal_display.cpp

+13-13
Original file line numberDiff line numberDiff line change
@@ -111,8 +111,9 @@ void SignalDisplay::onInitialize()
111111
speed_limit_topic_property_->initialize(rviz_ros_node);
112112

113113
traffic_topic_property_ = std::make_unique<rviz_common::properties::RosTopicProperty>(
114-
"Traffic Topic", "/perception/traffic_light_recognition/traffic_signals",
115-
"autoware_perception/msgs/msg/TrafficSignalArray", "Topic for Traffic Light Data", this,
114+
"Traffic Topic",
115+
"/planning/scenario_planning/lane_driving/behavior_planning/debug/traffic_signal",
116+
"autoware_perception/msgs/msg/TrafficSignal", "Topic for Traffic Light Data", this,
116117
SLOT(topic_updated_traffic()));
117118
traffic_topic_property_->initialize(rviz_ros_node);
118119
}
@@ -159,10 +160,10 @@ void SignalDisplay::setupRosSubscriptions()
159160
updateHazardLightsData(msg);
160161
});
161162

162-
traffic_sub_ = rviz_node_->create_subscription<autoware_perception_msgs::msg::TrafficSignalArray>(
163+
traffic_sub_ = rviz_node_->create_subscription<autoware_perception_msgs::msg::TrafficSignal>(
163164
traffic_topic_property_->getTopicStd(),
164165
rclcpp::QoS(rclcpp::KeepLast(10)).durability_volatile().reliable(),
165-
[this](const autoware_perception_msgs::msg::TrafficSignalArray::SharedPtr msg) {
166+
[this](const autoware_perception_msgs::msg::TrafficSignal::SharedPtr msg) {
166167
updateTrafficLightData(msg);
167168
});
168169

@@ -237,7 +238,7 @@ void SignalDisplay::onDisable()
237238
}
238239

239240
void SignalDisplay::updateTrafficLightData(
240-
const autoware_perception_msgs::msg::TrafficSignalArray::ConstSharedPtr msg)
241+
const autoware_perception_msgs::msg::TrafficSignal::ConstSharedPtr msg)
241242
{
242243
std::lock_guard<std::mutex> lock(property_mutex_);
243244

@@ -506,14 +507,13 @@ void SignalDisplay::topic_updated_traffic()
506507
// resubscribe to the topic
507508
traffic_sub_.reset();
508509
auto rviz_ros_node = context_->getRosNodeAbstraction().lock();
509-
traffic_sub_ =
510-
rviz_ros_node->get_raw_node()
511-
->create_subscription<autoware_perception_msgs::msg::TrafficSignalArray>(
512-
traffic_topic_property_->getTopicStd(),
513-
rclcpp::QoS(rclcpp::KeepLast(10)).durability_volatile().reliable(),
514-
[this](const autoware_perception_msgs::msg::TrafficSignalArray::SharedPtr msg) {
515-
updateTrafficLightData(msg);
516-
});
510+
traffic_sub_ = rviz_ros_node->get_raw_node()
511+
->create_subscription<autoware_perception_msgs::msg::TrafficSignal>(
512+
traffic_topic_property_->getTopicStd(),
513+
rclcpp::QoS(rclcpp::KeepLast(10)).durability_volatile().reliable(),
514+
[this](const autoware_perception_msgs::msg::TrafficSignal::SharedPtr msg) {
515+
updateTrafficLightData(msg);
516+
});
517517
}
518518

519519
} // namespace autoware_overlay_rviz_plugin

common/autoware_overlay_rviz_plugin/autoware_overlay_rviz_plugin/src/traffic_display.cpp

+3-3
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ TrafficDisplay::TrafficDisplay()
4848
}
4949

5050
void TrafficDisplay::updateTrafficLightData(
51-
const autoware_perception_msgs::msg::TrafficSignalArray::ConstSharedPtr & msg)
51+
const autoware_perception_msgs::msg::TrafficSignal::ConstSharedPtr & msg)
5252
{
5353
current_traffic_ = *msg;
5454
}
@@ -70,8 +70,8 @@ void TrafficDisplay::drawTrafficLightIndicator(QPainter & painter, const QRectF
7070
backgroundRect.top() + circleRect.height() + 30));
7171
painter.drawEllipse(circleRect);
7272

73-
if (!current_traffic_.signals.empty()) {
74-
switch (current_traffic_.signals[0].elements[0].color) {
73+
if (!current_traffic_.elements.empty()) {
74+
switch (current_traffic_.elements[0].color) {
7575
case 1:
7676
painter.setBrush(QBrush(tl_red_));
7777
painter.drawEllipse(circleRect);

0 commit comments

Comments
 (0)