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

#include <radar4d_detection_component.h>

类 apollo::perception::radar4d::Radar4dDetectionComponent 继承关系图:
apollo::perception::radar4d::Radar4dDetectionComponent 的协作图:

Public 成员函数

 Radar4dDetectionComponent ()
 
 ~Radar4dDetectionComponent ()=default
 
bool Init () override
 
bool Proc (const std::shared_ptr< drivers::OculiiPointCloud > &message) override
 
- Public 成员函数 继承自 apollo::cyber::Component< drivers::OculiiPointCloud >
 Component ()
 
 ~Component () override
 
bool Initialize (const ComponentConfig &config) override
 init the component by protobuf object.
 
bool Process (const std::shared_ptr< drivers::OculiiPointCloud > &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_
 

详细描述

在文件 radar4d_detection_component.h45 行定义.

构造及析构函数说明

◆ Radar4dDetectionComponent()

apollo::perception::radar4d::Radar4dDetectionComponent::Radar4dDetectionComponent ( )
inline

在文件 radar4d_detection_component.h48 行定义.

49 : tf_child_frame_id_(""),
50 radar_forward_distance_(200.0),
51 odometry_channel_name_(""),
52 hdmap_input_(nullptr),
53 radar_preprocessor_(nullptr),
54 radar_perception_(nullptr) {}

◆ ~Radar4dDetectionComponent()

apollo::perception::radar4d::Radar4dDetectionComponent::~Radar4dDetectionComponent ( )
default

成员函数说明

◆ Init()

bool apollo::perception::radar4d::Radar4dDetectionComponent::Init ( )
overridevirtual

实现了 apollo::cyber::ComponentBase.

在文件 radar4d_detection_component.cc31 行定义.

31 {
32 // To load component configs
33 Radar4dDetectionConfig comp_config;
34 if (!GetProtoConfig(&comp_config)) {
35 return false;
36 }
37 AINFO << "Radar4d Detection Component Config: " <<
38 comp_config.DebugString();
39
40 tf_child_frame_id_ = comp_config.tf_child_frame_id();
41 radar_forward_distance_ = comp_config.radar_forward_distance();
42 odometry_channel_name_ = comp_config.odometry_channel_name();
43
44 // Load sensor info
45 if (!algorithm::SensorManager::Instance()->GetSensorInfo(
46 comp_config.radar_name(), &radar_info_)) {
47 AERROR << "Failed to get sensor info, sensor name: "
48 << comp_config.radar_name();
49 return false;
50 }
51
52 // Create writer
53 writer_ = node_->CreateWriter<onboard::SensorFrameMessage>(
54 comp_config.output_channel_name());
55
56 // Init algorithm plugin
57 ACHECK(InitAlgorithmPlugin(comp_config))
58 << "Failed to init algorithm plugin.";
59
60 // Init localization config
61 radar2world_trans_.Init(tf_child_frame_id_);
62 radar2novatel_trans_.Init(tf_child_frame_id_);
63 localization_subscriber_.Init(
64 odometry_channel_name_,
65 odometry_channel_name_ + '_' + comp_config.radar_name());
66 return true;
67}
bool GetProtoConfig(T *config) const
std::shared_ptr< Node > node_
void Init(const std::string &sensor2novatel_tf2_child_frame_id)
#define ACHECK(cond)
Definition log.h:80
#define AERROR
Definition log.h:44
#define AINFO
Definition log.h:42

◆ Proc()

bool apollo::perception::radar4d::Radar4dDetectionComponent::Proc ( const std::shared_ptr< drivers::OculiiPointCloud > &  message)
override

在文件 radar4d_detection_component.cc69 行定义.

70 {
71 AINFO << "Enter radar preprocess, message timestamp: "
72 << message->header().timestamp_sec() << " current timestamp "
74 auto out_message = std::make_shared<onboard::SensorFrameMessage>();
75
76 if (!InternalProc(message, out_message)) {
77 return false;
78 }
79 writer_->Write(out_message);
80 return true;
81}
static double NowInSeconds()
gets the current time in second.
Definition clock.cc:56

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