28 #include <unordered_map> 32 #include "modules/canbus/proto/chassis.pb.h" 33 #include "modules/dreamview/proto/hmi_status.pb.h" 34 #include "modules/localization/proto/localization.pb.h" 36 #include "modules/perception/proto/traffic_light_detection.pb.h" 38 #include "modules/planning/proto/learning_data.pb.h" 39 #include "modules/planning/proto/planning_config.pb.h" 40 #include "modules/prediction/proto/prediction_obstacle.pb.h" 41 #include "modules/routing/proto/routing.pb.h" 42 #include "modules/storytelling/proto/story.pb.h" 49 bool Init(
const PlanningConfig& planning_config);
50 bool Init(
const PlanningConfig& planning_config,
51 const std::shared_ptr<DependencyInjector>& injector);
55 void OnChassis(
const apollo::canbus::Chassis& chassis);
57 void OnHMIStatus(apollo::dreamview::HMIStatus hmi_status);
59 void OnLocalization(
const apollo::localization::LocalizationEstimate& le);
62 const apollo::prediction::PredictionObstacles& prediction_obstacles);
65 const apollo::routing::RoutingResponse& routing_response);
70 const apollo::perception::TrafficLightDetection& traffic_light_detection);
75 struct ADCCurrentInfo {
76 std::pair<double, double> adc_cur_position_;
77 std::pair<double, double> adc_cur_velocity_;
78 std::pair<double, double> adc_cur_acc_;
79 double adc_cur_heading_;
83 const apollo::common::PointENU& position);
84 bool GetADCCurrentRoutingIndex(
int* adc_road_index,
int* adc_passage_index,
85 double* adc_passage_s);
87 int GetADCCurrentInfo(ADCCurrentInfo* adc_curr_info);
89 void GenerateObstacleTrajectory(
const int frame_num,
const int obstacle_id,
90 const ADCCurrentInfo& adc_curr_info,
91 ObstacleFeature* obstacle_feature);
93 void GenerateObstaclePrediction(
95 const apollo::prediction::PredictionObstacle& prediction_obstacle,
96 const ADCCurrentInfo& adc_curr_info, ObstacleFeature* obstacle_feature);
98 void GenerateObstacleFeature(LearningDataFrame* learning_data_frame);
100 bool GenerateLocalRouting(
102 RoutingResponseFeature* local_routing,
103 std::vector<std::string>* local_routing_lane_ids);
105 void GenerateRoutingFeature(
106 const RoutingResponseFeature& local_routing,
107 const std::vector<std::string>& local_routing_lane_ids,
108 LearningDataFrame* learning_data_frame);
110 void GenerateTrafficLightDetectionFeature(
111 LearningDataFrame* learning_data_frame);
112 void GenerateADCTrajectoryPoints(
113 const std::list<apollo::localization::LocalizationEstimate>&
115 LearningDataFrame* learning_data_frame);
117 void GeneratePlanningTag(LearningDataFrame* learning_data_frame);
119 bool GenerateLearningDataFrame(LearningDataFrame* learning_data_frame);
122 std::shared_ptr<DependencyInjector> injector_;
123 PlanningConfig planning_config_;
124 std::chrono::time_point<std::chrono::system_clock> start_time_;
125 std::ofstream log_file_;
126 std::string record_file_;
127 std::unordered_map<std::string, std::string> map_m_;
128 LearningData learning_data_;
129 int learning_data_file_index_ = 0;
130 std::list<apollo::localization::LocalizationEstimate> localizations_;
131 std::unordered_map<int, apollo::prediction::PredictionObstacle>
132 prediction_obstacles_map_;
133 std::unordered_map<int, std::list<PerceptionObstacleFeature>>
134 obstacle_history_map_;
135 ChassisFeature chassis_feature_;
136 std::string map_name_;
137 PlanningTag planning_tag_;
138 apollo::routing::RoutingResponse routing_response_;
139 double traffic_light_detection_message_timestamp_;
140 std::vector<TrafficLightFeature> traffic_lights_;
141 int total_learning_data_frame_num_ = 0;
142 double last_localization_message_timestamp_sec_ = 0.0;
void OnTrafficLightDetection(const apollo::perception::TrafficLightDetection &traffic_light_detection)
PlanningContext is the runtime context in planning. It is persistent across multiple frames...
Definition: atomic_hash_map.h:25
Planning module main class. It processes GPS and IMU as input, to generate planning info...
void OnRoutingResponse(const apollo::routing::RoutingResponse &routing_response)
void ProcessOfflineData(const std::string &record_file)
void OnLocalization(const apollo::localization::LocalizationEstimate &le)
void OnStoryTelling(const apollo::storytelling::Stories &stories)
std::shared_ptr< const LaneInfo > LaneInfoConstPtr
Definition: hdmap_common.h:125
Definition: message_process.h:47
bool Init(const PlanningConfig &planning_config)
void OnPrediction(const apollo::prediction::PredictionObstacles &prediction_obstacles)
void OnChassis(const apollo::canbus::Chassis &chassis)
void OnHMIStatus(apollo::dreamview::HMIStatus hmi_status)