Apollo
11.0
自动驾驶开放平台
base_barrier_recognizer.h
浏览该文件的文档.
1
/******************************************************************************
2
* Copyright 2024 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 <string>
20
21
#include "
cyber/common/macros.h
"
22
#include "
cyber/plugin_manager/plugin_manager.h
"
23
#include "modules/common_msgs/perception_msgs/perception_obstacle.pb.h"
24
#include "modules/common_msgs/sensor_msgs/pointcloud.pb.h"
25
#include "
modules/perception/common/lib/interface/base_init_options.h
"
26
#include "
modules/perception/common/lib/registerer/registerer.h
"
27
#include "
modules/perception/common/lidar/common/lidar_frame.h
"
28
29
namespace
apollo
{
30
namespace
perception {
31
namespace
lidar {
32
33
struct
BarrierRecognizerInitOptions
:
public
BaseInitOptions
{};
34
35
struct
BarrierRecognizerOptions
{
36
std::string
name
;
37
std::vector<double>
world_roi_polygon
;
38
};
39
40
struct
BarrieGate
{
41
int
status_id
;
42
std::string
id
;
43
std::string
type
;
44
float
open_percent
;
45
};
46
47
48
class
BaseBarrierRecognizer
{
49
public
:
50
BaseBarrierRecognizer
() =
default
;
51
52
virtual
~BaseBarrierRecognizer
() =
default
;
53
61
virtual
bool
Init
(
const
BarrierRecognizerInitOptions
& options =
BarrierRecognizerInitOptions
()) = 0;
62
71
virtual
bool
Recognize
(
72
const
BarrierRecognizerOptions
& options,
73
lidar::LidarFrame
* frame,
74
float
& open_percent) = 0;
75
81
virtual
std::string
Name
()
const
= 0;
82
83
private
:
84
DISALLOW_COPY_AND_ASSIGN
(
BaseBarrierRecognizer
);
85
};
// class BaseBarrierRecognizer
86
87
PERCEPTION_REGISTER_REGISTERER
(
BaseBarrierRecognizer
);
88
#define PERCEPTION_REGISTER_CURB_DETECTOR(name) PERCEPTION_REGISTER_CLASS(BaseBarrierRecognizer, name)
89
90
}
// namespace lidar
91
}
// namespace perception
92
}
// namespace apollo
base_init_options.h
apollo::perception::lidar::BaseBarrierRecognizer
Definition
base_barrier_recognizer.h:48
apollo::perception::lidar::BaseBarrierRecognizer::~BaseBarrierRecognizer
virtual ~BaseBarrierRecognizer()=default
apollo::perception::lidar::BaseBarrierRecognizer::Name
virtual std::string Name() const =0
Get class name
apollo::perception::lidar::BaseBarrierRecognizer::Init
virtual bool Init(const BarrierRecognizerInitOptions &options=BarrierRecognizerInitOptions())=0
Init base barrier detector
apollo::perception::lidar::BaseBarrierRecognizer::Recognize
virtual bool Recognize(const BarrierRecognizerOptions &options, lidar::LidarFrame *frame, float &open_percent)=0
Recognize barrier gate status from point cloud.
apollo::perception::lidar::BaseBarrierRecognizer::BaseBarrierRecognizer
BaseBarrierRecognizer()=default
macros.h
DISALLOW_COPY_AND_ASSIGN
#define DISALLOW_COPY_AND_ASSIGN(classname)
Definition
macros.h:48
plugin_manager.h
lidar_frame.h
apollo
class register implement
Definition
arena_queue.h:37
registerer.h
PERCEPTION_REGISTER_REGISTERER
#define PERCEPTION_REGISTER_REGISTERER(base_class)
Definition
registerer.h:92
apollo::perception::BaseInitOptions
Definition
base_init_options.h:23
apollo::perception::lidar::BarrieGate
Definition
base_barrier_recognizer.h:40
apollo::perception::lidar::BarrieGate::status_id
int status_id
Definition
base_barrier_recognizer.h:41
apollo::perception::lidar::BarrieGate::open_percent
float open_percent
Definition
base_barrier_recognizer.h:44
apollo::perception::lidar::BarrieGate::type
std::string type
Definition
base_barrier_recognizer.h:43
apollo::perception::lidar::BarrieGate::id
std::string id
Definition
base_barrier_recognizer.h:42
apollo::perception::lidar::BarrierRecognizerInitOptions
Definition
base_barrier_recognizer.h:33
apollo::perception::lidar::BarrierRecognizerOptions
Definition
base_barrier_recognizer.h:35
apollo::perception::lidar::BarrierRecognizerOptions::name
std::string name
Definition
base_barrier_recognizer.h:36
apollo::perception::lidar::BarrierRecognizerOptions::world_roi_polygon
std::vector< double > world_roi_polygon
Definition
base_barrier_recognizer.h:37
apollo::perception::lidar::LidarFrame
Definition
lidar_frame.h:33
modules
perception
barrier_recognition
interface
base_barrier_recognizer.h