Apollo
6.0
Open source self driving car software
|
ReferenceLineInfo holds all data for one reference line. More...
#include <reference_line_info.h>
Public Types | |
enum | LaneType { LaneType::LeftForward, LaneType::LeftReverse, LaneType::RightForward, LaneType::RightReverse } |
enum | OverlapType { CLEAR_AREA = 1, CROSSWALK = 2, OBSTACLE = 3, PNC_JUNCTION = 4, SIGNAL = 5, STOP_SIGN = 6, YIELD_SIGN = 7 } |
Public Member Functions | |
ReferenceLineInfo ()=default | |
ReferenceLineInfo (const common::VehicleState &vehicle_state, const common::TrajectoryPoint &adc_planning_point, const ReferenceLine &reference_line, const hdmap::RouteSegments &segments) | |
bool | Init (const std::vector< const Obstacle *> &obstacles) |
bool | AddObstacles (const std::vector< const Obstacle *> &obstacles) |
Obstacle * | AddObstacle (const Obstacle *obstacle) |
const common::VehicleState & | vehicle_state () const |
PathDecision * | path_decision () |
const PathDecision & | path_decision () const |
const ReferenceLine & | reference_line () const |
ReferenceLine * | mutable_reference_line () |
double | SDistanceToDestination () const |
bool | ReachedDestination () const |
void | SetTrajectory (const DiscretizedTrajectory &trajectory) |
const DiscretizedTrajectory & | trajectory () const |
double | Cost () const |
void | AddCost (double cost) |
void | SetCost (double cost) |
double | PriorityCost () const |
void | SetPriorityCost (double cost) |
void | SetLatticeStopPoint (const StopPoint &stop_point) |
void | SetLatticeCruiseSpeed (double speed) |
const PlanningTarget & | planning_target () const |
void | SetCruiseSpeed (double speed) |
double | GetCruiseSpeed () const |
hdmap::LaneInfoConstPtr | LocateLaneInfo (const double s) const |
bool | GetNeighborLaneInfo (const ReferenceLineInfo::LaneType lane_type, const double s, hdmap::Id *ptr_lane_id, double *ptr_lane_width) const |
bool | IsStartFrom (const ReferenceLineInfo &previous_reference_line_info) const |
check if current reference line is started from another reference line info line. The method is to check if the start point of current reference line is on previous reference line info. More... | |
planning_internal::Debug * | mutable_debug () |
const planning_internal::Debug & | debug () const |
LatencyStats * | mutable_latency_stats () |
const LatencyStats & | latency_stats () const |
const PathData & | path_data () const |
const PathData & | fallback_path_data () const |
const SpeedData & | speed_data () const |
PathData * | mutable_path_data () |
PathData * | mutable_fallback_path_data () |
SpeedData * | mutable_speed_data () |
const RSSInfo & | rss_info () const |
RSSInfo * | mutable_rss_info () |
bool | CombinePathAndSpeedProfile (const double relative_time, const double start_s, DiscretizedTrajectory *discretized_trajectory) |
bool | AdjustTrajectoryWhichStartsFromCurrentPos (const common::TrajectoryPoint &planning_start_point, const std::vector< common::TrajectoryPoint > &trajectory, DiscretizedTrajectory *adjusted_trajectory) |
const SLBoundary & | AdcSlBoundary () const |
std::string | PathSpeedDebugString () const |
bool | IsChangeLanePath () const |
bool | IsNeighborLanePath () const |
void | SetDrivable (bool drivable) |
bool | IsDrivable () const |
void | ExportEngageAdvice (common::EngageAdvice *engage_advice, PlanningContext *planning_context) const |
const hdmap::RouteSegments & | Lanes () const |
std::list< hdmap::Id > | TargetLaneId () const |
void | ExportDecision (DecisionResult *decision_result, PlanningContext *planning_context) const |
void | SetJunctionRightOfWay (const double junction_s, const bool is_protected) const |
ADCTrajectory::RightOfWayStatus | GetRightOfWayStatus () const |
hdmap::Lane::LaneTurn | GetPathTurnType (const double s) const |
bool | GetIntersectionRightofWayStatus (const hdmap::PathOverlap &pnc_junction_overlap) const |
double | OffsetToOtherReferenceLine () const |
void | SetOffsetToOtherReferenceLine (const double offset) |
const std::vector< PathBoundary > & | GetCandidatePathBoundaries () const |
void | SetCandidatePathBoundaries (std::vector< PathBoundary > &&candidate_path_boundaries) |
const std::vector< PathData > & | GetCandidatePathData () const |
void | SetCandidatePathData (std::vector< PathData > &&candidate_path_data) |
Obstacle * | GetBlockingObstacle () const |
void | SetBlockingObstacle (const std::string &blocking_obstacle_id) |
bool | is_path_lane_borrow () const |
void | set_is_path_lane_borrow (const bool is_path_lane_borrow) |
void | set_is_on_reference_line () |
uint32_t | GetPriority () const |
void | SetPriority (uint32_t priority) |
void | set_trajectory_type (const ADCTrajectory::TrajectoryType trajectory_type) |
ADCTrajectory::TrajectoryType | trajectory_type () const |
StGraphData * | mutable_st_graph_data () |
const StGraphData & | st_graph_data () |
const std::vector< std::pair< OverlapType, hdmap::PathOverlap > > & | FirstEncounteredOverlaps () const |
int | GetPnCJunction (const double s, hdmap::PathOverlap *pnc_junction_overlap) const |
std::vector< common::SLPoint > | GetAllStopDecisionSLPoint () const |
void | SetTurnSignal (const common::VehicleSignal::TurnSignal &turn_signal) |
void | SetEmergencyLight () |
void | set_path_reusable (const bool path_reusable) |
bool | path_reusable () const |
ReferenceLineInfo holds all data for one reference line.
|
strong |
|
default |
apollo::planning::ReferenceLineInfo::ReferenceLineInfo | ( | const common::VehicleState & | vehicle_state, |
const common::TrajectoryPoint & | adc_planning_point, | ||
const ReferenceLine & | reference_line, | ||
const hdmap::RouteSegments & | segments | ||
) |
const SLBoundary& apollo::planning::ReferenceLineInfo::AdcSlBoundary | ( | ) | const |
|
inline |
bool apollo::planning::ReferenceLineInfo::AddObstacles | ( | const std::vector< const Obstacle *> & | obstacles | ) |
bool apollo::planning::ReferenceLineInfo::AdjustTrajectoryWhichStartsFromCurrentPos | ( | const common::TrajectoryPoint & | planning_start_point, |
const std::vector< common::TrajectoryPoint > & | trajectory, | ||
DiscretizedTrajectory * | adjusted_trajectory | ||
) |
bool apollo::planning::ReferenceLineInfo::CombinePathAndSpeedProfile | ( | const double | relative_time, |
const double | start_s, | ||
DiscretizedTrajectory * | discretized_trajectory | ||
) |
|
inline |
|
inline |
void apollo::planning::ReferenceLineInfo::ExportDecision | ( | DecisionResult * | decision_result, |
PlanningContext * | planning_context | ||
) | const |
void apollo::planning::ReferenceLineInfo::ExportEngageAdvice | ( | common::EngageAdvice * | engage_advice, |
PlanningContext * | planning_context | ||
) | const |
const PathData& apollo::planning::ReferenceLineInfo::fallback_path_data | ( | ) | const |
|
inline |
std::vector<common::SLPoint> apollo::planning::ReferenceLineInfo::GetAllStopDecisionSLPoint | ( | ) | const |
|
inline |
const std::vector<PathBoundary>& apollo::planning::ReferenceLineInfo::GetCandidatePathBoundaries | ( | ) | const |
const std::vector<PathData>& apollo::planning::ReferenceLineInfo::GetCandidatePathData | ( | ) | const |
double apollo::planning::ReferenceLineInfo::GetCruiseSpeed | ( | ) | const |
bool apollo::planning::ReferenceLineInfo::GetIntersectionRightofWayStatus | ( | const hdmap::PathOverlap & | pnc_junction_overlap | ) | const |
bool apollo::planning::ReferenceLineInfo::GetNeighborLaneInfo | ( | const ReferenceLineInfo::LaneType | lane_type, |
const double | s, | ||
hdmap::Id * | ptr_lane_id, | ||
double * | ptr_lane_width | ||
) | const |
hdmap::Lane::LaneTurn apollo::planning::ReferenceLineInfo::GetPathTurnType | ( | const double | s | ) | const |
int apollo::planning::ReferenceLineInfo::GetPnCJunction | ( | const double | s, |
hdmap::PathOverlap * | pnc_junction_overlap | ||
) | const |
|
inline |
ADCTrajectory::RightOfWayStatus apollo::planning::ReferenceLineInfo::GetRightOfWayStatus | ( | ) | const |
bool apollo::planning::ReferenceLineInfo::Init | ( | const std::vector< const Obstacle *> & | obstacles | ) |
|
inline |
bool apollo::planning::ReferenceLineInfo::IsChangeLanePath | ( | ) | const |
Check if the current reference line is a change lane reference line, i.e., ADC's current position is not on this reference line.
bool apollo::planning::ReferenceLineInfo::IsDrivable | ( | ) | const |
bool apollo::planning::ReferenceLineInfo::IsNeighborLanePath | ( | ) | const |
Check if the current reference line is the neighbor of the vehicle current position
bool apollo::planning::ReferenceLineInfo::IsStartFrom | ( | const ReferenceLineInfo & | previous_reference_line_info | ) | const |
check if current reference line is started from another reference line info line. The method is to check if the start point of current reference line is on previous reference line info.
const hdmap::RouteSegments& apollo::planning::ReferenceLineInfo::Lanes | ( | ) | const |
|
inline |
hdmap::LaneInfoConstPtr apollo::planning::ReferenceLineInfo::LocateLaneInfo | ( | const double | s | ) | const |
|
inline |
PathData* apollo::planning::ReferenceLineInfo::mutable_fallback_path_data | ( | ) |
|
inline |
PathData* apollo::planning::ReferenceLineInfo::mutable_path_data | ( | ) |
ReferenceLine* apollo::planning::ReferenceLineInfo::mutable_reference_line | ( | ) |
RSSInfo* apollo::planning::ReferenceLineInfo::mutable_rss_info | ( | ) |
SpeedData* apollo::planning::ReferenceLineInfo::mutable_speed_data | ( | ) |
|
inline |
|
inline |
const PathData& apollo::planning::ReferenceLineInfo::path_data | ( | ) | const |
PathDecision* apollo::planning::ReferenceLineInfo::path_decision | ( | ) |
const PathDecision& apollo::planning::ReferenceLineInfo::path_decision | ( | ) | const |
|
inline |
std::string apollo::planning::ReferenceLineInfo::PathSpeedDebugString | ( | ) | const |
|
inline |
|
inline |
bool apollo::planning::ReferenceLineInfo::ReachedDestination | ( | ) | const |
const ReferenceLine& apollo::planning::ReferenceLineInfo::reference_line | ( | ) | const |
const RSSInfo& apollo::planning::ReferenceLineInfo::rss_info | ( | ) | const |
double apollo::planning::ReferenceLineInfo::SDistanceToDestination | ( | ) | const |
|
inline |
|
inline |
|
inline |
|
inline |
void apollo::planning::ReferenceLineInfo::SetBlockingObstacle | ( | const std::string & | blocking_obstacle_id | ) |
void apollo::planning::ReferenceLineInfo::SetCandidatePathBoundaries | ( | std::vector< PathBoundary > && | candidate_path_boundaries | ) |
void apollo::planning::ReferenceLineInfo::SetCandidatePathData | ( | std::vector< PathData > && | candidate_path_data | ) |
|
inline |
|
inline |
void apollo::planning::ReferenceLineInfo::SetDrivable | ( | bool | drivable | ) |
Set if the vehicle can drive following this reference line A planner need to set this value to true if the reference line is OK
void apollo::planning::ReferenceLineInfo::SetEmergencyLight | ( | ) |
void apollo::planning::ReferenceLineInfo::SetJunctionRightOfWay | ( | const double | junction_s, |
const bool | is_protected | ||
) | const |
void apollo::planning::ReferenceLineInfo::SetLatticeCruiseSpeed | ( | double | speed | ) |
void apollo::planning::ReferenceLineInfo::SetLatticeStopPoint | ( | const StopPoint & | stop_point | ) |
|
inline |
|
inline |
|
inline |
void apollo::planning::ReferenceLineInfo::SetTrajectory | ( | const DiscretizedTrajectory & | trajectory | ) |
void apollo::planning::ReferenceLineInfo::SetTurnSignal | ( | const common::VehicleSignal::TurnSignal & | turn_signal | ) |
const SpeedData& apollo::planning::ReferenceLineInfo::speed_data | ( | ) | const |
|
inline |
std::list<hdmap::Id> apollo::planning::ReferenceLineInfo::TargetLaneId | ( | ) | const |
const DiscretizedTrajectory& apollo::planning::ReferenceLineInfo::trajectory | ( | ) | const |
|
inline |
|
inline |