ADORe
ADORe is a modular open source software library and toolkit for decision making, planning, control and simulation of automated vehicles
adore::apps::TacticalPlanner Class Reference

Decision making and maneuver planning. More...

#include <tactical_planner.h>

Collaboration diagram for adore::apps::TacticalPlanner:
Collaboration graph

Public Member Functions

adore::fun::EvaluatorWeightedSumgetEvaluator ()
 
 TacticalPlanner (double iteration_time_length)
 constructur More...
 
virtual ~TacticalPlanner ()
 
void run ()
 retrieve planning results, dispatch and formulate new planning request More...
 

Private Attributes

adore::params::APNavigationpNavigation_
 
adore::params::APTrajectoryGenerationpTrajectoryGeneration_
 
adore::params::APTacticalPlannerpTacticalPlanner_
 
adore::fun::AFactory::TMotionStateReadervehicle_state_reader_
 
adore::fun::AFactory::TPlanningRequestWriterrequest_writer_
 
adore::fun::AFactory::TPlanningResultFeedresult_reader_
 
adore::fun::AFactory::TPlanningResultWriterselect_writer_
 
adore::env::AFactory::TPropositionWriterproposition_writer_
 
adore::fun::SetPointRequestDispatcher spr_dispatcher_
 
adore::fun::IndicatorDispatcher indicator_dispatcher_
 
adore::env::AFactory::TNavigationGoalReadernavigation_goal_reader_
 
adore::env::AFactory::TResetLaneMatchingWriterlane_view_reset_writer_
 
uint64_t iteration_
 
adore::fun::EvaluatorWeightedSum evaluator_
 
adore::fun::PlanningResult best_planning_result_
 
double iteration_time_length_
 
double last_time_
 
double cost_bound_
 
double cost_bound_guard_
 
double lanechange_supression_timeout_
 
double force_langechange_left_timeout_
 
double force_langechange_right_timeout_
 
double force_slow_maneuver_timeout_
 
std::string cost_bound_name_
 
fun::TurnSignalObserver turn_signal_observer_
 
fun::UserInputObserver user_input_observer_
 
adore::fun::AFactory::TLanechangeSuppressionReaderlangechange_suppression_reader_
 
adore::fun::AFactory::TForceLanechangeLeftReaderforce_langechange_left_reader_
 
adore::fun::AFactory::TForceLanechangeRightReaderforce_langechange_right_reader_
 
adore::fun::AFactory::TForceSlowManeuversReaderforce_slow_maneuvers_reader_
 

Detailed Description

Decision making and maneuver planning.

Constructor & Destructor Documentation

◆ TacticalPlanner()

adore::apps::TacticalPlanner::TacticalPlanner ( double  iteration_time_length)
inline

constructur

Parameters
iteration_time_lengthprovide information how long iteration should take: influences planning request
Here is the call graph for this function:

◆ ~TacticalPlanner()

virtual adore::apps::TacticalPlanner::~TacticalPlanner ( )
inlinevirtual

Member Function Documentation

◆ getEvaluator()

adore::fun::EvaluatorWeightedSum* adore::apps::TacticalPlanner::getEvaluator ( )
inline
Here is the caller graph for this function:

◆ run()

void adore::apps::TacticalPlanner::run ( )
inline

retrieve planning results, dispatch and formulate new planning request

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ best_planning_result_

adore::fun::PlanningResult adore::apps::TacticalPlanner::best_planning_result_
private

last active trajectory: might be active for >1 iterations, when no new, valid trajectory is found

◆ cost_bound_

double adore::apps::TacticalPlanner::cost_bound_
private

the current bound on navigation cost

◆ cost_bound_guard_

double adore::apps::TacticalPlanner::cost_bound_guard_
private

maximum value of navigation cost

◆ cost_bound_name_

std::string adore::apps::TacticalPlanner::cost_bound_name_
private

timeout for the lanechange suppression navigation cost name

◆ evaluator_

adore::fun::EvaluatorWeightedSum adore::apps::TacticalPlanner::evaluator_
private

evaluate trajectories with weighted sum of individual cost functions

◆ force_langechange_left_reader_

adore::fun::AFactory::TForceLanechangeLeftReader* adore::apps::TacticalPlanner::force_langechange_left_reader_
private

◆ force_langechange_left_timeout_

double adore::apps::TacticalPlanner::force_langechange_left_timeout_
private

timeout for the lanechange suppression

◆ force_langechange_right_reader_

adore::fun::AFactory::TForceLanechangeRightReader* adore::apps::TacticalPlanner::force_langechange_right_reader_
private

◆ force_langechange_right_timeout_

double adore::apps::TacticalPlanner::force_langechange_right_timeout_
private

timeout for force langechange left

◆ force_slow_maneuver_timeout_

double adore::apps::TacticalPlanner::force_slow_maneuver_timeout_
private

timeout for force langechange right

◆ force_slow_maneuvers_reader_

adore::fun::AFactory::TForceSlowManeuversReader* adore::apps::TacticalPlanner::force_slow_maneuvers_reader_
private

◆ indicator_dispatcher_

adore::fun::IndicatorDispatcher adore::apps::TacticalPlanner::indicator_dispatcher_
private

publish indicator command based on vehicle state and selected maneuver

◆ iteration_

uint64_t adore::apps::TacticalPlanner::iteration_
private

◆ iteration_time_length_

double adore::apps::TacticalPlanner::iteration_time_length_
private

duration of one iteration

◆ lane_view_reset_writer_

adore::env::AFactory::TResetLaneMatchingWriter* adore::apps::TacticalPlanner::lane_view_reset_writer_
private

send signal for lane matching reset

◆ lanechange_supression_timeout_

double adore::apps::TacticalPlanner::lanechange_supression_timeout_
private

◆ langechange_suppression_reader_

adore::fun::AFactory::TLanechangeSuppressionReader* adore::apps::TacticalPlanner::langechange_suppression_reader_
private

◆ last_time_

double adore::apps::TacticalPlanner::last_time_
private

time of last planning iteration

◆ navigation_goal_reader_

adore::env::AFactory::TNavigationGoalReader* adore::apps::TacticalPlanner::navigation_goal_reader_
private

track navigation goal updates: on change reset cost bound

◆ pNavigation_

adore::params::APNavigation* adore::apps::TacticalPlanner::pNavigation_
private

parameters

◆ proposition_writer_

adore::env::AFactory::TPropositionWriter* adore::apps::TacticalPlanner::proposition_writer_
private

output proposition VALID_MANEUVER_AVAILABLE

◆ pTacticalPlanner_

adore::params::APTacticalPlanner* adore::apps::TacticalPlanner::pTacticalPlanner_
private

parameters

◆ pTrajectoryGeneration_

adore::params::APTrajectoryGeneration* adore::apps::TacticalPlanner::pTrajectoryGeneration_
private

parameters

◆ request_writer_

adore::fun::AFactory::TPlanningRequestWriter* adore::apps::TacticalPlanner::request_writer_
private

formulate planning requests for planning processes

◆ result_reader_

adore::fun::AFactory::TPlanningResultFeed* adore::apps::TacticalPlanner::result_reader_
private

retrieve result of planning processes

◆ select_writer_

adore::fun::AFactory::TPlanningResultWriter* adore::apps::TacticalPlanner::select_writer_
private

publish selected result of planning processes

◆ spr_dispatcher_

adore::fun::SetPointRequestDispatcher adore::apps::TacticalPlanner::spr_dispatcher_
private

publish setpointrequests and retrieve initial state for next planning iteration

◆ turn_signal_observer_

fun::TurnSignalObserver adore::apps::TacticalPlanner::turn_signal_observer_
private

tracking of turn signal changes

◆ user_input_observer_

fun::UserInputObserver adore::apps::TacticalPlanner::user_input_observer_
private

handling user input

◆ vehicle_state_reader_

adore::fun::AFactory::TMotionStateReader* adore::apps::TacticalPlanner::vehicle_state_reader_
private

get the time stamp of latest vehicle state


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