$darkmode
#include <osi_sensor_component.hpp>
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 ×tamp) |
| 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 ×tamp) 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::Object & | get_ego_object () const |
| const cloe::Objects & | get_world_objects () const |
| double | get_ego_steering_angle () const |
| const cloe::Frustum & | get_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< OsiTransceiver > | osi_comm_ |
| std::unique_ptr< OsiGroundTruth > | ground_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::Object > | ego_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) |
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.
|
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.
|
inlineoverridevirtual |
Reset the codec.
Discard received messages, clear data members, and implement sensor-specific reset steps.
Implements vtd::VtdSensorData.
|
inlineoverride |
Set the mock level for different data types according to user request.
|
inlineoverridevirtual |
Process the incoming data.
Implements vtd::VtdSensorData.
|
inlineoverridevirtual |
Store the ego object that should be passed to Cloe.
| ego_obj | Ego object to be stored. |
Implements osii::OsiOmniSensor.
|
inlineoverridevirtual |
Store a detected lane boundary in a map of Cloe data objects.
| lb | Lane boundary to be stored. |
Implements osii::OsiOmniSensor.
|
inlineoverridevirtual |
Store a detected object in a list of Cloe data objects.
| obj | Object to be stored. |
Implements osii::OsiOmniSensor.
|
inlineoverridevirtual |
Store the sensor pose etc. in the corresponding Cloe sensor component.
Implements osii::OsiOmniSensor.