Apollo  6.0
Open source self driving car software
Public Types | Public Member Functions | List of all members
apollo::planning::ReferenceLineInfo Class Reference

ReferenceLineInfo holds all data for one reference line. More...

#include <reference_line_info.h>

Collaboration diagram for apollo::planning::ReferenceLineInfo:
Collaboration graph

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)
 
ObstacleAddObstacle (const Obstacle *obstacle)
 
const common::VehicleState & vehicle_state () const
 
PathDecisionpath_decision ()
 
const PathDecisionpath_decision () const
 
const ReferenceLinereference_line () const
 
ReferenceLinemutable_reference_line ()
 
double SDistanceToDestination () const
 
bool ReachedDestination () const
 
void SetTrajectory (const DiscretizedTrajectory &trajectory)
 
const DiscretizedTrajectorytrajectory () 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 PathDatapath_data () const
 
const PathDatafallback_path_data () const
 
const SpeedDataspeed_data () const
 
PathDatamutable_path_data ()
 
PathDatamutable_fallback_path_data ()
 
SpeedDatamutable_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::RouteSegmentsLanes () 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)
 
ObstacleGetBlockingObstacle () 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
 
StGraphDatamutable_st_graph_data ()
 
const StGraphDatast_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
 

Detailed Description

ReferenceLineInfo holds all data for one reference line.

Member Enumeration Documentation

◆ LaneType

Enumerator
LeftForward 
LeftReverse 
RightForward 
RightReverse 

◆ OverlapType

Enumerator
CLEAR_AREA 
CROSSWALK 
OBSTACLE 
PNC_JUNCTION 
SIGNAL 
STOP_SIGN 
YIELD_SIGN 

Constructor & Destructor Documentation

◆ ReferenceLineInfo() [1/2]

apollo::planning::ReferenceLineInfo::ReferenceLineInfo ( )
default

◆ ReferenceLineInfo() [2/2]

apollo::planning::ReferenceLineInfo::ReferenceLineInfo ( const common::VehicleState &  vehicle_state,
const common::TrajectoryPoint &  adc_planning_point,
const ReferenceLine reference_line,
const hdmap::RouteSegments segments 
)

Member Function Documentation

◆ AdcSlBoundary()

const SLBoundary& apollo::planning::ReferenceLineInfo::AdcSlBoundary ( ) const

◆ AddCost()

void apollo::planning::ReferenceLineInfo::AddCost ( double  cost)
inline

◆ AddObstacle()

Obstacle* apollo::planning::ReferenceLineInfo::AddObstacle ( const Obstacle obstacle)

◆ AddObstacles()

bool apollo::planning::ReferenceLineInfo::AddObstacles ( const std::vector< const Obstacle *> &  obstacles)

◆ AdjustTrajectoryWhichStartsFromCurrentPos()

bool apollo::planning::ReferenceLineInfo::AdjustTrajectoryWhichStartsFromCurrentPos ( const common::TrajectoryPoint &  planning_start_point,
const std::vector< common::TrajectoryPoint > &  trajectory,
DiscretizedTrajectory adjusted_trajectory 
)

◆ CombinePathAndSpeedProfile()

bool apollo::planning::ReferenceLineInfo::CombinePathAndSpeedProfile ( const double  relative_time,
const double  start_s,
DiscretizedTrajectory discretized_trajectory 
)

◆ Cost()

double apollo::planning::ReferenceLineInfo::Cost ( ) const
inline

◆ debug()

const planning_internal::Debug& apollo::planning::ReferenceLineInfo::debug ( ) const
inline

◆ ExportDecision()

void apollo::planning::ReferenceLineInfo::ExportDecision ( DecisionResult *  decision_result,
PlanningContext planning_context 
) const

◆ ExportEngageAdvice()

void apollo::planning::ReferenceLineInfo::ExportEngageAdvice ( common::EngageAdvice *  engage_advice,
PlanningContext planning_context 
) const

◆ fallback_path_data()

const PathData& apollo::planning::ReferenceLineInfo::fallback_path_data ( ) const

◆ FirstEncounteredOverlaps()

const std::vector<std::pair<OverlapType, hdmap::PathOverlap> >& apollo::planning::ReferenceLineInfo::FirstEncounteredOverlaps ( ) const
inline

◆ GetAllStopDecisionSLPoint()

std::vector<common::SLPoint> apollo::planning::ReferenceLineInfo::GetAllStopDecisionSLPoint ( ) const

◆ GetBlockingObstacle()

Obstacle* apollo::planning::ReferenceLineInfo::GetBlockingObstacle ( ) const
inline

◆ GetCandidatePathBoundaries()

const std::vector<PathBoundary>& apollo::planning::ReferenceLineInfo::GetCandidatePathBoundaries ( ) const

◆ GetCandidatePathData()

const std::vector<PathData>& apollo::planning::ReferenceLineInfo::GetCandidatePathData ( ) const

◆ GetCruiseSpeed()

double apollo::planning::ReferenceLineInfo::GetCruiseSpeed ( ) const

◆ GetIntersectionRightofWayStatus()

bool apollo::planning::ReferenceLineInfo::GetIntersectionRightofWayStatus ( const hdmap::PathOverlap pnc_junction_overlap) const

◆ GetNeighborLaneInfo()

bool apollo::planning::ReferenceLineInfo::GetNeighborLaneInfo ( const ReferenceLineInfo::LaneType  lane_type,
const double  s,
hdmap::Id *  ptr_lane_id,
double *  ptr_lane_width 
) const

◆ GetPathTurnType()

hdmap::Lane::LaneTurn apollo::planning::ReferenceLineInfo::GetPathTurnType ( const double  s) const

◆ GetPnCJunction()

int apollo::planning::ReferenceLineInfo::GetPnCJunction ( const double  s,
hdmap::PathOverlap pnc_junction_overlap 
) const

◆ GetPriority()

uint32_t apollo::planning::ReferenceLineInfo::GetPriority ( ) const
inline

◆ GetRightOfWayStatus()

ADCTrajectory::RightOfWayStatus apollo::planning::ReferenceLineInfo::GetRightOfWayStatus ( ) const

◆ Init()

bool apollo::planning::ReferenceLineInfo::Init ( const std::vector< const Obstacle *> &  obstacles)

◆ is_path_lane_borrow()

bool apollo::planning::ReferenceLineInfo::is_path_lane_borrow ( ) const
inline

◆ IsChangeLanePath()

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.

◆ IsDrivable()

bool apollo::planning::ReferenceLineInfo::IsDrivable ( ) const

◆ IsNeighborLanePath()

bool apollo::planning::ReferenceLineInfo::IsNeighborLanePath ( ) const

Check if the current reference line is the neighbor of the vehicle current position

◆ IsStartFrom()

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.

Returns
returns true if current reference line starts on previous reference line, otherwise false.

◆ Lanes()

const hdmap::RouteSegments& apollo::planning::ReferenceLineInfo::Lanes ( ) const

◆ latency_stats()

const LatencyStats& apollo::planning::ReferenceLineInfo::latency_stats ( ) const
inline

◆ LocateLaneInfo()

hdmap::LaneInfoConstPtr apollo::planning::ReferenceLineInfo::LocateLaneInfo ( const double  s) const

◆ mutable_debug()

planning_internal::Debug* apollo::planning::ReferenceLineInfo::mutable_debug ( )
inline

◆ mutable_fallback_path_data()

PathData* apollo::planning::ReferenceLineInfo::mutable_fallback_path_data ( )

◆ mutable_latency_stats()

LatencyStats* apollo::planning::ReferenceLineInfo::mutable_latency_stats ( )
inline

◆ mutable_path_data()

PathData* apollo::planning::ReferenceLineInfo::mutable_path_data ( )

◆ mutable_reference_line()

ReferenceLine* apollo::planning::ReferenceLineInfo::mutable_reference_line ( )

◆ mutable_rss_info()

RSSInfo* apollo::planning::ReferenceLineInfo::mutable_rss_info ( )

◆ mutable_speed_data()

SpeedData* apollo::planning::ReferenceLineInfo::mutable_speed_data ( )

◆ mutable_st_graph_data()

StGraphData* apollo::planning::ReferenceLineInfo::mutable_st_graph_data ( )
inline

◆ OffsetToOtherReferenceLine()

double apollo::planning::ReferenceLineInfo::OffsetToOtherReferenceLine ( ) const
inline

◆ path_data()

const PathData& apollo::planning::ReferenceLineInfo::path_data ( ) const

◆ path_decision() [1/2]

PathDecision* apollo::planning::ReferenceLineInfo::path_decision ( )

◆ path_decision() [2/2]

const PathDecision& apollo::planning::ReferenceLineInfo::path_decision ( ) const

◆ path_reusable()

bool apollo::planning::ReferenceLineInfo::path_reusable ( ) const
inline

◆ PathSpeedDebugString()

std::string apollo::planning::ReferenceLineInfo::PathSpeedDebugString ( ) const

◆ planning_target()

const PlanningTarget& apollo::planning::ReferenceLineInfo::planning_target ( ) const
inline

◆ PriorityCost()

double apollo::planning::ReferenceLineInfo::PriorityCost ( ) const
inline

◆ ReachedDestination()

bool apollo::planning::ReferenceLineInfo::ReachedDestination ( ) const

◆ reference_line()

const ReferenceLine& apollo::planning::ReferenceLineInfo::reference_line ( ) const

◆ rss_info()

const RSSInfo& apollo::planning::ReferenceLineInfo::rss_info ( ) const

◆ SDistanceToDestination()

double apollo::planning::ReferenceLineInfo::SDistanceToDestination ( ) const

◆ set_is_on_reference_line()

void apollo::planning::ReferenceLineInfo::set_is_on_reference_line ( )
inline

◆ set_is_path_lane_borrow()

void apollo::planning::ReferenceLineInfo::set_is_path_lane_borrow ( const bool  is_path_lane_borrow)
inline

◆ set_path_reusable()

void apollo::planning::ReferenceLineInfo::set_path_reusable ( const bool  path_reusable)
inline

◆ set_trajectory_type()

void apollo::planning::ReferenceLineInfo::set_trajectory_type ( const ADCTrajectory::TrajectoryType  trajectory_type)
inline

◆ SetBlockingObstacle()

void apollo::planning::ReferenceLineInfo::SetBlockingObstacle ( const std::string &  blocking_obstacle_id)

◆ SetCandidatePathBoundaries()

void apollo::planning::ReferenceLineInfo::SetCandidatePathBoundaries ( std::vector< PathBoundary > &&  candidate_path_boundaries)

◆ SetCandidatePathData()

void apollo::planning::ReferenceLineInfo::SetCandidatePathData ( std::vector< PathData > &&  candidate_path_data)

◆ SetCost()

void apollo::planning::ReferenceLineInfo::SetCost ( double  cost)
inline

◆ SetCruiseSpeed()

void apollo::planning::ReferenceLineInfo::SetCruiseSpeed ( double  speed)
inline

◆ SetDrivable()

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

◆ SetEmergencyLight()

void apollo::planning::ReferenceLineInfo::SetEmergencyLight ( )

◆ SetJunctionRightOfWay()

void apollo::planning::ReferenceLineInfo::SetJunctionRightOfWay ( const double  junction_s,
const bool  is_protected 
) const

◆ SetLatticeCruiseSpeed()

void apollo::planning::ReferenceLineInfo::SetLatticeCruiseSpeed ( double  speed)

◆ SetLatticeStopPoint()

void apollo::planning::ReferenceLineInfo::SetLatticeStopPoint ( const StopPoint &  stop_point)

◆ SetOffsetToOtherReferenceLine()

void apollo::planning::ReferenceLineInfo::SetOffsetToOtherReferenceLine ( const double  offset)
inline

◆ SetPriority()

void apollo::planning::ReferenceLineInfo::SetPriority ( uint32_t  priority)
inline

◆ SetPriorityCost()

void apollo::planning::ReferenceLineInfo::SetPriorityCost ( double  cost)
inline

◆ SetTrajectory()

void apollo::planning::ReferenceLineInfo::SetTrajectory ( const DiscretizedTrajectory trajectory)

◆ SetTurnSignal()

void apollo::planning::ReferenceLineInfo::SetTurnSignal ( const common::VehicleSignal::TurnSignal &  turn_signal)

◆ speed_data()

const SpeedData& apollo::planning::ReferenceLineInfo::speed_data ( ) const

◆ st_graph_data()

const StGraphData& apollo::planning::ReferenceLineInfo::st_graph_data ( )
inline

◆ TargetLaneId()

std::list<hdmap::Id> apollo::planning::ReferenceLineInfo::TargetLaneId ( ) const

◆ trajectory()

const DiscretizedTrajectory& apollo::planning::ReferenceLineInfo::trajectory ( ) const

◆ trajectory_type()

ADCTrajectory::TrajectoryType apollo::planning::ReferenceLineInfo::trajectory_type ( ) const
inline

◆ vehicle_state()

const common::VehicleState& apollo::planning::ReferenceLineInfo::vehicle_state ( ) const
inline

The documentation for this class was generated from the following file: