@@ -77,10 +77,7 @@ struct PlannerData
77
77
double ego_nearest_yaw_threshold;
78
78
79
79
// other internal data
80
- // traffic_light_id_map_raw is the raw observation, while traffic_light_id_map_keep_last keeps the
81
- // last observed infomation for UNKNOWN
82
- std::map<lanelet::Id, TrafficSignalStamped> traffic_light_id_map_raw_;
83
- std::map<lanelet::Id, TrafficSignalStamped> traffic_light_id_map_last_observed_;
80
+ std::map<lanelet::Id, TrafficSignalStamped> traffic_light_id_map;
84
81
std::optional<tier4_planning_msgs::msg::VelocityLimit> external_velocity_limit;
85
82
std::map<int , TrafficSignalTimeToRedStamped> traffic_light_time_to_red_id_map;
86
83
tier4_v2x_msgs::msg::VirtualTrafficLightStateArray::ConstSharedPtr virtual_traffic_light_states;
@@ -139,15 +136,12 @@ struct PlannerData
139
136
*@brief queries the traffic signal information of given Id. if keep_last_observation = true,
140
137
*recent UNKNOWN observation is overwritten as the last non-UNKNOWN observation
141
138
*/
142
- std::optional<TrafficSignalStamped> getTrafficSignal (
143
- const lanelet::Id id, const bool keep_last_observation = false ) const
139
+ std::shared_ptr<TrafficSignalStamped> getTrafficSignal (const lanelet::Id id) const
144
140
{
145
- const auto & traffic_light_id_map =
146
- keep_last_observation ? traffic_light_id_map_last_observed_ : traffic_light_id_map_raw_;
147
141
if (traffic_light_id_map.count (id) == 0 ) {
148
- return std::nullopt ;
142
+ return {} ;
149
143
}
150
- return std::make_optional <TrafficSignalStamped>(traffic_light_id_map.at (id));
144
+ return std::make_shared <TrafficSignalStamped>(traffic_light_id_map.at (id));
151
145
}
152
146
153
147
std::optional<TrafficSignalTimeToRedStamped> getRestTimeToRedSignal (const int id) const
0 commit comments