Apollo
6.0
Open source self driving car software
|
#include <sequence_predictor.h>
Public Types | |
enum | LaneChangeType { LaneChangeType::LEFT, LaneChangeType::RIGHT, LaneChangeType::STRAIGHT, LaneChangeType::ONTO_LANE, LaneChangeType::INVALID } |
Public Member Functions | |
SequencePredictor ()=default | |
Constructor. More... | |
virtual | ~SequencePredictor ()=default |
Destructor. More... | |
bool | Predict (const ADCTrajectoryContainer *adc_trajectory_container, Obstacle *obstacle, ObstaclesContainer *obstacles_container) override |
Make prediction. More... | |
FRIEND_TEST (SequencePredictorTest, General) | |
![]() | |
Predictor ()=default | |
Constructor. More... | |
virtual | ~Predictor ()=default |
Destructor. More... | |
int | NumOfTrajectories (const Obstacle &obstacle) |
Get trajectory size. More... | |
void | TrimTrajectories (const ADCTrajectoryContainer &adc_trajectory_container, Obstacle *obstacle) |
Trim prediction trajectories by adc trajectory. More... | |
const ObstacleConf::PredictorType & | predictor_type () |
get the predictor type More... | |
Protected Member Functions | |
bool | GetLongitudinalPolynomial (const Obstacle &obstacle, const LaneSequence &lane_sequence, const std::pair< double, double > &lon_end_state, std::array< double, 5 > *coefficients) |
bool | GetLateralPolynomial (const Obstacle &obstacle, const LaneSequence &lane_sequence, const double time_to_end_state, std::array< double, 4 > *coefficients) |
void | FilterLaneSequences (const Feature &feature, const std::string &lane_id, const Obstacle *ego_vehicle_ptr, const ADCTrajectoryContainer *adc_trajectory_container, std::vector< bool > *enable_lane_sequence) |
Filter lane sequences. More... | |
LaneChangeType | GetLaneChangeType (const std::string &lane_id, const LaneSequence &lane_sequence) |
Get lane change type. More... | |
double | GetLaneChangeDistanceWithADC (const LaneSequence &lane_sequence, const Obstacle *ego_vehicle_ptr, const ADCTrajectoryContainer *adc_trajectory_container) |
Get lane change distance with ADC. More... | |
void | DrawConstantAccelerationTrajectory (const Obstacle &obstacle, const LaneSequence &lane_sequence, const double total_time, const double period, const double acceleration, std::vector< apollo::common::TrajectoryPoint > *points) |
Draw constant acceleration trajectory points. More... | |
double | GetLaneSequenceCurvatureByS (const LaneSequence &lane_sequence, const double s) |
Get lane sequence curvature by s. More... | |
void | Clear () |
Clear private members. More... | |
std::string | ToString (const LaneSequence &sequence) |
Convert a lane sequence to string. More... | |
![]() | |
void | SetEqualProbability (const double probability, const int start_index, Obstacle *obstacle_ptr) |
Set equal probability to prediction trajectories. More... | |
bool | TrimTrajectory (const ADCTrajectoryContainer &adc_trajectory_container, Obstacle *obstacle, Trajectory *trajectory) |
Trim a single prediction trajectory, keep the portion that is not in junction. More... | |
bool | SupposedToStop (const Feature &feature, const double stop_distance, double *acceleration) |
Determine if an obstacle is supposed to stop within a distance. More... | |
Additional Inherited Members | |
![]() | |
static Trajectory | GenerateTrajectory (const std::vector< apollo::common::TrajectoryPoint > &points) |
Generate trajectory from trajectory points. More... | |
![]() | |
ObstacleConf::PredictorType | predictor_type_ |
|
default |
Constructor.
|
virtualdefault |
Destructor.
|
protectedvirtual |
Clear private members.
Reimplemented from apollo::prediction::Predictor.
|
protected |
Draw constant acceleration trajectory points.
Obstacle | |
Lane | sequence |
Total | prediction time |
Prediction | period |
acceleration | |
A | vector of generated trajectory points |
|
protected |
Filter lane sequences.
Lane | graph |
Current | lane id |
Ego | vehicle pointer |
ADC | trajectory container |
Vector | of boolean indicating if a lane sequence is disqualified |
apollo::prediction::SequencePredictor::FRIEND_TEST | ( | SequencePredictorTest | , |
General | |||
) |
|
protected |
Get lane change distance with ADC.
Target | lane sequence |
Ego | vehicle pointer |
ADC | trajectory container |
|
protected |
Get lane change type.
Current | lane id |
Lane | sequence |
|
protected |
Get lane sequence curvature by s.
lane | sequence |
s |
|
protected |
|
protected |
|
overridevirtual |
Make prediction.
ADC | trajectory container |
Obstacle | pointer |
Obstacles | container |
Implements apollo::prediction::Predictor.
Reimplemented in apollo::prediction::SingleLanePredictor.
|
protected |
Convert a lane sequence to string.
Lane | sequence |