$darkmode
vtd::VtdOsiSensor Class Reference

#include <osi_sensor_component.hpp>

Inheritance diagram for vtd::VtdOsiSensor:
Collaboration diagram for vtd::VtdOsiSensor:

Public Member Functions

 VtdOsiSensor (std::unique_ptr< osii::OsiTransceiver > &&osi_transceiver, uint64_t owner_id)
 
void configure (const VtdSensorConfig &cfg)
 
void step (const cloe::Sync &s) override
 
void store_object (std::shared_ptr< cloe::Object > obj) override
 
void store_lane_boundary (const cloe::LaneBoundary &lb) override
 
void store_ego_object (std::shared_ptr< cloe::Object > ego_obj) override
 
void store_sensor_meta_data (const Eigen::Vector3d &bbcenter_to_veh_origin, const Eigen::Vector3d &ego_dimensions) override
 
Eigen::Isometry3d get_static_mounting_position (const Eigen::Vector3d &bbcenter_to_veh_origin, const Eigen::Vector3d &ego_dimensions) override
 
void set_mock_conf (std::shared_ptr< const osii::SensorMockConf > mock) override
 
void reset () override
 
- Public Member Functions inherited from osii::OsiOmniSensor
 OsiOmniSensor (std::unique_ptr< OsiTransceiver > &&osi_transceiver, uint64_t owner_id)
 
 OsiOmniSensor (OsiTransceiver *osi_transceiver, uint64_t owner_id)
 
virtual void step (const cloe::Sync &s, const bool &restart, cloe::Duration &sim_time)
 
virtual void process (const osi3::Timestamp &timestamp)
 
virtual void process (osi3::SensorData *osi_sd, cloe::Duration &sim_time)
 
virtual void process (const osi3::SensorView &osi_sv)
 
virtual void process (const bool has_veh_data, const osi3::HostVehicleData &osi_hv, const osi3::MovingObject &osi_ego)
 
virtual void process (const bool has_eh, const osi3::DetectedEntityHeader &osi_eh, const osi3::DetectedMovingObject &osi_mo)
 
void mock_detected_lane_boundaries ()
 
void from_osi_boundary_points (const osi3::LaneBoundary &osi_lb, cloe::LaneBoundary &lb)
 
cloe::Duration osi_timestamp_to_simtime (const osi3::Timestamp &timestamp) const
 
virtual void set_mock_conf (std::shared_ptr< const SensorMockConf > mock)=0
 
SensorMockLevel get_mock_level (SensorMockTarget trg_type) const
 
- 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

Eigen::Vector3d vtd_mnt_pos_dxyz_
 Sensor mounting position obtained from config (in VTD vehicle coordinate frame).
 
Eigen::Vector3d vtd_mnt_ori_drpy_
 
- Protected Attributes inherited from osii::OsiOmniSensor
std::unique_ptr< OsiTransceiverosi_comm_
 
std::unique_ptr< OsiGroundTruthground_truth_
 Access to osi ground truth, e.g. for mock-ups.
 
uint64_t owner_id_
 Id of the sensor's owner (ego).
 
Eigen::Isometry3d osi_ego_pose_
 Store ego pose (reference point is rear axle center, not ground level).
 
Eigen::Isometry3d osi_sensor_pose_
 Store sensor pose relative to the ego frame (rear axle center, not ground level).
 
cloe::Duration init_time_ = cloe::Duration(-1)
 Initial simulation time.
 
std::shared_ptr< const SensorMockConf > mock_ {nullptr}
 Use alternative source for required data or overwrite incoming data, if requested.
 
- 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 VtdOsiSensor &s)
 

Detailed Description

VtdOsiSensor implements retrieval of all data sent by the simulator components.

The object sensor senses box-like objects. The objects are received via TCP and provided as an object list.

Member Function Documentation

◆ get_static_mounting_position()

Eigen::Isometry3d vtd::VtdOsiSensor::get_static_mounting_position ( const Eigen::Vector3d &  bbcenter_to_veh_origin,
const Eigen::Vector3d &  ego_dimensions 
)
inlineoverridevirtual

Return the sensor pose in the vehicle reference frame as defined by OSI (rear axle center, not street level as in VTD).

Implements osii::OsiOmniSensor.

◆ reset()

void vtd::VtdOsiSensor::reset ( )
inlineoverridevirtual

Reset the codec.

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

Implements vtd::VtdSensorData.

Here is the call graph for this function:

◆ set_mock_conf()

void vtd::VtdOsiSensor::set_mock_conf ( std::shared_ptr< const osii::SensorMockConf >  mock)
inlineoverride

Set the mock level for different data types according to user request.

◆ step()

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

Process the incoming data.

Implements vtd::VtdSensorData.

◆ store_ego_object()

void vtd::VtdOsiSensor::store_ego_object ( std::shared_ptr< cloe::Object ego_obj)
inlineoverridevirtual

Store the ego object that should be passed to Cloe.

Parameters
ego_objEgo object to be stored.

Implements osii::OsiOmniSensor.

◆ store_lane_boundary()

void vtd::VtdOsiSensor::store_lane_boundary ( const cloe::LaneBoundary lb)
inlineoverridevirtual

Store a detected lane boundary in a map of Cloe data objects.

Parameters
lbLane boundary to be stored.

Implements osii::OsiOmniSensor.

◆ store_object()

void vtd::VtdOsiSensor::store_object ( std::shared_ptr< cloe::Object obj)
inlineoverridevirtual

Store a detected object in a list of Cloe data objects.

Parameters
objObject to be stored.

Implements osii::OsiOmniSensor.

◆ store_sensor_meta_data()

void vtd::VtdOsiSensor::store_sensor_meta_data ( const Eigen::Vector3d &  bbcenter_to_veh_origin,
const Eigen::Vector3d &  ego_dimensions 
)
inlineoverridevirtual

Store the sensor pose etc. in the corresponding Cloe sensor component.

Implements osii::OsiOmniSensor.


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