28 #include <Eigen/Geometry>
36 #include "vtd_conf.hpp"
52 VtdOsiSensor(std::unique_ptr<osii::OsiTransceiver>&& osi_transceiver, uint64_t owner_id)
53 : OsiOmniSensor(std::move(osi_transceiver), owner_id),
VtdSensorData(
"osi_sensor") {
57 void configure(
const VtdSensorConfig& cfg);
71 const Eigen::Vector3d& ego_dimensions)
override {
75 translation(2) = translation(2) + (0.5 * ego_dimensions(2) + bbcenter_to_veh_origin(2));
76 mount_.translation() = translation;
84 const Eigen::Vector3d& ego_dimensions)
override {
90 Eigen::Quaterniond quaternion = cloe::utility::quaternion_from_rpy(
91 vtd_mnt_ori_drpy_(0), vtd_mnt_ori_drpy_(1), vtd_mnt_ori_drpy_(2));
95 translation(2) = translation(2) - (0.5 * ego_dimensions(2) + bbcenter_to_veh_origin(2));
96 return cloe::utility::pose_from_rotation_translation(quaternion, translation);
102 void set_mock_conf(std::shared_ptr<const osii::SensorMockConf> mock)
override {
112 friend void to_json(cloe::Json& j,
const VtdOsiSensor& s) {
122 Eigen::Vector3d vtd_mnt_ori_drpy_;
Definition: lane_boundary.hpp:36
Definition: osi_omni_sensor.hpp:166
std::unique_ptr< OsiTransceiver > osi_comm_
Definition: osi_omni_sensor.hpp:293
Eigen::Isometry3d osi_sensor_pose_
Store sensor pose relative to the ego frame (rear axle center, not ground level).
Definition: osi_omni_sensor.hpp:305
std::shared_ptr< const SensorMockConf > mock_
Use alternative source for required data or overwrite incoming data, if requested.
Definition: osi_omni_sensor.hpp:311
Definition: osi_sensor_component.hpp:48
void store_object(std::shared_ptr< cloe::Object > obj) override
Definition: osi_sensor_component.hpp:64
Eigen::Isometry3d get_static_mounting_position(const Eigen::Vector3d &bbcenter_to_veh_origin, const Eigen::Vector3d &ego_dimensions) override
Definition: osi_sensor_component.hpp:83
void store_sensor_meta_data(const Eigen::Vector3d &bbcenter_to_veh_origin, const Eigen::Vector3d &ego_dimensions) override
Definition: osi_sensor_component.hpp:70
void set_mock_conf(std::shared_ptr< const osii::SensorMockConf > mock) override
Definition: osi_sensor_component.hpp:102
Eigen::Vector3d vtd_mnt_pos_dxyz_
Sensor mounting position obtained from config (in VTD vehicle coordinate frame).
Definition: osi_sensor_component.hpp:121
void reset() override
Definition: osi_sensor_component.hpp:107
void store_ego_object(std::shared_ptr< cloe::Object > ego_obj) override
Definition: osi_sensor_component.hpp:68
void store_lane_boundary(const cloe::LaneBoundary &lb) override
Definition: osi_sensor_component.hpp:66
void step(const cloe::Sync &s) override
Definition: osi_sensor_component.hpp:59
Definition: vtd_sensor_data.hpp:39
Eigen::Isometry3d mount_
Sensor mounting position and orientation.
Definition: vtd_sensor_data.hpp:121
std::shared_ptr< cloe::Object > ego_object_
ego object information from last processed frame.
Definition: vtd_sensor_data.hpp:130
bool restart_
Indicates whether reset has been requested.
Definition: vtd_sensor_data.hpp:115
virtual void set_reset_state()
Definition: vtd_sensor_data.hpp:79
cloe::Duration simulation_time_
Simulation time from last processed sensor message.
Definition: vtd_sensor_data.hpp:118
cloe::Objects world_objects_
World objects from last processed frame.
Definition: vtd_sensor_data.hpp:127
cloe::LaneBoundaries lanes_
Lane id-to-boundary-map.
Definition: vtd_sensor_data.hpp:136