$darkmode
#include <osi_omni_sensor.hpp>
Public Member Functions | |
| 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) |
| virtual void | store_ego_object (std::shared_ptr< cloe::Object > ego_obj)=0 |
| virtual void | store_object (std::shared_ptr< cloe::Object > obj)=0 |
| virtual void | store_lane_boundary (const cloe::LaneBoundary &lb)=0 |
| virtual void | store_sensor_meta_data (const Eigen::Vector3d &bbcenter_to_veh_origin, const Eigen::Vector3d &ego_dimensions)=0 |
| cloe::Duration | osi_timestamp_to_simtime (const osi3::Timestamp ×tamp) const |
| virtual Eigen::Isometry3d | get_static_mounting_position (const Eigen::Vector3d &bbcenter_to_veh_origin, const Eigen::Vector3d &ego_dimensions)=0 |
| virtual void | set_mock_conf (std::shared_ptr< const SensorMockConf > mock)=0 |
| SensorMockLevel | get_mock_level (SensorMockTarget trg_type) const |
Protected Attributes | |
| 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. | |
Friends | |
| void | to_json (cloe::Json &j, const OsiOmniSensor &c) |
Configure sensor mock level. Base class for an OSI sensor which is connected via TCP.
|
inline |
Create a new instance of OsiOmniSensor with the given OsiTransceiver.
|
inline |
Create a new instance of OsiOmniSensor with the given new OsiTransceiver.
WARNING: If you use this constructor, please realize that OsiOmniSensor takes ownership of the pointer you pass in.
|
pure virtual |
Get sensor pose in OSI vehicle reference frame, e.g. from simulator configuration.
Implemented in vtd::VtdOsiSensor.
| cloe::Duration osii::OsiOmniSensor::osi_timestamp_to_simtime | ( | const osi3::Timestamp & | timestamp | ) | const |
Get the current simulation time (t-t0).
|
virtual |
Translate OSI detected moving object information to Cloe data objects.
| osi_eh | DetectedEntityHeader message to be processed (if available). |
| osi_mo | DetectedMovingObject message to be processed. |
|
virtual |
Translate OSI ego base information made available to the sensor model from other components, or use ground truth.
| osi_hv | HostVehicleData message to be processed (if available). |
| osi_mo | MovingObject (ground truth) used as fallback. |
|
virtual |
Translate OSI SensorView to Cloe data objects.
| osi_sv | SensorView message to be processed, including ground truth. |
|
virtual |
Store the initial timestamp. Note that the osi time does not necessarily start at zero.
|
virtual |
Translate OSI SensorData to Cloe data objects.
| osi_sd | SensorData message to be processed. |
| sim_time | Simulation time to be set. |
|
virtual |
Receive and process the incoming messages.
|
pure virtual |
Store the ego object that should be passed to Cloe.
| ego_obj | Ego object to be stored. |
Implemented in vtd::VtdOsiSensor.
|
pure virtual |
Store a detected lane boundary in a map of Cloe data objects.
| lb | Lane boundary to be stored. |
Implemented in vtd::VtdOsiSensor.
|
pure virtual |
Store a detected object in a list of Cloe data objects.
| obj | Object to be stored. |
Implemented in vtd::VtdOsiSensor.
|
pure virtual |
Store the sensor pose etc. in the corresponding Cloe sensor component.
Implemented in vtd::VtdOsiSensor.
|
protected |
Connection via TCP to simulator. Should always be valid.