提交 8a650691 编写于 作者: A Aaron Xiao 提交者: Dong Li

Prediction: Simplify Predictor::GenerateTrajectory interface.

上级 e887041e
......@@ -95,8 +95,7 @@ void Prediction::OnLocalization(const LocalizationEstimate &localization) {
CHECK_NOTNULL(obstacles_container);
PoseContainer* pose_container = dynamic_cast<PoseContainer*>(
ContainerManager::instance()->GetContainer(
AdapterConfig::LOCALIZATION));
ContainerManager::instance()->GetContainer(AdapterConfig::LOCALIZATION));
CHECK_NOTNULL(pose_container);
pose_container->Insert(localization);
......@@ -122,9 +121,8 @@ void Prediction::OnPerception(const PerceptionObstacles &perception_obstacles) {
EvaluatorManager::instance()->Run(perception_obstacles);
PredictorManager::instance()->Run(perception_obstacles);
PredictionObstacles prediction_obstacles;
prediction_obstacles.CopyFrom(
PredictorManager::instance()->prediction_obstacles());
auto prediction_obstacles =
PredictorManager::instance()->prediction_obstacles();
AdapterManager::FillPredictionHeader(Name(), &prediction_obstacles);
AdapterManager::PublishPrediction(prediction_obstacles);
ADEBUG << "Published a prediction message ["
......
......@@ -114,8 +114,7 @@ void RegionalPredictor::GenerateStillTrajectory(
for (int i = 0; i < num_traj; ++i) {
std::vector<TrajectoryPoint> points;
DrawStillTrajectory(position, heading, speed, total_time, &points);
Trajectory trajectory;
GenerateTrajectory(points, &trajectory);
Trajectory trajectory = GenerateTrajectory(points);
trajectories_.push_back(std::move(trajectory));
heading += delta_heading;
}
......@@ -160,10 +159,8 @@ void RegionalPredictor::GenerateMovingTrajectory(
&left_points, &right_points);
int start_index = NumOfTrajectories();
Trajectory left_trajectory;
Trajectory right_trajectory;
GenerateTrajectory(left_points, &left_trajectory);
GenerateTrajectory(right_points, &right_trajectory);
Trajectory left_trajectory = GenerateTrajectory(left_points);
Trajectory right_trajectory = GenerateTrajectory(right_points);
trajectories_.push_back(std::move(left_trajectory));
trajectories_.push_back(std::move(right_trajectory));
SetEqualProbability(probability, start_index);
......
......@@ -29,11 +29,11 @@ int Predictor::NumOfTrajectories() {
return trajectories_.size();
}
void Predictor::GenerateTrajectory(
const std::vector<::apollo::common::TrajectoryPoint>& points,
Trajectory* trajectory) {
trajectory->mutable_trajectory_point()->MergeFrom(
{points.begin(), points.end()});
Trajectory Predictor::GenerateTrajectory(
const std::vector<apollo::common::TrajectoryPoint>& points) {
Trajectory trajectory;
*trajectory.mutable_trajectory_point() = {points.begin(), points.end()};
return trajectory;
}
void Predictor::SetEqualProbability(double probability, int start_index) {
......
......@@ -69,11 +69,10 @@ class Predictor {
/**
* @brief Generate trajectory from trajectory points
* @param A vector of trajectory points
* A pointer to generated trajectory
* @return Generated trajectory
*/
void GenerateTrajectory(
const std::vector<::apollo::common::TrajectoryPoint>& points,
Trajectory* trajectory);
static Trajectory GenerateTrajectory(
const std::vector<apollo::common::TrajectoryPoint>& points);
void SetEqualProbability(double probability, int start_index);
......
......@@ -66,8 +66,7 @@ void FreeMovePredictor::Predict(Obstacle* obstacle) {
FLAGS_prediction_freq,
&points);
Trajectory trajectory;
GenerateTrajectory(points, &trajectory);
Trajectory trajectory = GenerateTrajectory(points);
int start_index = 0;
trajectories_.push_back(std::move(trajectory));
SetEqualProbability(1.0, start_index);
......
......@@ -94,8 +94,7 @@ void LaneSequencePredictor::Predict(Obstacle* obstacle) {
obstacle->kf_lane_tracker(curr_lane_id), sequence,
FLAGS_prediction_duration, FLAGS_prediction_freq, &points);
Trajectory trajectory;
GenerateTrajectory(points, &trajectory);
Trajectory trajectory = GenerateTrajectory(points);
trajectory.set_probability(sequence.probability());
trajectories_.push_back(std::move(trajectory));
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册