Apollo
11.0
自动驾驶开放平台
map_manager.h
浏览该文件的文档.
1
/******************************************************************************
2
* Copyright 2018 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 "gtest/gtest_prod.h"
22
23
#include "modules/perception/pointcloud_map_based_roi/map_manager/proto/map_manager_config.pb.h"
24
25
#include "
modules/perception/common/base/hdmap_struct.h
"
26
#include "
modules/perception/common/hdmap/hdmap_input.h
"
27
#include "
modules/perception/common/lidar/common/lidar_frame.h
"
28
#include "
modules/perception/common/lib/interface/base_init_options.h
"
29
30
namespace
apollo
{
31
namespace
perception {
32
namespace
lidar {
33
34
using
apollo::perception::BaseInitOptions
;
35
36
struct
MapManagerInitOptions
:
public
BaseInitOptions
{
37
};
38
39
struct
MapManagerOptions
{};
40
41
class
MapManager
{
42
public
:
47
MapManager
() =
default
;
48
53
~MapManager
() =
default
;
54
62
bool
Init
(
const
MapManagerInitOptions
& options =
MapManagerInitOptions
());
63
72
bool
Update
(
const
MapManagerOptions
& options,
LidarFrame
* frame);
73
81
bool
QueryPose
(Eigen::Affine3d* sensor2world_pose)
const
;
82
88
std::string
Name
()
const
{
return
"MapManager"
; }
89
90
private
:
91
LidarFrame
* cached_frame_ =
nullptr
;
92
map::HDMapInput
* hdmap_input_ =
nullptr
;
93
// params
94
bool
update_pose_ =
false
;
95
double
roi_search_distance_ = 80.0;
96
};
// class MapManager
97
98
}
// namespace lidar
99
}
// namespace perception
100
}
// namespace apollo
base_init_options.h
apollo::perception::lidar::MapManager
Definition
map_manager.h:41
apollo::perception::lidar::MapManager::MapManager
MapManager()=default
Construct a new Map Manager object
apollo::perception::lidar::MapManager::QueryPose
bool QueryPose(Eigen::Affine3d *sensor2world_pose) const
Query the pose
Definition
map_manager.cc:74
apollo::perception::lidar::MapManager::Init
bool Init(const MapManagerInitOptions &options=MapManagerInitOptions())
Init of Map Manager
Definition
map_manager.cc:27
apollo::perception::lidar::MapManager::Name
std::string Name() const
Name of Map Manager
Definition
map_manager.h:88
apollo::perception::lidar::MapManager::Update
bool Update(const MapManagerOptions &options, LidarFrame *frame)
update map structure and lidar2world pose
Definition
map_manager.cc:42
apollo::perception::lidar::MapManager::~MapManager
~MapManager()=default
Destroy the Map Manager object
apollo::perception::map::HDMapInput
Definition
hdmap_input.h:34
hdmap_input.h
hdmap_struct.h
lidar_frame.h
apollo
class register implement
Definition
arena_queue.h:37
apollo::perception::BaseInitOptions
Definition
base_init_options.h:23
apollo::perception::lidar::LidarFrame
Definition
lidar_frame.h:33
apollo::perception::lidar::MapManagerInitOptions
Definition
map_manager.h:36
apollo::perception::lidar::MapManagerOptions
Definition
map_manager.h:39
modules
perception
pointcloud_map_based_roi
map_manager
map_manager.h