Apollo
11.0
自动驾驶开放平台
lidar_tracking_component.h
浏览该文件的文档.
1
/******************************************************************************
2
* Copyright 2023 The Apollo Authors. All Rights Reserved.
3
*
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
* you may not use this file except in compliance with the License.
6
* You may obtain a copy of the License at
7
*
8
* http://www.apache.org/licenses/LICENSE-2.0
9
*
10
* Unless required by applicable law or agreed to in writing, software
11
* distributed under the License is distributed on an "AS IS" BASIS,
12
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
* See the License for the specific language governing permissions and
14
* limitations under the License.
15
*****************************************************************************/
16
17
#pragma once
18
19
#include <memory>
20
#include <string>
21
22
#include "modules/perception/lidar_tracking/proto/lidar_tracking_component_config.pb.h"
23
24
#include "
cyber/common/log.h
"
25
#include "
cyber/component/component.h
"
26
#include "
modules/perception/common/onboard/inner_component_messages/lidar_inner_component_messages.h
"
27
#include "
modules/perception/lidar_tracking/classifier/fused_classifier/fused_classifier.h
"
28
#include "
modules/perception/lidar_tracking/tracker/multi_lidar_fusion/mlf_engine.h
"
29
30
namespace
apollo
{
31
namespace
perception {
32
namespace
lidar {
33
34
using
onboard::LidarFrameMessage;
35
using
onboard::SensorFrameMessage;
36
37
class
LidarTrackingComponent
:
public
cyber::Component
<LidarFrameMessage> {
38
public
:
42
LidarTrackingComponent
() =
default
;
46
virtual
~LidarTrackingComponent
() =
default
;
47
54
bool
Init
()
override
;
62
bool
Proc
(
const
std::shared_ptr<LidarFrameMessage>& message)
override
;
63
64
private
:
71
bool
InternalProc(
const
std::shared_ptr<const LidarFrameMessage>& in_message,
72
const
std::shared_ptr<SensorFrameMessage>& out_message);
73
74
private
:
75
BaseMultiTargetTracker
* multi_target_tracker_;
76
BaseClassifier
* fusion_classifier_;
77
78
std::shared_ptr<apollo::cyber::Writer<SensorFrameMessage>> writer_;
79
};
80
81
CYBER_REGISTER_COMPONENT
(
LidarTrackingComponent
);
82
83
}
// namespace lidar
84
}
// namespace perception
85
}
// namespace apollo
apollo::cyber::Component
Definition
component.h:60
apollo::perception::lidar::BaseClassifier
Definition
base_classifier.h:36
apollo::perception::lidar::BaseMultiTargetTracker
Definition
base_multi_target_tracker.h:36
apollo::perception::lidar::LidarTrackingComponent
Definition
lidar_tracking_component.h:37
apollo::perception::lidar::LidarTrackingComponent::Init
bool Init() override
Initialize the node
Definition
lidar_tracking_component.cc:28
apollo::perception::lidar::LidarTrackingComponent::~LidarTrackingComponent
virtual ~LidarTrackingComponent()=default
Destructor
apollo::perception::lidar::LidarTrackingComponent::Proc
bool Proc(const std::shared_ptr< LidarFrameMessage > &message) override
Data callback upon receiving a LidarFrameMessage.
Definition
lidar_tracking_component.cc:68
apollo::perception::lidar::LidarTrackingComponent::LidarTrackingComponent
LidarTrackingComponent()=default
Constructor
component.h
CYBER_REGISTER_COMPONENT
#define CYBER_REGISTER_COMPONENT(name)
Definition
component.h:657
lidar_inner_component_messages.h
fused_classifier.h
log.h
mlf_engine.h
apollo
class register implement
Definition
arena_queue.h:37
modules
perception
lidar_tracking
lidar_tracking_component.h