ADORe
ADORe is a modular open source software library and toolkit for decision making, planning, control and simulation of automated vehicles
adore::fun::PlanningResult Struct Reference

#include <planning_result.h>

Collaboration diagram for adore::fun::PlanningResult:
Collaboration graph

Public Member Functions

 PlanningResult ()
 
double getObjectiveValue (std::string name, double bound)
 

Public Attributes

int id
 
int iteration
 
std::string name
 
SetPointRequest nominal_maneuver
 
SetPointRequest combined_maneuver
 
TerminalRequest terminal_maneuver
 
adore::mad::OccupancyCylinderTree nominal_maneuver_swath
 
adore::mad::OccupancyCylinderTree combined_maneuver_swath
 
adore::mad::LLinearPiecewiseFunctionM< double, 4 > nominal_maneuver_longitudinal_plan
 
adore::mad::LLinearPiecewiseFunctionM< double, 3 > nominal_maneuver_longitudinal_lbx
 
adore::mad::LLinearPiecewiseFunctionM< double, 3 > nominal_maneuver_longitudinal_ubx
 
adore::mad::LLinearPiecewiseFunctionM< double, 4 > nominal_maneuver_lateral_plan
 
adore::mad::LLinearPiecewiseFunctionM< double, 3 > nominal_maneuver_lateral_lbx
 
adore::mad::LLinearPiecewiseFunctionM< double, 3 > nominal_maneuver_lateral_ubx
 
bool nominal_maneuver_valid
 
bool combined_maneuver_valid
 
std::string status_string
 
std::unordered_map< std::string, double > objective_values
 
std::unordered_map< std::string, double > performance_values
 
int maneuver_type
 
bool indicator_left
 
bool indicator_right
 

Static Public Attributes

static const int COLLISION_MITIGATION = 0
 
static const int EMERGENCY_BREAKING = 1
 
static const int NOMINAL_DRIVING = 2
 

Detailed Description

PlanningResult describes result of the planning process for a single maneuver in detail.

Constructor & Destructor Documentation

◆ PlanningResult()

adore::fun::PlanningResult::PlanningResult ( )
inline

Member Function Documentation

◆ getObjectiveValue()

double adore::fun::PlanningResult::getObjectiveValue ( std::string  name,
double  bound 
)
inline
Returns
objective value corresponding to objective name, if entry exists. Otherwise return bound.
Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ COLLISION_MITIGATION

const int adore::fun::PlanningResult::COLLISION_MITIGATION = 0
static

◆ combined_maneuver

SetPointRequest adore::fun::PlanningResult::combined_maneuver

combined maneuver starting with nominal_maneuver and transitioning to emergency_maneuver ending in safe state

◆ combined_maneuver_swath

adore::mad::OccupancyCylinderTree adore::fun::PlanningResult::combined_maneuver_swath

space-time volume expected to be covered by combined_maneuver

◆ combined_maneuver_valid

bool adore::fun::PlanningResult::combined_maneuver_valid

◆ EMERGENCY_BREAKING

const int adore::fun::PlanningResult::EMERGENCY_BREAKING = 1
static

◆ id

int adore::fun::PlanningResult::id

numerical planner id

◆ indicator_left

bool adore::fun::PlanningResult::indicator_left

◆ indicator_right

bool adore::fun::PlanningResult::indicator_right

◆ iteration

int adore::fun::PlanningResult::iteration

determines to which planning iteration the planning result contributes

◆ maneuver_type

int adore::fun::PlanningResult::maneuver_type

◆ name

std::string adore::fun::PlanningResult::name

human-readable identifier for or type of maneuver, e.g. "lane following"

◆ NOMINAL_DRIVING

const int adore::fun::PlanningResult::NOMINAL_DRIVING = 2
static

◆ nominal_maneuver

SetPointRequest adore::fun::PlanningResult::nominal_maneuver

the nominal maneuver optimzed towards horizon: not to be executed but rather for HMI and decision making

◆ nominal_maneuver_lateral_lbx

adore::mad::LLinearPiecewiseFunctionM<double, 3> adore::fun::PlanningResult::nominal_maneuver_lateral_lbx

lower bounds for planning dim 0: t; dim 1: n; dim 2: dn; dim 3: ddn

◆ nominal_maneuver_lateral_plan

adore::mad::LLinearPiecewiseFunctionM<double, 4> adore::fun::PlanningResult::nominal_maneuver_lateral_plan

dim 0: t; dim 1: n; dim 2: dn; dim 3: ddn

◆ nominal_maneuver_lateral_ubx

adore::mad::LLinearPiecewiseFunctionM<double, 3> adore::fun::PlanningResult::nominal_maneuver_lateral_ubx

upper bounds for planning dim 0: t; dim 1: n; dim 2: dn; dim 3: ddn

◆ nominal_maneuver_longitudinal_lbx

adore::mad::LLinearPiecewiseFunctionM<double, 3> adore::fun::PlanningResult::nominal_maneuver_longitudinal_lbx

lower bounds for planning dim 0: t; dim 1: s; dim 2: ds; dim 3: dds

◆ nominal_maneuver_longitudinal_plan

adore::mad::LLinearPiecewiseFunctionM<double, 4> adore::fun::PlanningResult::nominal_maneuver_longitudinal_plan

dim 0: t; dim 1: s; dim 2: ds; dim 3: dds

◆ nominal_maneuver_longitudinal_ubx

adore::mad::LLinearPiecewiseFunctionM<double, 3> adore::fun::PlanningResult::nominal_maneuver_longitudinal_ubx

upper bounds for planning dim 0: t; dim 1: s; dim 2: ds; dim 3: dds

◆ nominal_maneuver_swath

adore::mad::OccupancyCylinderTree adore::fun::PlanningResult::nominal_maneuver_swath

space-time volume expected to be covered by nominal_maneuver

◆ nominal_maneuver_valid

bool adore::fun::PlanningResult::nominal_maneuver_valid

◆ objective_values

std::unordered_map<std::string, double> adore::fun::PlanningResult::objective_values

set of individual objective values, to be weighted by decision making. e.g. acceleration, jerk, time-loss/navigation-cost

◆ performance_values

std::unordered_map<std::string, double> adore::fun::PlanningResult::performance_values

cpu-time measurements, etc.

◆ status_string

std::string adore::fun::PlanningResult::status_string

string explaining for example why constraint evaluation failed, e.g. "collision with prediction of object 17, branch 3, at t=0.58" or "I/O lin inversion fail"

◆ terminal_maneuver

TerminalRequest adore::fun::PlanningResult::terminal_maneuver

full-break/standstill after execution of combined maneuver


The documentation for this struct was generated from the following file: