ADORe
ADORe is a modular open source software library and toolkit for decision making, planning, control and simulation of automated vehicles
basicmrmplanner.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  * Daniel Heß - initial API and implementation
13  ********************************************************************************/
14 
15 #pragma once
16 #include "mrmplanner.h"
18 #include <adore/view/alane.h>
22 
23 
24 namespace adore
25 {
26  namespace fun
27  {
28 
34  template<int K,int P>
35  class BasicMRMPlanner:public MRMPlanner<K,P>
36  {
37  private:
48  public:
63  double lateral_i_grid = 0.0)
64  : MRMPlanner<K,P>(lfv,plat,pveh,ptrajectory),
65  followCenterlineReference_(lfv,lateral_i_grid),
74  {
75  this->getOffsetSolver().getInformationSet().add(&followCenterlineReference_);
76  this->getOffsetSolver().getInformationSet().add(&lateralAccelerationReference_);
77  this->getOffsetSolver().getInformationSet().add(&lateralJerkReference_);
78  this->getOffsetSolver().getInformationSet().add(&lateralOffsetConstraintLFUB_);
79  this->getOffsetSolver().getInformationSet().add(&lateralOffsetConstraintLFLB_);
80  this->getOffsetSolver().getInformationSet().add(&headingConstraintUB_);
81  this->getOffsetSolver().getInformationSet().add(&headingConstraintLB_);
82  this->getOffsetSolver().getInformationSet().add(&lateralAccelerationConstraintUB_);
83  this->getOffsetSolver().getInformationSet().add(&lateralAccelerationConstraintLB_);
84  }
85 
87  {
88  this->info_.add(constraint);
89  }
90 
92  {
93  this->info_.add(reference);
94  }
95  };
96  }
97 }
Definition: anominalplanner.h:52
Definition: anominalplanner.h:96
Plans minimum risk maneuvers on given lane. K number of control points for planning....
Definition: basicmrmplanner.h:36
LateralAccelerationReference lateralAccelerationReference_
Definition: basicmrmplanner.h:39
HeadingConstraint headingConstraintLB_
Definition: basicmrmplanner.h:44
LateralJerkReference lateralJerkReference_
Definition: basicmrmplanner.h:40
LateralOffsetConstraintLF lateralOffsetConstraintLFUB_
Definition: basicmrmplanner.h:41
void addReference(ANominalReference *reference)
Definition: basicmrmplanner.h:91
BasicMRMPlanner(adore::view::ALane *lfv, adore::params::APLateralPlanner *plat, adore::params::APTacticalPlanner *ptac, adore::params::APVehicle *pveh, adore::params::APTrajectoryGeneration *ptrajectory, double lateral_i_grid=0.0)
Definition: basicmrmplanner.h:58
FollowCenterlineReference followCenterlineReference_
Definition: basicmrmplanner.h:38
void addConstraint(ANominalConstraint *constraint)
Definition: basicmrmplanner.h:86
LateralAccelerationConstraint lateralAccelerationConstraintLB_
Definition: basicmrmplanner.h:46
LateralAccelerationConstraint lateralAccelerationConstraintUB_
Definition: basicmrmplanner.h:45
LateralOffsetConstraintLF lateralOffsetConstraintLFLB_
Definition: basicmrmplanner.h:42
HeadingConstraint headingConstraintUB_
Definition: basicmrmplanner.h:43
Definition: basicconstraintsandreferences.h:650
Definition: basicconstraintsandreferences.h:409
Definition: basicconstraintsandreferences.h:361
Definition: basicconstraintsandreferences.h:547
Definition: basicconstraintsandreferences.h:575
Definition: basicconstraintsandreferences.h:700
Definition: mrmplanner.h:32
LateralPlanner< K, P > & getOffsetSolver()
Definition: mrmplanner.h:259
abstract class containing parameters related to configuring the lateral planner
Definition: ap_lateral_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: alane.h:28
Definition: areaofeffectconverter.h:20