diff --git a/modules/prediction/predictor/predictor.cc b/modules/prediction/predictor/predictor.cc index 64ffe5438f6c2db45102f6cc827d58a60e935ccb..110c861d40b27f4e7c4ded3f8c139b8a19f80c17 100644 --- a/modules/prediction/predictor/predictor.cc +++ b/modules/prediction/predictor/predictor.cc @@ -41,7 +41,7 @@ void Predictor::GenerateTrajectory( void Predictor::SetEqualProbability(double probability, int start_index) { int num = GetTrajectorySize(); - if (start_index > 0 && num > 0 && num > start_index) { + if (start_index >= 0 && num > 0 && num > start_index) { probability = probability / (double(num - start_index)); for (int i = start_index; i < num; ++i) { prediction_obstacle_.mutable_trajectory(i)->set_probability(probability); diff --git a/modules/prediction/predictor/vehicle/free_move_predictor.cc b/modules/prediction/predictor/vehicle/free_move_predictor.cc index 1e217142133c6916ae526057215fe730e8d7c781..379001b8a616ae3185b09cf0b4597f1ed174192c 100644 --- a/modules/prediction/predictor/vehicle/free_move_predictor.cc +++ b/modules/prediction/predictor/vehicle/free_move_predictor.cc @@ -50,14 +50,15 @@ void FreeMovePredictor::Predict(Obstacle* obstacle) { std::vector points(0); double total_time = FLAGS_prediction_duration; - // TODO(jinghao): + // TODO(kechxu): // draw_free_move_trajectory(position, velocity, obstacle->kf_motion_tracker(), // total_time, points); Trajectory trajectory; GenerateTrajectory(points, &trajectory); - trajectory.set_probability(1.0); + int start_index = 0; prediction_obstacle_.set_predicted_period(total_time); prediction_obstacle_.add_trajectory()->CopyFrom(trajectory); + SetEqualProbability(1.0, start_index); } } // prediction