types.h
Go to the documentation of this file.
1
/*
2
* This file is part of ArmarX.
3
*
4
* ArmarX is free software; you can redistribute it and/or modify
5
* it under the terms of the GNU General Public License version 2 as
6
* published by the Free Software Foundation.
7
*
8
* ArmarX is distributed in the hope that it will be useful, but
9
* WITHOUT ANY WARRANTY; without even the implied warranty of
10
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
* GNU General Public License for more details.
12
*
13
* You should have received a copy of the GNU General Public License
14
* along with this program. If not, see <http://www.gnu.org/licenses/>.
15
*
16
* @author Fabian Reister ( fabian dot reister at kit dot edu )
17
* @date 2021
18
* @copyright http://www.gnu.org/licenses/gpl-2.0.txt
19
* GNU General Public License
20
*/
21
22
#pragma once
23
24
#include <vector>
25
26
#include <VirtualRobot/MathTools.h>
27
28
#include <RobotAPI/interface/units/LaserScannerUnit.h>
29
#include <
RobotAPI/libraries/armem/core/Time.h
>
30
31
namespace
armarx::navigation::memory
32
{
33
34
struct
Ellipsoid
35
{
36
Eigen::Isometry3f
pose
=
Eigen::Isometry3f::Identity
();
37
38
Eigen::Vector2f
radii
= Eigen::Vector2f::Zero();
39
};
40
41
struct
Circle
42
{
43
Eigen::Vector2f
center
= Eigen::Vector2f::Zero();
44
float
radius
= 0.F;
45
};
46
47
struct
LaserScannerFeature
48
{
49
using
Points
= std::vector<Eigen::Vector2f>;
50
using
Chain
=
Points
;
51
52
Points
convexHull
;
53
54
Circle
circle
;
55
Ellipsoid
ellipsoid
;
56
57
Chain
chain
;
58
59
Points
points
;
60
};
61
62
struct
LaserScannerFeatures
63
{
64
// TODO(fabian.reister): framed pose
65
std::string
frame
;
66
Eigen::Isometry3f
frameGlobalPose
;
67
68
std::vector<LaserScannerFeature>
features
;
69
70
71
// std::vector<Ellipsoid> linesAsEllipsoids(float axisLength) const;
72
};
73
74
75
}
// namespace armarx::navigation::memory
armarx::navigation::memory::LaserScannerFeatures
Definition:
types.h:62
armarx::navigation::memory
Definition:
ComponentInterface.ice:37
armarx::navigation::memory::LaserScannerFeature::ellipsoid
Ellipsoid ellipsoid
Definition:
types.h:55
armarx::navigation::memory::LaserScannerFeature::points
Points points
Definition:
types.h:59
armarx::navigation::memory::Ellipsoid::pose
Eigen::Isometry3f pose
Definition:
types.h:36
armarx::navigation::memory::Ellipsoid::radii
Eigen::Vector2f radii
Definition:
types.h:38
armarx::navigation::memory::LaserScannerFeatures::features
std::vector< LaserScannerFeature > features
Definition:
types.h:68
armarx::navigation::memory::LaserScannerFeatures::frameGlobalPose
Eigen::Isometry3f frameGlobalPose
Definition:
types.h:66
armarx::navigation::memory::LaserScannerFeature::chain
Chain chain
Definition:
types.h:57
GfxTL::Identity
void Identity(MatrixXX< N, N, T > *a)
Definition:
MatrixXX.h:523
armarx::navigation::memory::Circle::center
Eigen::Vector2f center
Definition:
types.h:43
armarx::navigation::memory::Ellipsoid
Definition:
types.h:34
armarx::navigation::memory::Circle::radius
float radius
Definition:
types.h:44
armarx::navigation::memory::Circle
Definition:
types.h:41
armarx::navigation::memory::LaserScannerFeature::circle
Circle circle
Definition:
types.h:54
armarx::navigation::memory::LaserScannerFeature::Chain
Points Chain
Definition:
types.h:50
armarx::navigation::memory::LaserScannerFeatures::frame
std::string frame
Definition:
types.h:65
Time.h
armarx::navigation::memory::LaserScannerFeature::Points
std::vector< Eigen::Vector2f > Points
Definition:
types.h:49
armarx::navigation::memory::LaserScannerFeature
Definition:
types.h:47
armarx::navigation::memory::LaserScannerFeature::convexHull
Points convexHull
Definition:
types.h:52
armarx
navigation
memory
types.h
Generated on Tue Feb 13 2024 06:12:07 for armarx_documentation by
1.8.17