ADORe
ADORe is a modular open source software library and toolkit for decision making, planning, control and simulation of automated vehicles
adore::fun::BasicLaneFollowingPlanner< K, P > Class Template Reference

#include <basiclanefollowingplanner.h>

Inheritance diagram for adore::fun::BasicLaneFollowingPlanner< K, P >:
Inheritance graph
Collaboration diagram for adore::fun::BasicLaneFollowingPlanner< K, P >:
Collaboration graph

Public Member Functions

 BasicLaneFollowingPlanner (adore::view::ALane *lfv, adore::view::ANavigationGoalView *goalview, adore::view::ALimitLineEnRoute *controlledConnection, adore::view::ALimitLineEnRoute *checkpoint, adore::params::APLongitudinalPlanner *plon, adore::params::APLateralPlanner *plat, adore::params::APTacticalPlanner *ptac, adore::params::APVehicle *pveh, adore::params::APTrajectoryGeneration *ptrajectory, double lateral_i_grid=0.0)
 
void addConstraint (ANominalConstraint *constraint)
 
void addReference (ANominalReference *reference)
 
void setSpeedScale (double value)
 
void setConflictSet (adore::view::AConflictPointSet *conflicts)
 
- Public Member Functions inherited from adore::fun::DecoupledLFLCPlanner< K, P >
 DecoupledLFLCPlanner (adore::view::ALane *lfv, adore::params::APLongitudinalPlanner *aplon, adore::params::APLateralPlanner *aplat, adore::params::APVehicle *apvehicle, adore::params::APTrajectoryGeneration *aptrajectory)
 
void setPlanningHorizon (double Tend)
 
double getPlanningHorizon () const
 
TInformationSetgetInformationSet ()
 
TProgressSolvergetProgressSolver ()
 
TOffsetSolvergetOffsetSolver ()
 
RoadCoordinateConvertergetRoadCoordinateConverter ()
 
std::string getStatus ()
 
virtual void compute (const VehicleMotionState9d &initial_state) override
 
virtual bool hasValidPlan () const override
 
virtual const SetPointRequestgetSetPointRequest () const override
 
virtual double getCPUTime () const override
 

Private Attributes

NominalReferenceSpeed nominalReferenceSpeed_
 
BreakAtHorizon breakAtHorizon_
 
DistanceToLaneEndConstraint keepDistanceToLaneEnd_
 
CurvatureSpeedLimitPredict curvatureSpeedLimit_
 
LFVSpeedLimit lfvSpeedLimit_
 
DontDriveBackwards dontDriveBackwards_
 
LongitudinalAccelerationConstraint longitudinalAccelerationConstraintUB_
 
LongitudinalAccelerationConstraint longitudinalAccelerationConstraintLB_
 
FollowPrecedingVehicle_BreakingCurve followPrecedingVehicle_
 
LowerBoundSGapToPrecedingVehicle lowerBoundSGapToPrecedingVehicle_
 
LaneWidthSpeedLimitLFV laneWidthSpeedLimitLFV_
 
StopAtBottleneckLFV stopAtBottleneckLFV_
 
StopAtNextGoalPoint stopAtNextGoalPoint_
 
AdhereToNextLimitLine stopAtRedLight_
 
AdhereToNextLimitLine stopAtCheckPoint_
 
StopAtNextConflictPoint stopAtNextConflictPoint_
 
FollowCenterlineReference followCenterlineReference_
 
LateralAccelerationReference lateralAccelerationReference_
 
LateralJerkReference lateralJerkReference_
 
LateralOffsetConstraintLF lateralOffsetConstraintLFUB_
 
LateralOffsetConstraintLF lateralOffsetConstraintLFLB_
 
HeadingConstraint headingConstraintUB_
 
HeadingConstraint headingConstraintLB_
 
LateralAccelerationConstraint lateralAccelerationConstraintUB_
 
LateralAccelerationConstraint lateralAccelerationConstraintLB_
 

Additional Inherited Members

- Public Types inherited from adore::fun::DecoupledLFLCPlanner< K, P >
typedef adore::mad::LQ_OC_single_shooting< N, R, K, P > TProgressSolver
 
typedef adore::mad::LQ_OC_single_shooting< N, R, K, P > TOffsetSolver
 
typedef NominalPlannerInformationSet< N+1, 2 > TInformationSet
 
- Static Public Attributes inherited from adore::fun::DecoupledLFLCPlanner< K, P >
static const int N = 3
 
static const int R = 1
 
- Protected Attributes inherited from adore::fun::DecoupledLFLCPlanner< K, P >
TInformationSet info_
 

Detailed Description

template<int K, int P>
class adore::fun::BasicLaneFollowingPlanner< K, P >

Plans lane change maneuvers. Specialization of DecoupledLFLCPlanner for lane following maneuver planning. K number of control points for planning. P interpolation points per planning step.

Constructor & Destructor Documentation

◆ BasicLaneFollowingPlanner()

Constructor. Initializes references and constraints by linking them to required data abstraction views and parameters.

Parameters
lfvview for lane following: must be valid pointer
goalviewset to nullptr to ignore. Set to valid ANavigationGoalView in order to stop vehicle at goal
controlledConnectionlimit line for red-light on lane, set to nullptr to deactivate
checkpointcheckpoint on lane, set to nullptr to deactivate
plonlongitudinal planning paramters
platlateral planning parameters
pvehvehicle parameters
ptrajectorytrajectory generation parameters
lateral_i_gridlateral grid index
Here is the call graph for this function:

Member Function Documentation

◆ addConstraint()

template<int K, int P>
void adore::fun::BasicLaneFollowingPlanner< K, P >::addConstraint ( ANominalConstraint constraint)
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ addReference()

template<int K, int P>
void adore::fun::BasicLaneFollowingPlanner< K, P >::addReference ( ANominalReference reference)
inline
Here is the call graph for this function:

◆ setConflictSet()

template<int K, int P>
void adore::fun::BasicLaneFollowingPlanner< K, P >::setConflictSet ( adore::view::AConflictPointSet conflicts)
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ setSpeedScale()

template<int K, int P>
void adore::fun::BasicLaneFollowingPlanner< K, P >::setSpeedScale ( double  value)
inline

setSpeedScale - define reference speed to be a certain percentage of the

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ breakAtHorizon_

template<int K, int P>
BreakAtHorizon adore::fun::BasicLaneFollowingPlanner< K, P >::breakAtHorizon_
private

plan to reduce speed to standstill inside visible range

◆ curvatureSpeedLimit_

template<int K, int P>
CurvatureSpeedLimitPredict adore::fun::BasicLaneFollowingPlanner< K, P >::curvatureSpeedLimit_
private

do not exceed lateral acceleration constraints in curve

◆ dontDriveBackwards_

template<int K, int P>
DontDriveBackwards adore::fun::BasicLaneFollowingPlanner< K, P >::dontDriveBackwards_
private

limit maneuver to movement in prescribed lane direction

◆ followCenterlineReference_

template<int K, int P>
FollowCenterlineReference adore::fun::BasicLaneFollowingPlanner< K, P >::followCenterlineReference_
private

reference for lateral position: follow the middle of the lane

◆ followPrecedingVehicle_

template<int K, int P>
FollowPrecedingVehicle_BreakingCurve adore::fun::BasicLaneFollowingPlanner< K, P >::followPrecedingVehicle_
private

uses breaking curve

◆ headingConstraintLB_

template<int K, int P>
HeadingConstraint adore::fun::BasicLaneFollowingPlanner< K, P >::headingConstraintLB_
private

constraint for deviation from road direction

◆ headingConstraintUB_

template<int K, int P>
HeadingConstraint adore::fun::BasicLaneFollowingPlanner< K, P >::headingConstraintUB_
private

constraint for deviation from road direction

◆ keepDistanceToLaneEnd_

template<int K, int P>
DistanceToLaneEndConstraint adore::fun::BasicLaneFollowingPlanner< K, P >::keepDistanceToLaneEnd_
private

plan to reduce speed to standstill before end of lane

◆ laneWidthSpeedLimitLFV_

template<int K, int P>
LaneWidthSpeedLimitLFV adore::fun::BasicLaneFollowingPlanner< K, P >::laneWidthSpeedLimitLFV_
private

constraint enforcing slow movement through narrow gaps

◆ lateralAccelerationConstraintLB_

template<int K, int P>
LateralAccelerationConstraint adore::fun::BasicLaneFollowingPlanner< K, P >::lateralAccelerationConstraintLB_
private

constraint for ay

◆ lateralAccelerationConstraintUB_

template<int K, int P>
LateralAccelerationConstraint adore::fun::BasicLaneFollowingPlanner< K, P >::lateralAccelerationConstraintUB_
private

constraint for ay

◆ lateralAccelerationReference_

template<int K, int P>
LateralAccelerationReference adore::fun::BasicLaneFollowingPlanner< K, P >::lateralAccelerationReference_
private

curvature compensation

◆ lateralJerkReference_

template<int K, int P>
LateralJerkReference adore::fun::BasicLaneFollowingPlanner< K, P >::lateralJerkReference_
private

lateral jerk compensation

◆ lateralOffsetConstraintLFLB_

template<int K, int P>
LateralOffsetConstraintLF adore::fun::BasicLaneFollowingPlanner< K, P >::lateralOffsetConstraintLFLB_
private

lateral position bounds governed by lane boundaries

◆ lateralOffsetConstraintLFUB_

template<int K, int P>
LateralOffsetConstraintLF adore::fun::BasicLaneFollowingPlanner< K, P >::lateralOffsetConstraintLFUB_
private

lateral position bounds governed by lane boundaries

◆ lfvSpeedLimit_

template<int K, int P>
LFVSpeedLimit adore::fun::BasicLaneFollowingPlanner< K, P >::lfvSpeedLimit_
private

speed limit

◆ longitudinalAccelerationConstraintLB_

template<int K, int P>
LongitudinalAccelerationConstraint adore::fun::BasicLaneFollowingPlanner< K, P >::longitudinalAccelerationConstraintLB_
private

constraint for ax

◆ longitudinalAccelerationConstraintUB_

template<int K, int P>
LongitudinalAccelerationConstraint adore::fun::BasicLaneFollowingPlanner< K, P >::longitudinalAccelerationConstraintUB_
private

constraint for ax

◆ lowerBoundSGapToPrecedingVehicle_

template<int K, int P>
LowerBoundSGapToPrecedingVehicle adore::fun::BasicLaneFollowingPlanner< K, P >::lowerBoundSGapToPrecedingVehicle_
private

◆ nominalReferenceSpeed_

template<int K, int P>
NominalReferenceSpeed adore::fun::BasicLaneFollowingPlanner< K, P >::nominalReferenceSpeed_
private

reference for vehicle speed

◆ stopAtBottleneckLFV_

template<int K, int P>
StopAtBottleneckLFV adore::fun::BasicLaneFollowingPlanner< K, P >::stopAtBottleneckLFV_
private

constraint enforcing vehicle to stop, if road is too narrow

◆ stopAtCheckPoint_

template<int K, int P>
AdhereToNextLimitLine adore::fun::BasicLaneFollowingPlanner< K, P >::stopAtCheckPoint_
private

constraint enforcing vehicle to stop at next checkpoint

◆ stopAtNextConflictPoint_

template<int K, int P>
StopAtNextConflictPoint adore::fun::BasicLaneFollowingPlanner< K, P >::stopAtNextConflictPoint_
private

◆ stopAtNextGoalPoint_

template<int K, int P>
StopAtNextGoalPoint adore::fun::BasicLaneFollowingPlanner< K, P >::stopAtNextGoalPoint_
private

constraint enforcing vehicle to stop, if goal point is reached

◆ stopAtRedLight_

template<int K, int P>
AdhereToNextLimitLine adore::fun::BasicLaneFollowingPlanner< K, P >::stopAtRedLight_
private

constraint enforcing vehicle to stop at next controlled connection, if it is switched to red


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