Apollo 11.0
自动驾驶开放平台
apollo::perception::fusion::PbfShapeFusion类 参考

#include <pbf_shape_fusion.h>

类 apollo::perception::fusion::PbfShapeFusion 继承关系图:
apollo::perception::fusion::PbfShapeFusion 的协作图:

Public 成员函数

 PbfShapeFusion (TrackPtr track)
 
virtual ~PbfShapeFusion ()=default
 
bool Init () override
 
void UpdateWithMeasurement (const SensorObjectPtr measurement, double target_timestamp) override
 Update with measurement
 
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
 
TrackPtr GetTrack ()
 Get the Track object
 
- Public 成员函数 继承自 apollo::perception::fusion::BaseShapeFusion
 BaseShapeFusion (TrackPtr track)
 
virtual ~BaseShapeFusion ()=default
 

额外继承的成员函数

- Protected 成员函数 继承自 apollo::perception::fusion::BaseShapeFusion
 DISALLOW_COPY_AND_ASSIGN (BaseShapeFusion)
 
- Protected 属性 继承自 apollo::perception::fusion::BaseShapeFusion
TrackPtr track_ref_
 

详细描述

在文件 pbf_shape_fusion.h 第 29 行定义.

构造及析构函数说明

◆ PbfShapeFusion()

apollo::perception::fusion::PbfShapeFusion::PbfShapeFusion ( TrackPtr  track)
inlineexplicit

在文件 pbf_shape_fusion.h 第 31 行定义.

◆ ~PbfShapeFusion()

virtual apollo::perception::fusion::PbfShapeFusion::~PbfShapeFusion ( )
virtualdefault

成员函数说明

◆ GetTrack()

TrackPtr apollo::perception::fusion::PbfShapeFusion::GetTrack ( )
inline

Get the Track object

返回
TrackPtr

在文件 pbf_shape_fusion.h 第 69 行定义.

◆ Init()

bool apollo::perception::fusion::PbfShapeFusion::Init ( )
overridevirtual
返回
true
false

实现了 apollo::perception::fusion::BaseShapeFusion.

在文件 pbf_shape_fusion.cc 第 25 行定义.

25{ return true; }

◆ Name()

std::string apollo::perception::fusion::PbfShapeFusion::Name ( ) const
overridevirtual

The name of BaseShapeFusion

返回
std::string

实现了 apollo::perception::fusion::BaseShapeFusion.

在文件 pbf_shape_fusion.cc 第 65 行定义.

65{ return "PbfShapeFusion"; }

◆ UpdateWithMeasurement()

void apollo::perception::fusion::PbfShapeFusion::UpdateWithMeasurement ( const SensorObjectPtr  measurement,
double  target_timestamp 
)
overridevirtual

Update with measurement

参数
measurement
target_timestamp

实现了 apollo::perception::fusion::BaseShapeFusion.

在文件 pbf_shape_fusion.cc 第 27 行定义.

28 {
29 SensorObjectConstPtr latest_lidar = track_ref_->GetLatestLidarObject();
30 SensorObjectConstPtr latest_radar = track_ref_->GetLatestRadarObject();
31 SensorObjectConstPtr latest_camera = track_ref_->GetLatestCameraObject();
32 if (IsLidar(measurement)) {
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);
42 } else {
43 // nothing to do
44 }
45 } else {
46 UpdateState(measurement);
47 }
48 } else {
49 // nothing to do
50 }
51 } else if (IsCamera(measurement) && s_use_camera_3d_) {
52 if (latest_lidar == nullptr) {
53 UpdateState(measurement);
54 } else {
55 // nothing to do
56 }
57 } else {
58 // nothing to do;
59 }
60}
std::shared_ptr< const SensorObject > SensorObjectConstPtr
bool IsCamera(const SensorObjectConstPtr &obj)
bool IsLidar(const SensorObjectConstPtr &obj)
bool IsRadar(const SensorObjectConstPtr &obj)

◆ UpdateWithoutMeasurement()

void apollo::perception::fusion::PbfShapeFusion::UpdateWithoutMeasurement ( const std::string &  sensor_id,
double  measurement_timestamp,
double  target_timestamp 
)
overridevirtual

Update without measurement

参数
sensor_id
measurement_timestamp
target_timestamp

实现了 apollo::perception::fusion::BaseShapeFusion.

在文件 pbf_shape_fusion.cc 第 61 行定义.

63 {}

该类的文档由以下文件生成: