ADORe
ADORe is a modular open source software library and toolkit for decision making, planning, control and simulation of automated vehicles
adore::apps::TrajectoryPlannerALC Class Reference

Decoupled trajectory planner, which uses TrajectoryPlannerBase to compute and provide a PlanningResult in the event of a PlanningRequest Computes a lane change trajectory using advanced lane change planner. More...

#include <trajectory_planner_alc.h>

Inheritance diagram for adore::apps::TrajectoryPlannerALC:
Inheritance graph
Collaboration diagram for adore::apps::TrajectoryPlannerALC:
Collaboration graph

Public Member Functions

virtual ~TrajectoryPlannerALC ()
 
void setEMContinueActive (bool value)
 
void setEMCancelActive (bool value)
 
 TrajectoryPlannerALC (bool directionLeft, std::string name, int id, double lateral_i_grid)
 
void setSpeedScale (double value)
 
void setConstPenalty (double value)
 
virtual void computeTrajectory (const adore::fun::PlanningRequest &planning_request, adore::fun::PlanningResult &planning_result) override
 update data, views and recompute maneuver More...
 
- Public Member Functions inherited from adore::apps::TrajectoryPlannerBase
virtual ~TrajectoryPlannerBase ()
 
 TrajectoryPlannerBase ()
 
void prime ()
 
void planning_request_handler ()
 

Private Types

typedef adore::fun::AdvancedLaneChangePlanner< 20, 5 > TNominalPlanner
 
typedef adore::fun::CancelLCMRMPlanner< 20, 5 > TEmergencyPlanner1
 
typedef adore::fun::ContinueLCMRMPlanner< 20, 5 > TEmergencyPlanner2
 

Private Attributes

TNominalPlannernominal_planner_
 
TEmergencyPlanner1emergency_planner1_
 
TEmergencyPlanner2emergency_planner2_
 
adore::env::ThreeLaneViewDecoupled three_lanes_
 
adore::params::APVehiclepvehicle_
 
adore::params::APTacticalPlannerpTacticalPlanner_
 
adore::params::APTrajectoryGenerationpTrajectoryGeneration_
 
adore::params::APEmergencyOperationpEmergencyOperation_
 
adore::env::NavigationGoalObserver ngo_
 
adore::env::ControlledConnectionSet4Ego connectionSet_
 
adore::env::ControlledConnectionSet4Ego checkPointSet_
 
adore::env::ConnectionsOnLaneconnectionsOnLaneSource_
 
adore::env::ConnectionsOnLaneconnectionsOnLaneTarget_
 
adore::env::ConnectionsOnLanecheckPointsOnTargetLane_
 
adore::env::ConnectionsOnLanecheckPointsOnSourceLane_
 
adore::env::DecoupledTrafficPredictionView prediction_
 
adore::env::EmptyGap gap_
 
adore::fun::SPRTTCNominal ttcCost_
 
adore::fun::SPRNonCoercive coercion_detection_
 
adore::fun::SPRInvariantCollisionFreedom collision_detection_
 
int id_
 
std::string plannerName_
 
bool directionLeft_
 
bool gapTrackingActive_
 
double lateral_i_grid_
 
double const_penalty_
 
double gapX_
 
double gapY_
 
double gapT_
 
double gapv_
 
double gaps_
 
bool em_continue_active_
 
bool em_cancel_active_
 

Detailed Description

Decoupled trajectory planner, which uses TrajectoryPlannerBase to compute and provide a PlanningResult in the event of a PlanningRequest Computes a lane change trajectory using advanced lane change planner.

Member Typedef Documentation

◆ TEmergencyPlanner1

◆ TEmergencyPlanner2

◆ TNominalPlanner

Constructor & Destructor Documentation

◆ ~TrajectoryPlannerALC()

virtual adore::apps::TrajectoryPlannerALC::~TrajectoryPlannerALC ( )
inlinevirtual

de/cativate emergency maenuver for canceling of lane change

◆ TrajectoryPlannerALC()

adore::apps::TrajectoryPlannerALC::TrajectoryPlannerALC ( bool  directionLeft,
std::string  name,
int  id,
double  lateral_i_grid 
)
inline
Here is the call graph for this function:

Member Function Documentation

◆ computeTrajectory()

virtual void adore::apps::TrajectoryPlannerALC::computeTrajectory ( const adore::fun::PlanningRequest planning_request,
adore::fun::PlanningResult planning_result 
)
inlineoverridevirtual

update data, views and recompute maneuver

Implements adore::apps::TrajectoryPlannerBase.

◆ setConstPenalty()

void adore::apps::TrajectoryPlannerALC::setConstPenalty ( double  value)
inline
Here is the caller graph for this function:

◆ setEMCancelActive()

void adore::apps::TrajectoryPlannerALC::setEMCancelActive ( bool  value)
inline
Here is the caller graph for this function:

◆ setEMContinueActive()

void adore::apps::TrajectoryPlannerALC::setEMContinueActive ( bool  value)
inline
Here is the caller graph for this function:

◆ setSpeedScale()

void adore::apps::TrajectoryPlannerALC::setSpeedScale ( double  value)
inline
Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ checkPointSet_

adore::env::ControlledConnectionSet4Ego adore::apps::TrajectoryPlannerALC::checkPointSet_
private

state of checkPoints in area

◆ checkPointsOnSourceLane_

adore::env::ConnectionsOnLane* adore::apps::TrajectoryPlannerALC::checkPointsOnSourceLane_
private

map controlled connections to lane

◆ checkPointsOnTargetLane_

adore::env::ConnectionsOnLane* adore::apps::TrajectoryPlannerALC::checkPointsOnTargetLane_
private

◆ coercion_detection_

adore::fun::SPRNonCoercive adore::apps::TrajectoryPlannerALC::coercion_detection_
private

collision detection vs expected behavior

◆ collision_detection_

adore::fun::SPRInvariantCollisionFreedom adore::apps::TrajectoryPlannerALC::collision_detection_
private

combined maneuver post-processing constraints collision detection with traffic predictions

◆ connectionSet_

adore::env::ControlledConnectionSet4Ego adore::apps::TrajectoryPlannerALC::connectionSet_
private

state of controlled connections in area

◆ connectionsOnLaneSource_

adore::env::ConnectionsOnLane* adore::apps::TrajectoryPlannerALC::connectionsOnLaneSource_
private

◆ connectionsOnLaneTarget_

adore::env::ConnectionsOnLane* adore::apps::TrajectoryPlannerALC::connectionsOnLaneTarget_
private

map controlled connections to lane

◆ const_penalty_

double adore::apps::TrajectoryPlannerALC::const_penalty_
private

◆ directionLeft_

bool adore::apps::TrajectoryPlannerALC::directionLeft_
private

true if lane change to the left

◆ em_cancel_active_

bool adore::apps::TrajectoryPlannerALC::em_cancel_active_
private

◆ em_continue_active_

bool adore::apps::TrajectoryPlannerALC::em_continue_active_
private

de/activate emergency maneuver for continuation of lane change

◆ emergency_planner1_

TEmergencyPlanner1* adore::apps::TrajectoryPlannerALC::emergency_planner1_
private

◆ emergency_planner2_

TEmergencyPlanner2* adore::apps::TrajectoryPlannerALC::emergency_planner2_
private

◆ gap_

adore::env::EmptyGap adore::apps::TrajectoryPlannerALC::gap_
private

an empty gap for testing

◆ gaps_

double adore::apps::TrajectoryPlannerALC::gaps_
private

last s-progress associated with gapX_ and gapY_

◆ gapT_

double adore::apps::TrajectoryPlannerALC::gapT_
private

last time of iteration

◆ gapTrackingActive_

bool adore::apps::TrajectoryPlannerALC::gapTrackingActive_
private

true if gap tracking was active in last iteration

◆ gapv_

double adore::apps::TrajectoryPlannerALC::gapv_
private

last observed speed of gap

◆ gapX_

double adore::apps::TrajectoryPlannerALC::gapX_
private

penalty, which is always added to cost last X position of gap

◆ gapY_

double adore::apps::TrajectoryPlannerALC::gapY_
private

last Y position of gap

◆ id_

int adore::apps::TrajectoryPlannerALC::id_
private

integral id to be written to PlanningResult

◆ lateral_i_grid_

double adore::apps::TrajectoryPlannerALC::lateral_i_grid_
private

offset variation index

◆ ngo_

adore::env::NavigationGoalObserver adore::apps::TrajectoryPlannerALC::ngo_
private

◆ nominal_planner_

TNominalPlanner* adore::apps::TrajectoryPlannerALC::nominal_planner_
private

◆ pEmergencyOperation_

adore::params::APEmergencyOperation* adore::apps::TrajectoryPlannerALC::pEmergencyOperation_
private

◆ plannerName_

std::string adore::apps::TrajectoryPlannerALC::plannerName_
private

human readable planner name written to PlanningResult

◆ prediction_

adore::env::DecoupledTrafficPredictionView adore::apps::TrajectoryPlannerALC::prediction_
private

map controlled connections to lane collision detection based representation of traffic

◆ pTacticalPlanner_

adore::params::APTacticalPlanner* adore::apps::TrajectoryPlannerALC::pTacticalPlanner_
private

◆ pTrajectoryGeneration_

adore::params::APTrajectoryGeneration* adore::apps::TrajectoryPlannerALC::pTrajectoryGeneration_
private

◆ pvehicle_

adore::params::APVehicle* adore::apps::TrajectoryPlannerALC::pvehicle_
private

◆ three_lanes_

adore::env::ThreeLaneViewDecoupled adore::apps::TrajectoryPlannerALC::three_lanes_
private

lane-based representation of environment

◆ ttcCost_

adore::fun::SPRTTCNominal adore::apps::TrajectoryPlannerALC::ttcCost_
private

collision detection based ttc computation


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