ADORe
ADORe is a modular open source software library and toolkit for decision making, planning, control and simulation of automated vehicles
basicmergeplanner.h
Go to the documentation of this file.
1 /********************************************************************************
2  * Copyright (C) 2017-2020 German Aerospace Center (DLR).
3  * Eclipse ADORe, Automated Driving Open Research https://eclipse.org/adore
4  *
5  * This program and the accompanying materials are made available under the
6  * terms of the Eclipse Public License 2.0 which is available at
7  * http://www.eclipse.org/legal/epl-2.0.
8  *
9  * SPDX-License-Identifier: EPL-2.0
10  *
11  * Contributors:
12  * Matthias Nichting - initial API and implementation
13  ********************************************************************************/
14 
15 
16 #pragma once
17 #include "decoupled_lflc_planner.h"
20 #include <adore/view/alane.h>
24 
25 
26 namespace adore
27 {
28  namespace fun
29  {
36  template<int K,int P>
38  {
39  private:
62  public:
63 
75  adore::view::ALimitLineEnRoute* controlledConnection,
82  : DecoupledLFLCPlanner<K,P>(lcv->getSourceLane(),plon,plat,pveh,ptrajectory),
83  nominalReferenceSpeed_(lcv->getSourceLane(),plon,ptac),
84  breakAtHorizon_(lcv->getSourceLane(),pveh,ptrajectory),
85  curvatureSpeedLimit_(lcv->getSourceLane(),plon),
86  lfvSpeedLimit_(lcv->getSourceLane(),ptac),
90  lateralAccelerationReference_(lcv->getSourceLane()),
91  lateralJerkReference_(lcv->getSourceLane()),
92  followPrecedingVehicleOnSource_(lcv->getSourceLane(),pveh,ptac,ptrajectory),
93  followPrecedingVehicleOnTarget_(lcv->getTargetLane(),pveh,ptac,ptrajectory),
94  stopAtNextGoalPoint_(goalview),
95  stopAtRedLight_(controlledConnection),
96  stopAtCheckPoint_(checkpoint),
99  lateralAccelerationConstraintUB_(lcv->getSourceLane(),plat,ANominalConstraint::UB),
100  lateralAccelerationConstraintLB_(lcv->getSourceLane(),plat,ANominalConstraint::LB),
103  followCenterlineReference_(lcv->getSourceLane())
104  {
105  this->info_.add(&nominalReferenceSpeed_);
106  this->info_.add(&breakAtHorizon_);
107  this->info_.add(&curvatureSpeedLimit_);
108  this->info_.add(&lfvSpeedLimit_);
109  this->info_.add(&dontDriveBackwards_);
110  this->info_.add(&longitudinalAccelerationConstraintUB_);
111  this->info_.add(&longitudinalAccelerationConstraintLB_);
112  this->info_.add(&followPrecedingVehicleOnSource_);
113  this->info_.add(&followPrecedingVehicleOnTarget_);
114  this->info_.add(&stopAtNextGoalPoint_);
115  this->info_.add(&stopAtRedLight_);
116  this->info_.add(&stopAtCheckPoint_);
117  this->info_.add(&lateralAccelerationReference_);
118  this->info_.add(&lateralJerkReference_);
119  this->info_.add(&headingConstraintUB_);
120  this->info_.add(&headingConstraintLB_);
121  this->info_.add(&lateralAccelerationConstraintUB_);
122  this->info_.add(&lateralAccelerationConstraintLB_);
123  this->info_.add(&lateralOffsetConstraint_left_);
124  this->info_.add(&lateralOffsetConstraint_right_);
125  this->info_.add(&followCenterlineReference_);
126  }
127 
128  };
129  }
130 }
Definition: anominalplanner.h:52
Definition: basicconstraintsandreferences.h:1043
Definition: basicmergeplanner.h:38
BreakAtHorizon breakAtHorizon_
Definition: basicmergeplanner.h:41
LateralOffsetConstraintLM lateralOffsetConstraint_left_
Definition: basicmergeplanner.h:59
LongitudinalAccelerationConstraint longitudinalAccelerationConstraintUB_
Definition: basicmergeplanner.h:45
LateralOffsetConstraintLM lateralOffsetConstraint_right_
Definition: basicmergeplanner.h:60
LFVSpeedLimit lfvSpeedLimit_
Definition: basicmergeplanner.h:43
CurvatureSpeedLimitPredict curvatureSpeedLimit_
Definition: basicmergeplanner.h:42
LateralAccelerationConstraint lateralAccelerationConstraintLB_
Definition: basicmergeplanner.h:58
FollowCenterlineReference followCenterlineReference_
Definition: basicmergeplanner.h:61
LateralAccelerationReference lateralAccelerationReference_
Definition: basicmergeplanner.h:53
DontDriveBackwards dontDriveBackwards_
Definition: basicmergeplanner.h:44
NominalReferenceSpeed nominalReferenceSpeed_
Definition: basicmergeplanner.h:40
LateralAccelerationConstraint lateralAccelerationConstraintUB_
Definition: basicmergeplanner.h:57
LongitudinalAccelerationConstraint longitudinalAccelerationConstraintLB_
Definition: basicmergeplanner.h:46
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)
Definition: basicmergeplanner.h:73
LateralJerkReference lateralJerkReference_
Definition: basicmergeplanner.h:54
FollowPrecedingVehicle_BreakingCurve followPrecedingVehicleOnTarget_
Definition: basicmergeplanner.h:51
FollowPrecedingVehicle_BreakingCurve followPrecedingVehicleOnSource_
Definition: basicmergeplanner.h:50
HeadingConstraint headingConstraintLB_
Definition: basicmergeplanner.h:56
StopAtNextGoalPoint stopAtNextGoalPoint_
Definition: basicmergeplanner.h:47
HeadingConstraint headingConstraintUB_
Definition: basicmergeplanner.h:55
AdhereToNextLimitLine stopAtRedLight_
Definition: basicmergeplanner.h:48
AdhereToNextLimitLine stopAtCheckPoint_
Definition: basicmergeplanner.h:49
Definition: basicconstraintsandreferences.h:323
Definition: basicconstraintsandreferences.h:119
Definition: decoupled_lflc_planner.h:42
TInformationSet info_
Definition: decoupled_lflc_planner.h:52
Definition: basicconstraintsandreferences.h:178
Definition: basicconstraintsandreferences.h:650
Definition: basicconstraintsandreferences.h:917
Definition: basicconstraintsandreferences.h:409
Definition: basicconstraintsandreferences.h:453
Definition: basicconstraintsandreferences.h:361
Definition: basicconstraintsandreferences.h:547
Definition: basicconstraintsandreferences.h:575
Definition: lanechangeconstraintsandreferences.h:468
Definition: basicconstraintsandreferences.h:804
void add(ANominalReference *r)
Definition: anominalplannerinformation.h:68
Definition: basicconstraintsandreferences.h:603
Definition: basicconstraintsandreferences.h:1133
abstract class containing parameters related to configuring the lateral planner
Definition: ap_lateral_planner.h:26
abstract class containing parameters related to configuring the longitudinal planner
Definition: ap_longitudinal_planner.h:26
abstract classs containing parameters to configure aspects and constraints of the tactical planner
Definition: ap_tactical_planner.h:25
abstract class containing parameters to configure the behaviour of trajectory generation
Definition: ap_trajectory_generation.h:26
abstract class for vehicle configuration related paremeters
Definition: ap_vehicle.h:29
Definition: alanechangeview.h:27
Definition: alimitlineenroute.h:26
Definition: anavigationgoalview.h:25
Definition: areaofeffectconverter.h:20