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

#include <cooperativeusersprocess.h>

Collaboration diagram for adore::env::CooperativeUsersProcess:
Collaboration graph

Classes

struct  CooperativeUser
 prediction plus CACC(Platoon) More...
 

Public Member Functions

ListOfCooperativeUsers getFrontMansList ()
 
ListOfCooperativeUsers getBehindMansList ()
 
CooperativeUser getPreceding ()
 
CooperativeUser getLeader ()
 
CooperativeUser getFollowing ()
 
bool precedingExists ()
 
bool leaderExists ()
 
bool followingExists ()
 
bool leaderIsPreceding ()
 
double getDistanceToLeader ()
 
double getDistanceToPreceding ()
 
double getDistanceToFollowing ()
 
double getEgoProgressFrontSide ()
 
double getEgoProgressRearSide ()
 
double getLeaderTimeHeadway ()
 
double getPrecedingTimeHeadway ()
 
double getFollowingTimeHeadway ()
 
bool noVehicleBetweenEgoAndPreceding ()
 
bool noVehicleBetweenEgoAndFollowing ()
 
 CooperativeUsersProcess (adore::env::ThreeLaneViewDecoupled *three_lanes_, adore::params::APVehicle *pveh, int DEBUG_LEVEL=0, double possiblePlatooningTimeHeadwayRange=6.)
 
 ~CooperativeUsersProcess ()
 
void process (adore::fun::VehicleMotionState9d &egoStates, CooperativeUsersList &list, adore::view::TrafficObject &frontMan, adore::view::TrafficObject &behindMan)
 

Private Types

typedef std::vector< CooperativeUserListOfCooperativeUsers
 

Private Member Functions

void compare (adore::view::TrafficObject &frontMan, adore::view::TrafficObject &behindMan)
 
void sort (adore::fun::VehicleMotionState9d &egoStates, CooperativeUsersList &list)
 
void processIntention (CooperativeUser *cu)
 
void intentionPredictionPrint (CooperativeUser *cu)
 
void print_debug (CooperativeUser *cu)
 
void toCenterOfTheRearSide (double &x, double &y, double psi, double vehicleLength)
 

Private Attributes

adore::params::APVehiclepveh
 
ListOfCooperativeUsers Cooperative_frontMans
 
ListOfCooperativeUsers Cooperative_behindMans
 
CooperativeUser preceding
 
CooperativeUser leader
 
CooperativeUser following
 
bool preceding_exist
 
bool leader_exist
 
bool precedingIsLeader
 
bool following_exist
 
bool frontManIsCooperative
 
bool followingIsCooperative
 
double ego_progress_front_side
 
double ego_progress_rear_side
 
adore::env::ThreeLaneViewDecoupledthree_lanes_
 
double preceding_dist_to_ego
 
double following_dist_to_ego
 
double leader_dist_to_ego
 
double leader_tau
 
double preceding_tau
 
double following_tau
 
adore::mad::CubicPiecewiseFunction::PieceweisePolynomial pp_v
 
double possiblePlatooningTimeHeadwayRange
 
double platooningDistance
 
int DEBUG_LEVEL
 

Member Typedef Documentation

◆ ListOfCooperativeUsers

Constructor & Destructor Documentation

◆ CooperativeUsersProcess()

adore::env::CooperativeUsersProcess::CooperativeUsersProcess ( adore::env::ThreeLaneViewDecoupled three_lanes_,
adore::params::APVehicle pveh,
int  DEBUG_LEVEL = 0,
double  possiblePlatooningTimeHeadwayRange = 6. 
)
inline

◆ ~CooperativeUsersProcess()

adore::env::CooperativeUsersProcess::~CooperativeUsersProcess ( )
inline

Member Function Documentation

◆ compare()

void adore::env::CooperativeUsersProcess::compare ( adore::view::TrafficObject frontMan,
adore::view::TrafficObject behindMan 
)
inlineprivate
Here is the call graph for this function:
Here is the caller graph for this function:

◆ followingExists()

bool adore::env::CooperativeUsersProcess::followingExists ( )
inline
Here is the caller graph for this function:

◆ getBehindMansList()

ListOfCooperativeUsers adore::env::CooperativeUsersProcess::getBehindMansList ( )
inline

◆ getDistanceToFollowing()

double adore::env::CooperativeUsersProcess::getDistanceToFollowing ( )
inline

◆ getDistanceToLeader()

double adore::env::CooperativeUsersProcess::getDistanceToLeader ( )
inline

◆ getDistanceToPreceding()

double adore::env::CooperativeUsersProcess::getDistanceToPreceding ( )
inline

◆ getEgoProgressFrontSide()

double adore::env::CooperativeUsersProcess::getEgoProgressFrontSide ( )
inline
Here is the caller graph for this function:

◆ getEgoProgressRearSide()

double adore::env::CooperativeUsersProcess::getEgoProgressRearSide ( )
inline

◆ getFollowing()

CooperativeUser adore::env::CooperativeUsersProcess::getFollowing ( )
inline
Here is the caller graph for this function:

◆ getFollowingTimeHeadway()

double adore::env::CooperativeUsersProcess::getFollowingTimeHeadway ( )
inline
Here is the caller graph for this function:

◆ getFrontMansList()

ListOfCooperativeUsers adore::env::CooperativeUsersProcess::getFrontMansList ( )
inline

◆ getLeader()

CooperativeUser adore::env::CooperativeUsersProcess::getLeader ( )
inline
Here is the caller graph for this function:

◆ getLeaderTimeHeadway()

double adore::env::CooperativeUsersProcess::getLeaderTimeHeadway ( )
inline

◆ getPreceding()

CooperativeUser adore::env::CooperativeUsersProcess::getPreceding ( )
inline
Here is the caller graph for this function:

◆ getPrecedingTimeHeadway()

double adore::env::CooperativeUsersProcess::getPrecedingTimeHeadway ( )
inline
Here is the caller graph for this function:

◆ intentionPredictionPrint()

void adore::env::CooperativeUsersProcess::intentionPredictionPrint ( CooperativeUser cu)
inlineprivate
Here is the caller graph for this function:

◆ leaderExists()

bool adore::env::CooperativeUsersProcess::leaderExists ( )
inline
Here is the caller graph for this function:

◆ leaderIsPreceding()

bool adore::env::CooperativeUsersProcess::leaderIsPreceding ( )
inline
Here is the caller graph for this function:

◆ noVehicleBetweenEgoAndFollowing()

bool adore::env::CooperativeUsersProcess::noVehicleBetweenEgoAndFollowing ( )
inline
Here is the caller graph for this function:

◆ noVehicleBetweenEgoAndPreceding()

bool adore::env::CooperativeUsersProcess::noVehicleBetweenEgoAndPreceding ( )
inline
Here is the caller graph for this function:

◆ precedingExists()

bool adore::env::CooperativeUsersProcess::precedingExists ( )
inline
Here is the caller graph for this function:

◆ print_debug()

void adore::env::CooperativeUsersProcess::print_debug ( CooperativeUser cu)
inlineprivate
Here is the call graph for this function:
Here is the caller graph for this function:

◆ process()

void adore::env::CooperativeUsersProcess::process ( adore::fun::VehicleMotionState9d egoStates,
CooperativeUsersList list,
adore::view::TrafficObject frontMan,
adore::view::TrafficObject behindMan 
)
inline
Here is the call graph for this function:

◆ processIntention()

void adore::env::CooperativeUsersProcess::processIntention ( CooperativeUser cu)
inlineprivate
Here is the call graph for this function:
Here is the caller graph for this function:

◆ sort()

void adore::env::CooperativeUsersProcess::sort ( adore::fun::VehicleMotionState9d egoStates,
CooperativeUsersList list 
)
inlineprivate
Here is the call graph for this function:
Here is the caller graph for this function:

◆ toCenterOfTheRearSide()

void adore::env::CooperativeUsersProcess::toCenterOfTheRearSide ( double &  x,
double &  y,
double  psi,
double  vehicleLength 
)
inlineprivate
Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ Cooperative_behindMans

ListOfCooperativeUsers adore::env::CooperativeUsersProcess::Cooperative_behindMans
private

◆ Cooperative_frontMans

ListOfCooperativeUsers adore::env::CooperativeUsersProcess::Cooperative_frontMans
private

◆ DEBUG_LEVEL

int adore::env::CooperativeUsersProcess::DEBUG_LEVEL
private

◆ ego_progress_front_side

double adore::env::CooperativeUsersProcess::ego_progress_front_side
private

◆ ego_progress_rear_side

double adore::env::CooperativeUsersProcess::ego_progress_rear_side
private

◆ following

CooperativeUser adore::env::CooperativeUsersProcess::following
private

◆ following_dist_to_ego

double adore::env::CooperativeUsersProcess::following_dist_to_ego
private

◆ following_exist

bool adore::env::CooperativeUsersProcess::following_exist
private

◆ following_tau

double adore::env::CooperativeUsersProcess::following_tau
private

◆ followingIsCooperative

bool adore::env::CooperativeUsersProcess::followingIsCooperative
private

◆ frontManIsCooperative

bool adore::env::CooperativeUsersProcess::frontManIsCooperative
private

◆ leader

CooperativeUser adore::env::CooperativeUsersProcess::leader
private

◆ leader_dist_to_ego

double adore::env::CooperativeUsersProcess::leader_dist_to_ego
private

◆ leader_exist

bool adore::env::CooperativeUsersProcess::leader_exist
private

◆ leader_tau

double adore::env::CooperativeUsersProcess::leader_tau
private

◆ platooningDistance

double adore::env::CooperativeUsersProcess::platooningDistance
private

◆ possiblePlatooningTimeHeadwayRange

double adore::env::CooperativeUsersProcess::possiblePlatooningTimeHeadwayRange
private

◆ pp_v

adore::mad::CubicPiecewiseFunction::PieceweisePolynomial adore::env::CooperativeUsersProcess::pp_v
private

◆ preceding

CooperativeUser adore::env::CooperativeUsersProcess::preceding
private

◆ preceding_dist_to_ego

double adore::env::CooperativeUsersProcess::preceding_dist_to_ego
private

◆ preceding_exist

bool adore::env::CooperativeUsersProcess::preceding_exist
private

◆ preceding_tau

double adore::env::CooperativeUsersProcess::preceding_tau
private

◆ precedingIsLeader

bool adore::env::CooperativeUsersProcess::precedingIsLeader
private

◆ pveh

adore::params::APVehicle* adore::env::CooperativeUsersProcess::pveh
private

◆ three_lanes_

adore::env::ThreeLaneViewDecoupled* adore::env::CooperativeUsersProcess::three_lanes_
private

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