Apollo
10.0
自动驾驶开放平台
impending_collision_edge.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
#pragma once
17
18
#include <memory>
19
#include <vector>
20
21
#include "Eigen/Core"
22
23
#include "
modules/common/util/eigen_defs.h
"
24
25
namespace
apollo
{
26
namespace
perception {
27
namespace
base {
28
29
struct
ImpendingCollisionEdge
{
30
// edge id per frame
31
int
id
= 0;
32
33
// age of the tracked object
34
double
tracking_time
= 0.0;
35
36
// points of the edge
37
apollo::common::EigenVector<Eigen::Vector3d>
points
;
38
};
39
40
// TODO(all): to remove
41
// typedef std::shared_ptr<ImpendingCollisionEdge> ImpendingCollisionEdgePtr;
42
// typedef std::shared_ptr<const ImpendingCollisionEdge>
43
// ImpendingCollisionEdgeConstPtr;
44
45
// Sensor single frame objects.
46
struct
ImpendingCollisionEdges
{
47
double
timestamp
= 0.0;
48
49
// edges
50
std::vector<std::shared_ptr<ImpendingCollisionEdge>>
51
impending_collision_edges
;
52
53
// sensor to world position
54
Eigen::Matrix4d
sensor2world_pose
= Eigen::Matrix4d::Zero();
55
56
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
57
}
EIGEN_ALIGN16
;
58
59
// TODO(all): to remove
60
// typedef std::shared_ptr<ImpendingCollisionEdges> ImpendingCollisionEdgesPtr;
61
// typedef std::shared_ptr<const ImpendingCollisionEdges>
62
// ImpendingCollisionEdgesConstPtr;
63
64
}
// namespace base
65
}
// namespace perception
66
}
// namespace apollo
eigen_defs.h
apollo::common::EigenVector
std::vector< EigenType, Eigen::aligned_allocator< EigenType > > EigenVector
Definition
eigen_defs.h:33
apollo::perception::base::EIGEN_ALIGN16
struct apollo::perception::base::ImpendingCollisionEdges EIGEN_ALIGN16
apollo
class register implement
Definition
arena_queue.h:37
apollo::perception::base::ImpendingCollisionEdge
Definition
impending_collision_edge.h:29
apollo::perception::base::ImpendingCollisionEdge::tracking_time
double tracking_time
Definition
impending_collision_edge.h:34
apollo::perception::base::ImpendingCollisionEdge::points
apollo::common::EigenVector< Eigen::Vector3d > points
Definition
impending_collision_edge.h:37
apollo::perception::base::ImpendingCollisionEdges
Definition
impending_collision_edge.h:46
apollo::perception::base::ImpendingCollisionEdges::impending_collision_edges
std::vector< std::shared_ptr< ImpendingCollisionEdge > > impending_collision_edges
Definition
impending_collision_edge.h:51
apollo::perception::base::ImpendingCollisionEdges::timestamp
double timestamp
Definition
impending_collision_edge.h:47
apollo::perception::base::ImpendingCollisionEdges::sensor2world_pose
Eigen::Matrix4d sensor2world_pose
Definition
impending_collision_edge.h:54
modules
perception
common
base
impending_collision_edge.h