22bool PbfShapeFusion::s_use_camera_3d_ =
true;
23float PbfShapeFusion::s_camera_radar_time_diff_th_ = 0.3f;
28 double target_timestamp) {
33 UpdateState(measurement);
34 }
else if (
IsRadar(measurement)) {
35 if (latest_lidar ==
nullptr) {
36 if (latest_camera !=
nullptr) {
37 if (std::fabs(measurement->GetTimestamp() -
38 latest_camera->GetTimestamp()) <
39 s_camera_radar_time_diff_th_) {
40 UpdateShape(latest_camera);
41 UpdateCenter(measurement);
46 UpdateState(measurement);
51 }
else if (
IsCamera(measurement) && s_use_camera_3d_) {
52 if (latest_lidar ==
nullptr) {
53 UpdateState(measurement);
62 double measurement_timestamp,
63 double target_timestamp) {}
68 UpdateShape(measurement);
69 UpdateCenter(measurement);
76 dst_obj->size = src_obj->size;
77 dst_obj->direction = src_obj->direction;
78 dst_obj->theta = src_obj->theta;
79 dst_obj->polygon = src_obj->polygon;
86 dst_obj->center = src_obj->center;
87 dst_obj->anchor_point = src_obj->anchor_point;
void UpdateWithoutMeasurement(const std::string &sensor_id, double measurement_timestamp, double target_timestamp) override
Update without measurement
std::string Name() const override
The name of BaseShapeFusion
void UpdateWithMeasurement(const SensorObjectPtr measurement, double target_timestamp) override
Update with measurement
std::shared_ptr< const Object > ObjectConstPtr
std::shared_ptr< Object > ObjectPtr
std::shared_ptr< const SensorObject > SensorObjectConstPtr
std::shared_ptr< SensorObject > SensorObjectPtr
bool IsCamera(const SensorObjectConstPtr &obj)
bool IsLidar(const SensorObjectConstPtr &obj)
bool IsRadar(const SensorObjectConstPtr &obj)