ADORe
ADORe is a modular open source software library and toolkit for decision making, planning, control and simulation of automated vehicles
cancellcmrmplanner.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>
23 
24 
25 namespace adore
26 {
27  namespace fun
28  {
29 
33  template<int K,int P>
34  class CancelLCMRMPlanner:public MRMPlanner<K,P>
35  {
36  private:
49  public:
63  : MRMPlanner<K,P>(lcv->getTargetLane(),plat,pveh,ptrajectory),
64  followVehicleConstraint_(lcv->getSourceLane(),pveh,ptac,ptrajectory),
65  lateralReference_(lcv),
66  lateralAccelerationReference_(lcv->getTargetLane()),
67  lateralJerkReference_(lcv->getTargetLane()),
72  lateralAccelerationConstraintUB_(lcv->getTargetLane(),plat,ANominalConstraint::UB),
73  lateralAccelerationConstraintLB_(lcv->getTargetLane(),plat,ANominalConstraint::LB)
74  {
75  // this->getInformationSet().add(&followVehicleConstraint_);
76  this->getOffsetSolver().getInformationSet().add(&lateralReference_);
77  this->getOffsetSolver().getInformationSet().add(&lateralAccelerationReference_);
78  this->getOffsetSolver().getInformationSet().add(&lateralJerkReference_);
79  // this->getOffsetSolver().getInformationSet().add(&lateralOffsetConstraint_left_);
80  // this->getOffsetSolver().getInformationSet().add(&lateralOffsetConstraint_right_);
81  this->getOffsetSolver().getInformationSet().add(&headingConstraintUB_);
82  this->getOffsetSolver().getInformationSet().add(&headingConstraintLB_);
83  this->getOffsetSolver().getInformationSet().add(&lateralAccelerationConstraintUB_);
84  this->getOffsetSolver().getInformationSet().add(&lateralAccelerationConstraintLB_);
85  }
86 
88  {
89  this->info_.add(constraint);
90  }
91 
93  {
94  this->info_.add(reference);
95  }
96  };
97  }
98 }
Definition: anominalplanner.h:52
Definition: anominalplanner.h:96
Plans minimum risk maneuver to cancel lane change.
Definition: cancellcmrmplanner.h:35
void addReference(ANominalReference *reference)
Definition: cancellcmrmplanner.h:92
LateralAccelerationReference lateralAccelerationReference_
Definition: cancellcmrmplanner.h:38
LateralAccelerationConstraint lateralAccelerationConstraintUB_
Definition: cancellcmrmplanner.h:44
LateralOffsetConstraintLC lateralOffsetConstraint_left_
Definition: cancellcmrmplanner.h:40
LateralJerkReference lateralJerkReference_
Definition: cancellcmrmplanner.h:39
LateralAccelerationConstraint lateralAccelerationConstraintLB_
Definition: cancellcmrmplanner.h:45
CancelMergeReference lateralReference_
Definition: cancellcmrmplanner.h:37
void addConstraint(ANominalConstraint *constraint)
Definition: cancellcmrmplanner.h:87
CancelLCMRMPlanner(adore::view::ALaneChangeView *lcv, adore::params::APLateralPlanner *plat, adore::params::APTacticalPlanner *ptac, adore::params::APVehicle *pveh, adore::params::APTrajectoryGeneration *ptrajectory)
Definition: cancellcmrmplanner.h:58
HeadingConstraint headingConstraintUB_
Definition: cancellcmrmplanner.h:42
FollowPrecedingVehicle followVehicleConstraint_
Definition: cancellcmrmplanner.h:47
HeadingConstraint headingConstraintLB_
Definition: cancellcmrmplanner.h:43
LateralOffsetConstraintLC lateralOffsetConstraint_right_
Definition: cancellcmrmplanner.h:41
Definition: lanechangeconstraintsandreferences.h:693
Definition: basicconstraintsandreferences.h:858
Definition: basicconstraintsandreferences.h:409
Definition: basicconstraintsandreferences.h:361
Definition: basicconstraintsandreferences.h:547
Definition: basicconstraintsandreferences.h:575
Definition: lanechangeconstraintsandreferences.h:40
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: alanechangeview.h:27
Definition: areaofeffectconverter.h:20