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

#include <basicmergeplanner.h>

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

Public Member Functions

 BasicMergePlanner (adore::view::ALaneChangeView *lcv, 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)
 
- 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_
 
CurvatureSpeedLimitPredict curvatureSpeedLimit_
 
LFVSpeedLimit lfvSpeedLimit_
 
DontDriveBackwards dontDriveBackwards_
 
LongitudinalAccelerationConstraint longitudinalAccelerationConstraintUB_
 
LongitudinalAccelerationConstraint longitudinalAccelerationConstraintLB_
 
StopAtNextGoalPoint stopAtNextGoalPoint_
 
AdhereToNextLimitLine stopAtRedLight_
 
AdhereToNextLimitLine stopAtCheckPoint_
 
FollowPrecedingVehicle_BreakingCurve followPrecedingVehicleOnSource_
 
FollowPrecedingVehicle_BreakingCurve followPrecedingVehicleOnTarget_
 
LateralAccelerationReference lateralAccelerationReference_
 
LateralJerkReference lateralJerkReference_
 
HeadingConstraint headingConstraintUB_
 
HeadingConstraint headingConstraintLB_
 
LateralAccelerationConstraint lateralAccelerationConstraintUB_
 
LateralAccelerationConstraint lateralAccelerationConstraintLB_
 
LateralOffsetConstraintLM lateralOffsetConstraint_left_
 
LateralOffsetConstraintLM lateralOffsetConstraint_right_
 
FollowCenterlineReference followCenterlineReference_
 

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::BasicMergePlanner< K, P >

Plans merge maneuvers, which finalize a lane change. Specialization of DecoupledLFLCPlanner for merge maneuver planning. The merge planner uses the lateral reference of lane following, but the constraints of the lane change: When the view switches lanes in the middle of the lane change, the vehicle may thus enter the new center lane.

Constructor & Destructor Documentation

◆ BasicMergePlanner()

reference for vehicle lateral position Constructor. Initializes references and constraints by linking them to required data abstraction views and parameters.

Parameters
lcvview for lane changing (determines direction of lane change, as well as source and target lane)
plonlongitudinal planning paramters
platlateral planning parameters
pvehvehicle parameters
ptrajectorytrajectory generation parameters
Here is the call graph for this function:

Member Data Documentation

◆ breakAtHorizon_

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

plan to reduce speed to standstill inside visible range

◆ curvatureSpeedLimit_

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

do not exceed lateral acceleration constraints in curve

◆ dontDriveBackwards_

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

only drive forwards

◆ followCenterlineReference_

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

◆ followPrecedingVehicleOnSource_

template<int K, int P>
FollowPrecedingVehicle_BreakingCurve adore::fun::BasicMergePlanner< K, P >::followPrecedingVehicleOnSource_
private

constraint enforcing vehicle to follow next vehicle on source lane

◆ followPrecedingVehicleOnTarget_

template<int K, int P>
FollowPrecedingVehicle_BreakingCurve adore::fun::BasicMergePlanner< K, P >::followPrecedingVehicleOnTarget_
private

constraint enforcing vehicle to follow next vehicle on target lane

◆ headingConstraintLB_

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

constraint for yaw angle deviation from road direction

◆ headingConstraintUB_

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

constraint for yaw angle deviation from road direction

◆ lateralAccelerationConstraintLB_

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

constraint for ay

◆ lateralAccelerationConstraintUB_

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

constraint for ay

◆ lateralAccelerationReference_

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

curvature supression

◆ lateralJerkReference_

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

jerk supression

◆ lateralOffsetConstraint_left_

template<int K, int P>
LateralOffsetConstraintLM adore::fun::BasicMergePlanner< K, P >::lateralOffsetConstraint_left_
private

constraint for staying in lane boundaries

◆ lateralOffsetConstraint_right_

template<int K, int P>
LateralOffsetConstraintLM adore::fun::BasicMergePlanner< K, P >::lateralOffsetConstraint_right_
private

constraint for staying in lane boundaries

◆ lfvSpeedLimit_

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

speed limit

◆ longitudinalAccelerationConstraintLB_

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

constraint for ax

◆ longitudinalAccelerationConstraintUB_

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

constraint for ax

◆ nominalReferenceSpeed_

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

speed reference

◆ stopAtCheckPoint_

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

constraint enforcing vehicle to stop at next checkpoint

◆ stopAtNextGoalPoint_

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

constraint enforcing vehicle to stop, if goal point is reached

◆ stopAtRedLight_

template<int K, int P>
AdhereToNextLimitLine adore::fun::BasicMergePlanner< 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: