$darkmode
vtd::VtdOmniSensor Class Reference

#include <omni_sensor_component.hpp>

Inheritance diagram for vtd::VtdOmniSensor:
Collaboration diagram for vtd::VtdOmniSensor:

Public Member Functions

 VtdOmniSensor (std::unique_ptr< RdbTransceiver > &&rdb_transceiver, uint64_t owner_id)
 
void step (const cloe::Sync &s) override
 
void process (RDB_START_OF_FRAME_t *) override
 
void process (RDB_END_OF_FRAME_t *) override
 
void process (RDB_WHEEL_t *rdb_w, bool) override
 
void process (RDB_SENSOR_STATE_t *s) override
 
void process (RDB_OBJECT_STATE_t *rdb_os, bool extended) override
 
void process (RDB_ROADMARK_t *rdb_rm) override
 
const std::string & get_name () const override
 
void reset () override
 
virtual void process (RDB_MSG_t *msg, bool &restart, cloe::Duration &sim_time)
 
virtual void process (RDB_MSG_ENTRY_HDR_t *entry)
 
virtual void process (RDB_START_OF_FRAME_t *)
 
virtual void process (RDB_END_OF_FRAME_t *)
 
virtual void process (RDB_COORD_SYSTEM_t *)
 
virtual void process (RDB_COORD_t *)
 
virtual void process (RDB_ROAD_POS_t *)
 
virtual void process (RDB_LANE_INFO_t *)
 
virtual void process (RDB_ROADMARK_t *)
 
virtual void process (RDB_OBJECT_CFG_t *)
 
virtual void process (RDB_OBJECT_STATE_t *, bool)
 
virtual void process (RDB_VEHICLE_SYSTEMS_t *)
 
virtual void process (RDB_VEHICLE_SETUP_t *)
 
virtual void process (RDB_ENGINE_t *, bool)
 
virtual void process (RDB_DRIVETRAIN_t *, bool)
 
virtual void process (RDB_WHEEL_t *, bool)
 
virtual void process (RDB_PED_ANIMATION_t *)
 
virtual void process (RDB_SENSOR_STATE_t *)
 
virtual void process (RDB_SENSOR_OBJECT_t *)
 
virtual void process (RDB_CAMERA_t *)
 
virtual void process (RDB_CONTACT_POINT_t *)
 
virtual void process (RDB_TRAFFIC_SIGN_t *)
 
virtual void process (RDB_ROAD_STATE_t *)
 
virtual void process (RDB_IMAGE_t *)
 
virtual void process (RDB_LIGHT_SOURCE_t *, bool)
 
virtual void process (RDB_ENVIRONMENT_t *)
 
virtual void process (RDB_TRIGGER_t *)
 
virtual void process (RDB_DRIVER_CTRL_t *)
 
virtual void process (RDB_TRAFFIC_LIGHT_t *, bool)
 
virtual void process (RDB_SYNC_t *)
 
virtual void process (RDB_DRIVER_PERCEPTION_t *)
 
virtual void process (RDB_FUNCTION_t *)
 
virtual void process (RDB_ROAD_QUERY_t *)
 
virtual void process (RDB_TRAJECTORY_t *)
 
virtual void process (RDB_DYN_2_STEER_t *)
 
virtual void process (RDB_STEER_2_DYN_t *)
 
virtual void process (RDB_PROXY_t *)
 
virtual void process (RDB_MOTION_SYSTEM_t *)
 
virtual void process (RDB_FREESPACE_t *)
 
virtual void process (RDB_DYN_EL_SWITCH_t *)
 
virtual void process (RDB_DYN_EL_DOF_t *)
 
virtual void process (RDB_IG_FRAME_t *)
 
virtual void process (RDB_RT_PERFORMANCE_t *)
 
virtual void process (RDB_CUSTOM_SCORING_t *)
 
virtual void process (RDB_CUSTOM_OBJECT_CTRL_TRACK_t *)
 
- Public Member Functions inherited from vtd::RdbCodec
 RdbCodec (std::unique_ptr< RdbTransceiver > &&rdb_transceiver)
 
 RdbCodec (RdbTransceiver *rdb_transceiver)
 
virtual uint64_t frame_number () const
 
virtual void step (uint64_t frame_number, bool &restart, cloe::Duration &sim_time)
 
virtual void process (RDB_MSG_t *msg, bool &restart, cloe::Duration &sim_time)
 
virtual void process (RDB_MSG_ENTRY_HDR_t *entry)
 
virtual void process (RDB_COORD_SYSTEM_t *)
 
virtual void process (RDB_COORD_t *)
 
virtual void process (RDB_ROAD_POS_t *)
 
virtual void process (RDB_LANE_INFO_t *)
 
virtual void process (RDB_OBJECT_CFG_t *)
 
virtual void process (RDB_VEHICLE_SYSTEMS_t *)
 
virtual void process (RDB_VEHICLE_SETUP_t *)
 
virtual void process (RDB_ENGINE_t *, bool)
 
virtual void process (RDB_DRIVETRAIN_t *, bool)
 
virtual void process (RDB_PED_ANIMATION_t *)
 
virtual void process (RDB_SENSOR_OBJECT_t *)
 
virtual void process (RDB_CAMERA_t *)
 
virtual void process (RDB_CONTACT_POINT_t *)
 
virtual void process (RDB_TRAFFIC_SIGN_t *)
 
virtual void process (RDB_ROAD_STATE_t *)
 
virtual void process (RDB_IMAGE_t *)
 
virtual void process (RDB_LIGHT_SOURCE_t *, bool)
 
virtual void process (RDB_ENVIRONMENT_t *)
 
virtual void process (RDB_TRIGGER_t *)
 
virtual void process (RDB_DRIVER_CTRL_t *)
 
virtual void process (RDB_TRAFFIC_LIGHT_t *, bool)
 
virtual void process (RDB_SYNC_t *)
 
virtual void process (RDB_DRIVER_PERCEPTION_t *)
 
virtual void process (RDB_FUNCTION_t *)
 
virtual void process (RDB_ROAD_QUERY_t *)
 
virtual void process (RDB_TRAJECTORY_t *)
 
virtual void process (RDB_DYN_2_STEER_t *)
 
virtual void process (RDB_STEER_2_DYN_t *)
 
virtual void process (RDB_PROXY_t *)
 
virtual void process (RDB_MOTION_SYSTEM_t *)
 
virtual void process (RDB_FREESPACE_t *)
 
virtual void process (RDB_DYN_EL_SWITCH_t *)
 
virtual void process (RDB_DYN_EL_DOF_t *)
 
virtual void process (RDB_IG_FRAME_t *)
 
virtual void process (RDB_RT_PERFORMANCE_t *)
 
virtual void process (RDB_CUSTOM_SCORING_t *)
 
virtual void process (RDB_CUSTOM_OBJECT_CTRL_TRACK_t *)
 
- Public Member Functions inherited from vtd::VtdSensorData
 VtdSensorData (const std::string &name)
 
virtual cloe::Duration simulation_time () const
 
virtual void set_name (const std::string &name)
 
virtual void set_reset_state ()
 
const cloe::Objectget_ego_object () const
 
const cloe::Objectsget_world_objects () const
 
double get_ego_steering_angle () const
 
const cloe::Frustumget_frustum () const
 
const Eigen::Isometry3d & get_mount_pose () const
 
const cloe::LaneBoundaries & get_lane_boundaries ()
 
void clear_cache ()
 

Protected Attributes

uint64_t owner_id_
 Id of the sensor's owner (ego).
 
- Protected Attributes inherited from vtd::RdbCodec
std::unique_ptr< RdbTransceiverrdb_
 
uint64_t frame_number_ = 0
 Frame number from last processed RDB message.
 
bool processing_frame_ = false
 Indicates whether in between a start of frame and an end of frame message.
 
- Protected Attributes inherited from vtd::VtdSensorData
std::string name_ = "default_sensor"
 Human readable name.
 
bool restart_ = false
 Indicates whether reset has been requested.
 
cloe::Duration simulation_time_ = cloe::Duration(0)
 Simulation time from last processed sensor message.
 
Eigen::Isometry3d mount_
 Sensor mounting position and orientation.
 
cloe::Frustum frustum_
 Sensor frustum information.
 
cloe::Objects world_objects_
 World objects from last processed frame.
 
std::shared_ptr< cloe::Objectego_object_
 ego object information from last processed frame.
 
double ego_steering_angle_ {0.0}
 Ego front left wheel steering angle from last processed frame.
 
cloe::LaneBoundaries lanes_
 Lane id-to-boundary-map.
 

Friends

void to_json (cloe::Json &j, const VtdOmniSensor &s)
 

Detailed Description

VtdOmniSensor implements retrieval of all data sent by the related VTD sensor.

This is currently object, ego, and lane boundary sensor data.

The object sensor senses box-like objects. The objects are received via RDB and provided as an object list. The ego sensor senses wheel and general ego information. The lane boundary sensor senses roadmarks.

In order to distinguish ego from non-ego objects OmniSensor uses the owner_id which is the VTD object id from the vehicle owning the related sensor.

Member Function Documentation

◆ get_name()

const std::string& vtd::VtdOmniSensor::get_name ( ) const
inlineoverridevirtual

Return the Codec's or Sensors' name. Will be overwritten by the name set in VtdSensorData.

Implements vtd::RdbCodec.

◆ process() [1/4]

void vtd::RdbCodec::process

Process each RDB message entry. This method is called in process(RDB_MSG_t) for each entry in a message.

Parameters
entryRDB message entry to be processed

◆ process() [2/4]

void vtd::RdbCodec::process

Process a RDB message. This method is called in process() for each RDB message.

Parameters
msgmessage to be processed

◆ process() [3/4]

virtual void vtd::RdbCodec::process
inline

Process a start of frame.

Parameters
start_of_frameonly used for dynamic binding; do not access.

◆ process() [4/4]

void vtd::VtdOmniSensor::process ( RDB_START_OF_FRAME_t *  )
inlineoverridevirtual

Process a start of frame.

Parameters
start_of_frameonly used for dynamic binding; do not access.

Reimplemented from vtd::RdbCodec.

◆ reset()

void vtd::VtdOmniSensor::reset ( )
inlineoverridevirtual

Reset the codec.

Discard received messages, clear data members, and implement sensor-specific reset steps.

Implements vtd::VtdSensorData.

Reimplemented in vtd::TaskControl.

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

◆ step()

void vtd::VtdOmniSensor::step ( const cloe::Sync s)
inlineoverridevirtual

Process the incoming data.

Implements vtd::VtdSensorData.

Here is the call graph for this function:

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