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

#include <platoonLogic.h>

Collaboration diagram for adore::fun::platoonLogic:
Collaboration graph

Public Types

enum  CAR_FOLLOWING_TACTICS { IDM , CACC }
 
enum  LanePosition {
  offTheRoad = -1 , hardShoulder =0 , outermostDrivingLane = 1 , secondLaneFromOutside = 2 ,
  thirdLaneFromOutside = 3 , fourthLaneFromOutside = 4 , fifthLaneFromOutside = 5
}
 

Public Member Functions

 platoonLogic (adore::env::ThreeLaneViewDecoupled *three_lanes_, adore::env::CooperativeUsersProcess *CooperativeUsersProcess, Planner_data data)
 
 ~platoonLogic ()
 
int update (adore::fun::VehicleMotionState9d &egoStates, int lanePosition=1)
 

Public Attributes

int CAR_FOLLOWING_TACTICS
 
adore::env::BorderBased::LocalRoadMap roadmap_
 
adore::mad::AWriter< adore::fun::PlatooningInformation > * platooningInformation_writer
 
adore::fun::PlatooningInformation platooningInformation
 
adore::fun::logic::PlatooningStateMachine psm
 
adore::fun::logic::DistanceStateMachine dsm
 
int v2xStationID
 
int lanePosition
 
double communicationDelayThreshold
 
Planner_data data
 

Private Member Functions

void print ()
 
void printPlatooningState (int ps)
 

Private Attributes

bool NoCommunicationDelay_p
 
bool sameLane_p
 
double possiblePlatooningTau
 if the time headway to the preceding vehicle is less than this value we consider it for platooning More...
 
adore::env::ThreeLaneViewDecoupledthree_lanes_
 
adore::env::CooperativeUsersProcessCooperativeUsersProcess
 
double eps
 

Member Enumeration Documentation

◆ CAR_FOLLOWING_TACTICS

◆ LanePosition

Enumerator
offTheRoad 
hardShoulder 
outermostDrivingLane 
secondLaneFromOutside 
thirdLaneFromOutside 
fourthLaneFromOutside 
fifthLaneFromOutside 

Constructor & Destructor Documentation

◆ platoonLogic()

adore::fun::platoonLogic::platoonLogic ( adore::env::ThreeLaneViewDecoupled three_lanes_,
adore::env::CooperativeUsersProcess CooperativeUsersProcess,
Planner_data  data 
)
inline
Here is the call graph for this function:

◆ ~platoonLogic()

adore::fun::platoonLogic::~platoonLogic ( )
inline

Member Function Documentation

◆ print()

void adore::fun::platoonLogic::print ( )
inlineprivate
Here is the call graph for this function:

◆ printPlatooningState()

void adore::fun::platoonLogic::printPlatooningState ( int  ps)
inlineprivate

◆ update()

int adore::fun::platoonLogic::update ( adore::fun::VehicleMotionState9d egoStates,
int  lanePosition = 1 
)
inline
Here is the call graph for this function:

Member Data Documentation

◆ CAR_FOLLOWING_TACTICS

◆ communicationDelayThreshold

double adore::fun::platoonLogic::communicationDelayThreshold

◆ CooperativeUsersProcess

adore::env::CooperativeUsersProcess* adore::fun::platoonLogic::CooperativeUsersProcess
private

◆ data

Planner_data adore::fun::platoonLogic::data

◆ dsm

adore::fun::logic::DistanceStateMachine adore::fun::platoonLogic::dsm

◆ eps

double adore::fun::platoonLogic::eps
private

◆ lanePosition

int adore::fun::platoonLogic::lanePosition

◆ NoCommunicationDelay_p

bool adore::fun::platoonLogic::NoCommunicationDelay_p
private

◆ platooningInformation

adore::fun::PlatooningInformation adore::fun::platoonLogic::platooningInformation

◆ platooningInformation_writer

adore::mad::AWriter<adore::fun::PlatooningInformation>* adore::fun::platoonLogic::platooningInformation_writer

◆ possiblePlatooningTau

double adore::fun::platoonLogic::possiblePlatooningTau
private

if the time headway to the preceding vehicle is less than this value we consider it for platooning

◆ psm

adore::fun::logic::PlatooningStateMachine adore::fun::platoonLogic::psm

◆ roadmap_

adore::env::BorderBased::LocalRoadMap adore::fun::platoonLogic::roadmap_

roadmap is used for precedence rules

◆ sameLane_p

bool adore::fun::platoonLogic::sameLane_p
private

◆ three_lanes_

adore::env::ThreeLaneViewDecoupled* adore::fun::platoonLogic::three_lanes_
private

◆ v2xStationID

int adore::fun::platoonLogic::v2xStationID

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