Apollo 11.0
自动驾驶开放平台
message_process.h
浏览该文件的文档.
1/******************************************************************************
2 * Copyright 2019 The Apollo Authors. All Rights Reserved.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 *****************************************************************************/
16
21#pragma once
22
23#include <memory>
24#include <string>
25
26#include "cyber/proto/record.pb.h"
27#include "modules/common_msgs/localization_msgs/localization.pb.h"
28#include "modules/common_msgs/planning_msgs/planning.pb.h"
32#include "modules/prediction/proto/prediction_conf.pb.h"
33#include "modules/common_msgs/prediction_msgs/prediction_obstacle.pb.h"
35#include "modules/common_msgs/storytelling_msgs/story.pb.h"
36
37namespace apollo {
38namespace prediction {
39
41 public:
42 MessageProcess() = delete;
43
44 static bool Init(ContainerManager *container_manager,
45 EvaluatorManager *evaluator_manager,
46 PredictorManager *predictor_manager,
47 const PredictionConf &prediction_conf);
48
49 static bool InitContainers(ContainerManager *container_manager);
50
51 static bool InitEvaluators(EvaluatorManager *evaluator_manager,
52 const PredictionConf &prediction_conf);
53
54 static bool InitPredictors(PredictorManager *predictor_manager,
55 const PredictionConf &prediction_conf);
56
57 static void ContainerProcess(
58 const std::shared_ptr<ContainerManager> &container_manager,
59 const perception::PerceptionObstacles &perception_obstacles,
60 ScenarioManager *scenario_manger);
61
62 static void OnPerception(
63 const perception::PerceptionObstacles &perception_obstacles,
64 const std::shared_ptr<ContainerManager> &container_manager,
65 EvaluatorManager *evaluator_manager, PredictorManager *predictor_manager,
66 ScenarioManager *scenario_manager,
67 PredictionObstacles *const prediction_obstacles);
68
69 static void OnLocalization(
70 ContainerManager *container_manager,
71 const localization::LocalizationEstimate &localization);
72
73 static void OnPlanning(ContainerManager *container_manager,
74 const planning::ADCTrajectory &adc_trajectory);
75
76 static void OnStoryTelling(ContainerManager *container_manager,
77 const storytelling::Stories &story);
78
79 static void ProcessOfflineData(
80 const PredictionConf &prediction_conf,
81 const std::shared_ptr<ContainerManager> &container_manager,
82 EvaluatorManager *evaluator_manager, PredictorManager *predictor_manager,
83 ScenarioManager *scenario_manager, const std::string &record_filepath);
84};
85
86} // namespace prediction
87} // namespace apollo
static bool InitContainers(ContainerManager *container_manager)
static bool InitEvaluators(EvaluatorManager *evaluator_manager, const PredictionConf &prediction_conf)
static void ProcessOfflineData(const PredictionConf &prediction_conf, const std::shared_ptr< ContainerManager > &container_manager, EvaluatorManager *evaluator_manager, PredictorManager *predictor_manager, ScenarioManager *scenario_manager, const std::string &record_filepath)
static void OnPerception(const perception::PerceptionObstacles &perception_obstacles, const std::shared_ptr< ContainerManager > &container_manager, EvaluatorManager *evaluator_manager, PredictorManager *predictor_manager, ScenarioManager *scenario_manager, PredictionObstacles *const prediction_obstacles)
static void OnStoryTelling(ContainerManager *container_manager, const storytelling::Stories &story)
static void OnLocalization(ContainerManager *container_manager, const localization::LocalizationEstimate &localization)
static void OnPlanning(ContainerManager *container_manager, const planning::ADCTrajectory &adc_trajectory)
static bool Init(ContainerManager *container_manager, EvaluatorManager *evaluator_manager, PredictorManager *predictor_manager, const PredictionConf &prediction_conf)
static void ContainerProcess(const std::shared_ptr< ContainerManager > &container_manager, const perception::PerceptionObstacles &perception_obstacles, ScenarioManager *scenario_manger)
static bool InitPredictors(PredictorManager *predictor_manager, const PredictionConf &prediction_conf)
Use container manager to manage all containers
class register implement
Definition arena_queue.h:37
Use evaluator manager to manage all evaluators
Use predictor manager to manage all predictors