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

NavigationLane generates a real-time relative map based on navagation lines. More...

#include <navigation_lane.h>

Collaboration diagram for apollo::relative_map::NavigationLane:
Collaboration graph

Public Member Functions

 NavigationLane ()=default
 
 NavigationLane (const NavigationLaneConfig &config)
 
 ~NavigationLane ()=default
 
void SetConfig (const NavigationLaneConfig &config)
 Set the configuration information required by the NavigationLane. More...
 
void SetVehicleStateProvider (common::VehicleStateProvider *vehicle_state_provider)
 
void UpdateNavigationInfo (const NavigationInfo &navigation_info)
 Update navigation line information. More...
 
void SetDefaultWidth (const double left_width, const double right_width)
 Set the default width of a lane. More...
 
bool GeneratePath ()
 Generate a suitable path (i.e. a navigation line segment). More...
 
void UpdatePerception (const perception::PerceptionObstacles &perception_obstacles)
 Update perceived lane line information. More...
 
NavigationPath Path () const
 Get the generated lane segment where the vehicle is currently located. More...
 
bool CreateMap (const MapGenerationParam &map_config, MapMsg *const map_msg) const
 Generate a real-time relative map of approximately 250 m in length based on several navigation line segments and map generation configuration information. More...
 

Detailed Description

NavigationLane generates a real-time relative map based on navagation lines.

First, several navigation lines are received from the NavigationInfo object;

Second, several navigation line segments with the length of about 250 m are cut from the whole navigation lines and the UTM coordinates are converted into local coordinates with the current position of the vehicle as the origin;

Third, the navigation line segment of the vehicle's current lane is merged with the perceived lane centerline.

Fourth, a real-time relative map is dynamically created based on navigation line segments and perceived lane width;

Fifth, the relative map is output as a MapMsg object pointer.

Constructor & Destructor Documentation

◆ NavigationLane() [1/2]

apollo::relative_map::NavigationLane::NavigationLane ( )
default

◆ NavigationLane() [2/2]

apollo::relative_map::NavigationLane::NavigationLane ( const NavigationLaneConfig &  config)
explicit

◆ ~NavigationLane()

apollo::relative_map::NavigationLane::~NavigationLane ( )
default

Member Function Documentation

◆ CreateMap()

bool apollo::relative_map::NavigationLane::CreateMap ( const MapGenerationParam &  map_config,
MapMsg *const  map_msg 
) const

Generate a real-time relative map of approximately 250 m in length based on several navigation line segments and map generation configuration information.

Parameters
map_configMap generation configuration information.
map_msgA pointer which outputs the real-time relative map.
Returns
True if the real-time relative map is created; false otherwise.

◆ GeneratePath()

bool apollo::relative_map::NavigationLane::GeneratePath ( )

Generate a suitable path (i.e. a navigation line segment).

Parameters

◆ Path()

NavigationPath apollo::relative_map::NavigationLane::Path ( ) const
inline

Get the generated lane segment where the vehicle is currently located.

Parameters

◆ SetConfig()

void apollo::relative_map::NavigationLane::SetConfig ( const NavigationLaneConfig &  config)

Set the configuration information required by the NavigationLane.

Parameters
configConfiguration object.
Returns
None.

◆ SetDefaultWidth()

void apollo::relative_map::NavigationLane::SetDefaultWidth ( const double  left_width,
const double  right_width 
)
inline

Set the default width of a lane.

Parameters
left_widthLeft half width of a lane.
right_widthRight half width of a lane.
Returns
None.

◆ SetVehicleStateProvider()

void apollo::relative_map::NavigationLane::SetVehicleStateProvider ( common::VehicleStateProvider vehicle_state_provider)

◆ UpdateNavigationInfo()

void apollo::relative_map::NavigationLane::UpdateNavigationInfo ( const NavigationInfo &  navigation_info)

Update navigation line information.

Parameters
navigation_infoNavigation line information to be updated.
Returns
None.

◆ UpdatePerception()

void apollo::relative_map::NavigationLane::UpdatePerception ( const perception::PerceptionObstacles &  perception_obstacles)
inline

Update perceived lane line information.

Parameters
perception_obstaclesPerceived lane line information to be updated.
Returns
None.

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