Apollo 10.0
自动驾驶开放平台
apollo::perception::lidar::LidarTrackingComponent类 参考

#include <lidar_tracking_component.h>

类 apollo::perception::lidar::LidarTrackingComponent 继承关系图:
apollo::perception::lidar::LidarTrackingComponent 的协作图:

Public 成员函数

 LidarTrackingComponent ()=default
 Constructor
 
virtual ~LidarTrackingComponent ()=default
 Destructor
 
bool Init () override
 Initialize the node
 
bool Proc (const std::shared_ptr< LidarFrameMessage > &message) override
 Data callback upon receiving a LidarFrameMessage.
 
- Public 成员函数 继承自 apollo::cyber::Component< LidarFrameMessage >
 Component ()
 
 ~Component () override
 
bool Initialize (const ComponentConfig &config) override
 init the component by protobuf object.
 
bool Process (const std::shared_ptr< LidarFrameMessage > &msg0, const std::shared_ptr< NullType > &msg1, const std::shared_ptr< NullType > &msg2, const std::shared_ptr< NullType > &msg3)
 
- Public 成员函数 继承自 apollo::cyber::ComponentBase
virtual ~ComponentBase ()
 
virtual bool Initialize (const TimerComponentConfig &config)
 
virtual void Shutdown ()
 
template<typename T >
bool GetProtoConfig (T *config) const
 

额外继承的成员函数

- Public 类型 继承自 apollo::cyber::ComponentBase
template<typename M >
using Reader = cyber::Reader< M >
 
- Protected 成员函数 继承自 apollo::cyber::ComponentBase
virtual void Clear ()
 
const std::string & ConfigFilePath () const
 
void LoadConfigFiles (const ComponentConfig &config)
 
void LoadConfigFiles (const TimerComponentConfig &config)
 
- Protected 属性 继承自 apollo::cyber::ComponentBase
std::atomic< bool > is_shutdown_ = {false}
 
std::shared_ptr< Nodenode_ = nullptr
 
std::string config_file_path_ = ""
 
std::vector< std::shared_ptr< ReaderBase > > readers_
 

详细描述

在文件 lidar_tracking_component.h37 行定义.

构造及析构函数说明

◆ LidarTrackingComponent()

apollo::perception::lidar::LidarTrackingComponent::LidarTrackingComponent ( )
default

Constructor

◆ ~LidarTrackingComponent()

virtual apollo::perception::lidar::LidarTrackingComponent::~LidarTrackingComponent ( )
virtualdefault

Destructor

成员函数说明

◆ Init()

bool apollo::perception::lidar::LidarTrackingComponent::Init ( )
overridevirtual

Initialize the node

返回
true if initialized
false

实现了 apollo::cyber::ComponentBase.

在文件 lidar_tracking_component.cc28 行定义.

28 {
29 LidarTrackingComponentConfig comp_config;
30 if (!GetProtoConfig(&comp_config)) {
31 AERROR << "Get LidarTrackingComponentConfig file failed";
32 return false;
33 }
34 AINFO << "Lidar Tracking Component Configs: " << comp_config.DebugString();
35
36 // writer
37 std::string output_channel_name = comp_config.output_channel_name();
38 writer_ = node_->CreateWriter<SensorFrameMessage>(output_channel_name);
39
40 // multi target tracking init
41 auto multi_target_tracker_param = comp_config.multi_target_tracker_param();
42 std::string multi_target_tracker_name = multi_target_tracker_param.name();
43 multi_target_tracker_ = BaseMultiTargetTrackerRegisterer::GetInstanceByName(
44 multi_target_tracker_name);
45 CHECK_NOTNULL(multi_target_tracker_);
46
47 MultiTargetTrackerInitOptions tracker_init_options;
48 tracker_init_options.config_path = multi_target_tracker_param.config_path();
49 tracker_init_options.config_file = multi_target_tracker_param.config_file();
50 ACHECK(multi_target_tracker_->Init(tracker_init_options));
51
52 // // fused classifier init
53 // auto fusion_classifier_param = comp_config.fusion_classifier_param();
54 // std::string fusion_classifier_name = fusion_classifier_param.name();
55 // fusion_classifier_ =
56 // BaseClassifierRegisterer::GetInstanceByName(fusion_classifier_name);
57 // CHECK_NOTNULL(fusion_classifier_);
58
59 // ClassifierInitOptions fusion_classifier_init_options;
60 // fusion_classifier_init_options.config_path =
61 // fusion_classifier_param.config_path();
62 // fusion_classifier_init_options.config_file =
63 // fusion_classifier_param.config_file();
64 // ACHECK(fusion_classifier_->Init(fusion_classifier_init_options));
65 return true;
66}
bool GetProtoConfig(T *config) const
std::shared_ptr< Node > node_
virtual bool Init(const MultiTargetTrackerInitOptions &options=MultiTargetTrackerInitOptions())=0
Init multi target tarcker
#define ACHECK(cond)
Definition log.h:80
#define AERROR
Definition log.h:44
#define AINFO
Definition log.h:42

◆ Proc()

bool apollo::perception::lidar::LidarTrackingComponent::Proc ( const std::shared_ptr< LidarFrameMessage > &  message)
override

Data callback upon receiving a LidarFrameMessage.

参数
messageLidarFrameMessage
返回
true if success
false

在文件 lidar_tracking_component.cc68 行定义.

69 {
71 AINFO << std::setprecision(16)
72 << "Enter LidarTracking component, message timestamp: "
73 << message->timestamp_
74 << " current timestamp: " << Clock::NowInSeconds();
75
76 auto out_message = std::make_shared<SensorFrameMessage>();
77
78 if (InternalProc(message, out_message)) {
79 writer_->Write(out_message);
80 return true;
81 }
82
83 AERROR << "Send lidar tracking output message failed!";
84 return false;
85}
Set the behavior of the
Definition future.h:29
#define PERF_FUNCTION(...)
Definition profiler.h:54

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