ADORe
ADORe is a modular open source software library and toolkit for decision making, planning, control and simulation of automated vehicles
adore::if_ROS::V2XTrafficLights Class Reference
Collaboration diagram for adore::if_ROS::V2XTrafficLights:
Collaboration graph

Public Member Functions

 V2XTrafficLights ()
 
void odom_receive (nav_msgs::OdometryConstPtr msg)
 
void init (int argc, char **argv, double rate, std::string nodename)
 
double getTime ()
 
bool mapemLayerAlreadyProcessed (int station_id, int layer_id, std::unordered_map< int, std::vector< int >> &map_to_analyse)
 
void receive_mapem (dsrc_v2_mapem_pdu_descriptions::MAPEM msg)
 
void receive_spatem (dsrc_v2_spatem_pdu_descriptions::SPATEM msg)
 
virtual std::vector< adore_if_ros_msg::TCDConnectionStateTrace > generateConnectionStates (dsrc_v2_spatem_pdu_descriptions::SPATEM msg)
 
virtual std::vector< adore_if_ros_msg::Connection > getConnectionsForSignalgroup (int intersectionID, u_int8_t signal_group)
 
virtual std::vector< adore_if_ros_msg::TCDConnectionState > getConnectionStatesFromSPAT (u_int8_t signal_group, dsrc_v2_dsrc::IntersectionState &spat)
 
virtual dsrc_v2_dsrc::GenericLane getLaneFromMAPEM (u_int32_t intersection_id, u_int8_t lane_id, MAPEMContainer &mapem_mmap)
 
virtual void getOffsetCoordinateFromNode (dsrc_v2_dsrc::NodeXY &node, double &lat, double &lon)
 
virtual void getWGSCoordinateFromOffset (double lat_ref, double lon_ref, dsrc_v2_dsrc::NodeXY &delta_node)
 
virtual void calculateAbsoluteWGS84CoordsFromOffsetNodeList (double lat_ref, double lon_ref, dsrc_v2_dsrc::NodeListXY &nodeList)
 
virtual int getLeapYearSeconds (double vehicle_time)
 
virtual double getSecondOfYearFromUTC (double time)
 
virtual double getSecondOfYearFromMoy (int32_t moy, u_int16_t dsecond)
 
virtual double secondsToChange (double vehicle_second_of_year, double spat_second_of_year, double validility_time)
 

Private Types

typedef std::unordered_multimap< u_int32_t, dsrc_v2_dsrc::IntersectionGeometry > MAPEMContainer
 

Private Attributes

std::unordered_map< int, std::vector< int > > received_mapem_layers_
 
MAPEMContainer intersectionID_to_map_
 
double X_
 
double Y_
 
double Z_
 
double t_
 
ros::Subscriber odom_subscriber_
 
ros::Subscriber mapem_subscriber_
 
ros::Subscriber spatem_subscriber_
 
ros::Publisher connection_state_publisher
 
bool _use_system_time
 
int _utm_zone_
 
float _logging_frequency
 

Member Typedef Documentation

◆ MAPEMContainer

typedef std::unordered_multimap<u_int32_t, dsrc_v2_dsrc::IntersectionGeometry> adore::if_ROS::V2XTrafficLights::MAPEMContainer
private

Constructor & Destructor Documentation

◆ V2XTrafficLights()

adore::if_ROS::V2XTrafficLights::V2XTrafficLights ( )
inline

Member Function Documentation

◆ calculateAbsoluteWGS84CoordsFromOffsetNodeList()

virtual void adore::if_ROS::V2XTrafficLights::calculateAbsoluteWGS84CoordsFromOffsetNodeList ( double  lat_ref,
double  lon_ref,
dsrc_v2_dsrc::NodeListXY &  nodeList 
)
inlinevirtual
Here is the call graph for this function:
Here is the caller graph for this function:

◆ generateConnectionStates()

virtual std::vector<adore_if_ros_msg::TCDConnectionStateTrace> adore::if_ROS::V2XTrafficLights::generateConnectionStates ( dsrc_v2_spatem_pdu_descriptions::SPATEM  msg)
inlinevirtual
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getConnectionsForSignalgroup()

virtual std::vector<adore_if_ros_msg::Connection> adore::if_ROS::V2XTrafficLights::getConnectionsForSignalgroup ( int  intersectionID,
u_int8_t  signal_group 
)
inlinevirtual
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getConnectionStatesFromSPAT()

virtual std::vector<adore_if_ros_msg::TCDConnectionState> adore::if_ROS::V2XTrafficLights::getConnectionStatesFromSPAT ( u_int8_t  signal_group,
dsrc_v2_dsrc::IntersectionState &  spat 
)
inlinevirtual
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getLaneFromMAPEM()

virtual dsrc_v2_dsrc::GenericLane adore::if_ROS::V2XTrafficLights::getLaneFromMAPEM ( u_int32_t  intersection_id,
u_int8_t  lane_id,
MAPEMContainer mapem_mmap 
)
inlinevirtual
Here is the caller graph for this function:

◆ getLeapYearSeconds()

virtual int adore::if_ROS::V2XTrafficLights::getLeapYearSeconds ( double  vehicle_time)
inlinevirtual
Here is the caller graph for this function:

◆ getOffsetCoordinateFromNode()

virtual void adore::if_ROS::V2XTrafficLights::getOffsetCoordinateFromNode ( dsrc_v2_dsrc::NodeXY &  node,
double &  lat,
double &  lon 
)
inlinevirtual

helper methods for geo- and time manipulation

Here is the caller graph for this function:

◆ getSecondOfYearFromMoy()

virtual double adore::if_ROS::V2XTrafficLights::getSecondOfYearFromMoy ( int32_t  moy,
u_int16_t  dsecond 
)
inlinevirtual
Here is the caller graph for this function:

◆ getSecondOfYearFromUTC()

virtual double adore::if_ROS::V2XTrafficLights::getSecondOfYearFromUTC ( double  time)
inlinevirtual
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getTime()

double adore::if_ROS::V2XTrafficLights::getTime ( )
inline
Here is the caller graph for this function:

◆ getWGSCoordinateFromOffset()

virtual void adore::if_ROS::V2XTrafficLights::getWGSCoordinateFromOffset ( double  lat_ref,
double  lon_ref,
dsrc_v2_dsrc::NodeXY &  delta_node 
)
inlinevirtual
Here is the call graph for this function:
Here is the caller graph for this function:

◆ init()

void adore::if_ROS::V2XTrafficLights::init ( int  argc,
char **  argv,
double  rate,
std::string  nodename 
)
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ mapemLayerAlreadyProcessed()

bool adore::if_ROS::V2XTrafficLights::mapemLayerAlreadyProcessed ( int  station_id,
int  layer_id,
std::unordered_map< int, std::vector< int >> &  map_to_analyse 
)
inline
Here is the caller graph for this function:

◆ odom_receive()

void adore::if_ROS::V2XTrafficLights::odom_receive ( nav_msgs::OdometryConstPtr  msg)
inline
Here is the caller graph for this function:

◆ receive_mapem()

void adore::if_ROS::V2XTrafficLights::receive_mapem ( dsrc_v2_mapem_pdu_descriptions::MAPEM  msg)
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ receive_spatem()

void adore::if_ROS::V2XTrafficLights::receive_spatem ( dsrc_v2_spatem_pdu_descriptions::SPATEM  msg)
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ secondsToChange()

virtual double adore::if_ROS::V2XTrafficLights::secondsToChange ( double  vehicle_second_of_year,
double  spat_second_of_year,
double  validility_time 
)
inlinevirtual

Member Data Documentation

◆ _logging_frequency

float adore::if_ROS::V2XTrafficLights::_logging_frequency
private

◆ _use_system_time

bool adore::if_ROS::V2XTrafficLights::_use_system_time
private

◆ _utm_zone_

int adore::if_ROS::V2XTrafficLights::_utm_zone_
private

◆ connection_state_publisher

ros::Publisher adore::if_ROS::V2XTrafficLights::connection_state_publisher
private

◆ intersectionID_to_map_

MAPEMContainer adore::if_ROS::V2XTrafficLights::intersectionID_to_map_
private

◆ mapem_subscriber_

ros::Subscriber adore::if_ROS::V2XTrafficLights::mapem_subscriber_
private

◆ odom_subscriber_

ros::Subscriber adore::if_ROS::V2XTrafficLights::odom_subscriber_
private

◆ received_mapem_layers_

std::unordered_map<int, std::vector<int> > adore::if_ROS::V2XTrafficLights::received_mapem_layers_
private

◆ spatem_subscriber_

ros::Subscriber adore::if_ROS::V2XTrafficLights::spatem_subscriber_
private

◆ t_

double adore::if_ROS::V2XTrafficLights::t_
private

◆ X_

double adore::if_ROS::V2XTrafficLights::X_
private

◆ Y_

double adore::if_ROS::V2XTrafficLights::Y_
private

◆ Z_

double adore::if_ROS::V2XTrafficLights::Z_
private

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