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 <Eigen/Geometry>
25 
26 #include <SimoxUtility/shapes/AxisAlignedBoundingBox.h>
27 
34 
36 
37 namespace armarx::armem
38 {
40  {
44  };
45 } // namespace armarx::armem
46 
47 namespace armarx::armem::clazz
48 {
49  struct Feature
50  {
51  float angle;
52  float scale;
53  Eigen::Vector2f point2d;
54  Eigen::Vector3f point3d;
55  std::vector<float> feature;
56  };
57 
58  struct ObjectClass
59  {
70  simox::OrientedBoxf oobb;
72  std::vector<Feature> ivtFeatures;
73  };
74 } // namespace armarx::armem::clazz
75 
77 {
80 
82  {
83  /**
84  * @brief id either pointing to a arondto::Robot or arondto::ArticulatedObject
85  *
86  */
88 
89  std::string frame;
90  };
91 
92  /**
93  * @brief ObjectAttachment describes a fixed transformation between an agent and an object.
94  *
95  * The transformation is defined as follows:
96  *
97  * agent.frame -> object root frame
98  *
99  */
101  {
103 
104  Eigen::Affine3f transformation;
105 
107 
109 
110  bool active;
111  };
112 
113  /**
114  * @brief ArticulatedObjectAttachment describes a fixed transformation between an agent and an articulated object.
115  *
116  * The transformation is defined as follows:
117  *
118  * agent.frame -> object.frame
119  *
120  */
122  {
124 
125  Eigen::Affine3f transformation;
126 
128 
130 
131  bool active;
132  };
133 
134 } // namespace armarx::armem::attachment
135 
137 {
139 
142 } // namespace armarx::armem::articulated_object
143 
144 namespace armarx::armem::marker
145 {
146  class Marker
147  {
148 
149  public:
150  Marker(const armarx::armem::arondto::Marker& dto);
151  Marker(const std::string& name,
152  const FramedPose& markerPose,
153  const FramedPose& robotPose,
154  const FramedPose& rgbCameraPose,
155  const FramedPose& depthCameraPose);
156 
157  std::string name;
163 
165  };
166 } // namespace armarx::armem::marker
armarx::armem::robot::Robots
std::vector< Robot > Robots
Definition: types.h:80
armarx::armem::attachment::ObjectAttachment::transformation
Eigen::Affine3f transformation
Definition: types.h:104
armarx::armem::marker::Marker::name
std::string name
Definition: types.h:157
armarx::armem::attachment::ObjectAttachment::object
ObjectID object
Definition: types.h:106
armarx::armem::clazz::ObjectClass::names
armarx::Names names
Definition: types.h:71
armarx::ObjectID
A known object ID of the form "Dataset/ClassName" or "Dataset/ClassName/InstanceName".
Definition: ObjectID.h:11
armarx::armem::clazz
Definition: aron_conversions.h:39
armarx::armem::attachment::ObjectAttachment
ObjectAttachment describes a fixed transformation between an agent and an object.
Definition: types.h:100
armarx::armem::attachment::ObjectAttachment::active
bool active
Definition: types.h:110
armarx::FramedPose
The FramedPose class.
Definition: FramedPose.h:258
armarx::armem::robot::Robot
Definition: types.h:68
armarx::armem::clazz::ObjectClass::articulatedSimoxXmlPath
armarx::PackagePath articulatedSimoxXmlPath
Definition: types.h:62
armarx::armem::clazz::ObjectClass::urdfPath
armarx::PackagePath urdfPath
Definition: types.h:63
armarx::armem::clazz::ObjectClass::articulatedSdfPath
armarx::PackagePath articulatedSdfPath
Definition: types.h:66
MemoryID.h
armarx::armem::marker::Marker::rgbCamera
FramedPose rgbCamera
Definition: types.h:159
armarx::armem::marker::Marker
Definition: types.h:146
armarx::armem::attachment::ArticulatedObjectAttachment::object
AgentDescription object
Definition: types.h:127
armarx::armem::attachment::AgentDescription
Definition: types.h:81
armarx::armem::attachment::ObjectAttachment::agent
AgentDescription agent
Definition: types.h:102
armarx::armem::marker::Marker::Marker
Marker(const armarx::armem::arondto::Marker &dto)
Definition: types.cpp:47
armarx::armem
Definition: LegacyRobotStateMemoryAdapter.cpp:31
armarx::armem::articulated_object::ArticulatedObjects
armarx::armem::robot::Robots ArticulatedObjects
Definition: types.h:141
armarx::armem::clazz::Feature::angle
float angle
Definition: types.h:51
armarx::armem::clazz::Feature::scale
float scale
Definition: types.h:52
armarx::armem::clazz::ObjectClass
Definition: types.h:58
armarx::aron::simox::arondto::AxisAlignedBoundingBox
::simox::arondto::AxisAlignedBoundingBox AxisAlignedBoundingBox
Definition: simox.h:14
armarx::armem::ObjectInstance::classID
MemoryID classID
Definition: types.h:42
armarx::armem::robot::RobotDescription
Definition: types.h:17
armarx::armem::clazz::Feature::point3d
Eigen::Vector3f point3d
Definition: types.h:54
armarx::armem::MemoryID
A memory ID.
Definition: MemoryID.h:47
armarx::armem::marker::Marker::markerPose
FramedPose markerPose
Definition: types.h:161
FramedPose.h
armarx::armem::attachment::ArticulatedObjectAttachment
ArticulatedObjectAttachment describes a fixed transformation between an agent and an articulated obje...
Definition: types.h:121
armarx::armem::clazz::ObjectClass::articulatedUrdfPath
armarx::PackagePath articulatedUrdfPath
Definition: types.h:64
armarx::Names
Definition: Names.h:9
armarx::armem::human::Robot
@ Robot
Definition: util.h:14
armarx::armem::marker::Marker::getGlobalMarkerPose
FramedPose getGlobalMarkerPose() const
Definition: types.cpp:61
armarx::armem::clazz::ObjectClass::meshWrlPath
armarx::PackagePath meshWrlPath
Definition: types.h:67
armarx::armem::marker::Marker::markerGlobal
FramedPose markerGlobal
Definition: types.h:162
armarx::armem::attachment::ArticulatedObjectAttachment::active
bool active
Definition: types.h:131
armarx::armem::clazz::Feature::feature
std::vector< float > feature
Definition: types.h:55
armarx::armem::marker::Marker::robotGlobal
FramedPose robotGlobal
Definition: types.h:158
armarx::armem::clazz::Feature
Definition: types.h:49
ObjectPose.h
armarx::armem::attachment::ArticulatedObjectAttachment::transformation
Eigen::Affine3f transformation
Definition: types.h:125
armarx::armem::marker
Definition: types.cpp:31
armarx::armem::attachment
Definition: Reader.cpp:22
armarx::armem::clazz::Feature::point2d
Eigen::Vector2f point2d
Definition: types.h:53
armarx::armem::clazz::ObjectClass::meshObjPath
armarx::PackagePath meshObjPath
Definition: types.h:68
armarx::armem::clazz::ObjectClass::oobb
simox::OrientedBoxf oobb
Definition: types.h:70
armarx::armem::marker::Marker::depthCamera
FramedPose depthCamera
Definition: types.h:160
armarx::armem::clazz::ObjectClass::ivtFeatures
std::vector< Feature > ivtFeatures
Definition: types.h:72
armarx::armem::ObjectInstance::sourceID
MemoryID sourceID
Definition: types.h:43
armarx::core::time::DateTime
Represents a point in time.
Definition: DateTime.h:24
armarx::armem::ObjectInstance::pose
objpose::ObjectPose pose
Definition: types.h:41
aron_forward_declarations.h
armarx::armem::ObjectInstance
Definition: types.h:39
types.h
armarx::armem::articulated_object
Definition: ArticulatedObjectReader.cpp:24
armarx::armem::clazz::ObjectClass::sdfPath
armarx::PackagePath sdfPath
Definition: types.h:65
Time.h
armarx::armem::attachment::AgentDescription::frame
std::string frame
Definition: types.h:89
armarx::armem::attachment::ObjectAttachment::timestamp
armem::Time timestamp
Definition: types.h:108
armarx::armem::clazz::ObjectClass::simoxXmlPath
armarx::PackagePath simoxXmlPath
Definition: types.h:61
Names.h
armarx::armem::clazz::ObjectClass::aabb
simox::AxisAlignedBoundingBox aabb
Definition: types.h:69
armarx::PackagePath
Definition: PackagePath.h:55
armarx::armem::clazz::ObjectClass::id
armarx::ObjectID id
Definition: types.h:60
armarx::armem::attachment::ArticulatedObjectAttachment::agent
AgentDescription agent
Definition: types.h:123
armarx::objpose::ObjectPose
An object pose as stored by the ObjectPoseStorage.
Definition: ObjectPose.h:36
armarx::armem::attachment::AgentDescription::id
AgentID id
id either pointing to a arondto::Robot or arondto::ArticulatedObject
Definition: types.h:87
armarx::armem::attachment::ArticulatedObjectAttachment::timestamp
armem::Time timestamp
Definition: types.h:129
armarx::human::MemoryID
const armem::MemoryID MemoryID
Definition: memory_ids.cpp:29