ADORe
ADORe is a modular open source software library and toolkit for decision making, planning, control and simulation of automated vehicles
planning_result.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 #pragma once
15 #include <string>
16 #include <map>
20 
21 namespace adore
22 {
23  namespace fun
24  {
29  {
30  int id;
31  int iteration;
32  std::string name;
65  std::string status_string;
68  std::unordered_map<std::string, double> objective_values;
71  std::unordered_map<std::string, double> performance_values;
73  static const int COLLISION_MITIGATION = 0;
74  static const int EMERGENCY_BREAKING = 1;
75  static const int NOMINAL_DRIVING = 2;
79  : nominal_maneuver_valid(false)
81  , iteration(0)
82  , indicator_left(false)
83  , indicator_right(false)
84  {
85  }
89  double getObjectiveValue(std::string name,double bound)
90  {
91  auto it = objective_values.find(name);
92  if( it == objective_values.end() ) return bound;
93  else return it->second;
94  }
95  };
96 
97 
98  typedef std::vector<PlanningResult> TPlanningResultSet;
99  } // namespace fun
100 } // namespace adore
Definition: setpointrequest.h:35
Definition: terminalrequest.h:27
Definition: occupancycylinder.h:84
std::vector< PlanningResult > TPlanningResultSet
Definition: planning_result.h:98
T bound(T lb, T value, T ub)
Definition: adoremath.h:569
Definition: areaofeffectconverter.h:20
Definition: planning_result.h:29
std::unordered_map< std::string, double > performance_values
Definition: planning_result.h:71
adore::mad::LLinearPiecewiseFunctionM< double, 3 > nominal_maneuver_lateral_lbx
Definition: planning_result.h:56
bool combined_maneuver_valid
Definition: planning_result.h:64
adore::mad::LLinearPiecewiseFunctionM< double, 4 > nominal_maneuver_longitudinal_plan
Definition: planning_result.h:43
std::string name
Definition: planning_result.h:32
static const int NOMINAL_DRIVING
Definition: planning_result.h:75
double getObjectiveValue(std::string name, double bound)
Definition: planning_result.h:89
adore::mad::LLinearPiecewiseFunctionM< double, 4 > nominal_maneuver_lateral_plan
Definition: planning_result.h:54
adore::mad::LLinearPiecewiseFunctionM< double, 3 > nominal_maneuver_longitudinal_lbx
Definition: planning_result.h:46
std::string status_string
Definition: planning_result.h:65
adore::mad::LLinearPiecewiseFunctionM< double, 3 > nominal_maneuver_lateral_ubx
Definition: planning_result.h:59
std::unordered_map< std::string, double > objective_values
Definition: planning_result.h:68
int id
Definition: planning_result.h:30
int maneuver_type
Definition: planning_result.h:72
adore::mad::OccupancyCylinderTree combined_maneuver_swath
Definition: planning_result.h:40
bool indicator_right
Definition: planning_result.h:77
bool nominal_maneuver_valid
Definition: planning_result.h:63
int iteration
Definition: planning_result.h:31
adore::mad::OccupancyCylinderTree nominal_maneuver_swath
Definition: planning_result.h:38
TerminalRequest terminal_maneuver
Definition: planning_result.h:37
bool indicator_left
Definition: planning_result.h:76
SetPointRequest nominal_maneuver
Definition: planning_result.h:33
static const int COLLISION_MITIGATION
Definition: planning_result.h:73
PlanningResult()
Definition: planning_result.h:78
SetPointRequest combined_maneuver
Definition: planning_result.h:35
static const int EMERGENCY_BREAKING
Definition: planning_result.h:74
adore::mad::LLinearPiecewiseFunctionM< double, 3 > nominal_maneuver_longitudinal_ubx
Definition: planning_result.h:50