27#include <unordered_set>
30#include "modules/common_msgs/perception_msgs/traffic_light_detection.pb.h"
31#include "modules/common_msgs/planning_msgs/planning.pb.h"
44 static constexpr size_t kBufferSize = 40;
45 std::shared_ptr<OSLight> oslight_ =
nullptr;
46 std::shared_ptr<ObuLight> obu_light_ =
nullptr;
47 int intersection_id_ = -1;
48 double change_color_timestamp_ = 0.0;
49 int32_t *remaining_time_ =
nullptr;
50 double *msg_timestamp_ =
nullptr;
64 const std::string &junction_id,
bool flag_u_turn,
65 double distance,
double check_time,
66 std::shared_ptr<OSLight> *os_light);
69 const ::apollo::planning::ADCTrajectory *planning_msg,
71 std::shared_ptr<::apollo::perception::TrafficLightDetection> *res_light);
75bool FindAllRoadId(
const std::shared_ptr<::apollo::hdmap::HDMap> &hdmap,
76 const ::apollo::hdmap::LaneInfoConstPtr &start_laneinfo,
77 const ::apollo::hdmap::LaneInfoConstPtr &end_laneinfo,
78 size_t max_road_count,
79 std::unordered_set<std::string> *result_id_set);
81bool CheckCarInSet(
const std::shared_ptr<::apollo::hdmap::HDMap> &hdmap,
82 const std::unordered_set<std::string> &id_set,
83 const ::apollo::hdmap::LaneInfoConstPtr &car_laneinfo,
84 size_t max_lane_count);
86bool GetRsuInfo(
const std::shared_ptr<::apollo::hdmap::HDMap> &hdmap,
88 const std::set<std::string> &rsu_whitelist,
double distance,
89 double max_heading_difference,
90 std::shared_ptr<::apollo::v2x::CarStatus> *v2x_car_status,
91 std::string *out_junction_id,
double *out_heading);
bool ProcPlanningMessage(const ::apollo::planning::ADCTrajectory *planning_msg, const OSLight *last_os_light, std::shared_ptr<::apollo::perception::TrafficLightDetection > *res_light)
bool TrafficLightProc(const std::shared_ptr<::apollo::hdmap::HDMap > &hdmap, double distance, ::apollo::v2x::RoadTrafficLight *msg)
bool ProcTrafficlight(const std::shared_ptr<::apollo::hdmap::HDMap > &hdmap, const ObuLight *x2v_traffic_light, const std::string &junction_id, bool flag_u_turn, double distance, double check_time, std::shared_ptr< OSLight > *os_light)
bool GetRsuInfo(const std::shared_ptr<::apollo::hdmap::HDMap > &hdmap, const OSLocation &os_location, const std::set< std::string > &rsu_whitelist, double distance, double max_heading_difference, std::shared_ptr<::apollo::v2x::CarStatus > *v2x_car_status, std::string *out_junction_id, double *out_heading)
bool CheckCarInSet(const std::shared_ptr<::apollo::hdmap::HDMap > &hdmap, const std::unordered_set< std::string > &id_set, const ::apollo::hdmap::LaneInfoConstPtr &car_laneinfo, size_t max_lane_count)
void UniqueOslight(OSLight *os_light)
bool FindAllRoadId(const std::shared_ptr<::apollo::hdmap::HDMap > &hdmap, const ::apollo::hdmap::LaneInfoConstPtr &start_laneinfo, const ::apollo::hdmap::LaneInfoConstPtr &end_laneinfo, size_t max_road_count, std::unordered_set< std::string > *result_id_set)
OSLightColor GetNextColor(OSLightColor color)
::apollo::v2x::SingleTrafficLight_Color OSLightColor
const char *const kUnknownJunctionId