28 #include "gtest/gtest.h" 33 namespace prediction {
71 const LaneSequence& lane_sequence,
72 const std::pair<double, double>& lon_end_state,
73 std::array<double, 5>* coefficients);
76 const LaneSequence& lane_sequence,
77 const double time_to_end_state,
78 std::array<double, 4>* coefficients);
88 const Feature& feature,
const std::string& lane_id,
91 std::vector<bool>* enable_lane_sequence);
100 const LaneSequence& lane_sequence);
110 const LaneSequence& lane_sequence,
const Obstacle* ego_vehicle_ptr,
123 const Obstacle& obstacle,
const LaneSequence& lane_sequence,
124 const double total_time,
const double period,
const double acceleration,
125 std::vector<apollo::common::TrajectoryPoint>* points);
146 std::string
ToString(
const LaneSequence& sequence);
158 const double probability,
const double max_prob);
169 const double probability,
const double max_prob);
Define the predictor base class.
void Clear()
Clear private members.
std::string ToString(const LaneSequence &sequence)
Convert a lane sequence to string.
Prediction obstacle.
Definition: obstacle.h:52
Definition: obstacles_container.h:39
LaneChangeType
Definition: sequence_predictor.h:37
PlanningContext is the runtime context in planning. It is persistent across multiple frames...
Definition: atomic_hash_map.h:25
Definition: sequence_predictor.h:35
FRIEND_TEST(SequencePredictorTest, General)
virtual ~SequencePredictor()=default
Destructor.
LaneChangeType GetLaneChangeType(const std::string &lane_id, const LaneSequence &lane_sequence)
Get lane change type.
SequencePredictor()=default
Constructor.
bool GetLongitudinalPolynomial(const Obstacle &obstacle, const LaneSequence &lane_sequence, const std::pair< double, double > &lon_end_state, std::array< double, 5 > *coefficients)
Definition: predictor.h:38
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.
double GetLaneSequenceCurvatureByS(const LaneSequence &lane_sequence, const double s)
Get lane sequence curvature by s.
bool Predict(const ADCTrajectoryContainer *adc_trajectory_container, Obstacle *obstacle, ObstaclesContainer *obstacles_container) override
Make prediction.
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.
double GetLaneChangeDistanceWithADC(const LaneSequence &lane_sequence, const Obstacle *ego_vehicle_ptr, const ADCTrajectoryContainer *adc_trajectory_container)
Get lane change distance with ADC.
bool GetLateralPolynomial(const Obstacle &obstacle, const LaneSequence &lane_sequence, const double time_to_end_state, std::array< double, 4 > *coefficients)
Definition: adc_trajectory_container.h:37