FramedPose.h
Go to the documentation of this file.
1 /*
2  * This file is part of ArmarX.
3  *
4  * Copyright (C) 2012-2016, High Performance Humanoid Technologies (H2T), Karlsruhe Institute of Technology (KIT), all rights reserved.
5  *
6  * ArmarX is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License version 2 as
8  * published by the Free Software Foundation.
9  *
10  * ArmarX is distributed in the hope that it will be useful, but
11  * WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program. If not, see <http://www.gnu.org/licenses/>.
17  *
18  * @package RobotAPI::RobotStateComponent::
19  * @author ( stefan dot ulbrich at kit dot edu)
20  * @date
21  * @copyright http://www.gnu.org/licenses/gpl-2.0.txt
22  * GNU General Public License
23  */
24 
25 #pragma once
26 
27 #include <VirtualRobot/VirtualRobot.h>
28 
29 #include <RobotAPI/interface/core/FramedPoseBase.h>
30 
31 #include "Pose.h"
32 
33 namespace armarx::VariantType
34 {
35  // variant types
36  const VariantTypeId FramedPose = Variant::addTypeName("::armarx::FramedPoseBase");
37  const VariantTypeId FramedDirection = Variant::addTypeName("::armarx::FramedDirectionBase");
38  const VariantTypeId FramedPosition = Variant::addTypeName("::armarx::FramedPositionBase");
39  const VariantTypeId FramedOrientation = Variant::addTypeName("::armarx::FramedOrientationBase");
40 } // namespace armarx::VariantType
41 
42 namespace VirtualRobot
43 {
44  class LinkedCoordinate;
45 }
46 
47 namespace IceProxy::armarx
48 {
49  class SharedRobotInterface;
50 }
51 
52 namespace Eigen
53 {
55 }
56 
57 namespace armarx
58 {
61  /**
62  * @ingroup RobotAPI-FramedPose
63  * Variable of the global coordinate system. use this if you are specifying a global pose.
64  * */
65  std::string const GlobalFrame = "Global";
66  std::string const OdometryFrame = "Odom";
67  std::string const MapFrame = "Map";
68 
69 
70  /**
71  * @class FramedDirection
72  * @ingroup RobotAPI-FramedPose
73  * @ingroup VariantsGrp
74  * @brief FramedDirection is a 3 dimensional @b direction vector with a reference frame.
75  * The reference frame can be used to change the coordinate system to which
76  * the vector relates. The difference to a FramedPosition is, that on frame
77  * changing only the orientation of the vector is changed. The length of the vector
78  * remains unchanged. This class is usefull e.g. for forces and tcp
79  * velocities.
80  *
81  * @see Vector3, FramedPosition
82  */
83  class FramedDirection;
85 
86  class FramedDirection : virtual public FramedDirectionBase, virtual public Vector3
87  {
88  public:
91  FramedDirection(const Eigen::Vector3f& vec,
92  const std::string& frame,
93  const std::string& agent);
95  ::Ice::Float y,
96  ::Ice::Float z,
97  const std::string& frame,
98  const std::string& agent);
99  FramedDirection& operator=(const FramedDirection&) = default;
100 
101  std::string getFrame() const;
103  const FramedDirection& framedVec,
104  const std::string& newFrame);
106  const FramedDirection& framedVec,
107  const std::string& newFrame);
108  void changeFrame(const VirtualRobot::RobotPtr& robot, const std::string& newFrame);
109  void changeFrame(const VirtualRobot::Robot& robot, const std::string& newFrame);
110 
111  void changeToGlobal(const SharedRobotInterfacePrx& referenceRobot);
112  void changeToGlobal(const VirtualRobot::RobotPtr& referenceRobot);
113  void changeToGlobal(const VirtualRobot::Robot& referenceRobot);
114  FramedDirectionPtr toGlobal(const SharedRobotInterfacePrx& referenceRobot) const;
115  FramedDirectionPtr toGlobal(const VirtualRobot::RobotPtr& referenceRobot) const;
116  FramedDirectionPtr toGlobal(const VirtualRobot::Robot& referenceRobot) const;
117  Eigen::Vector3f toGlobalEigen(const SharedRobotInterfacePrx& referenceRobot) const;
118  Eigen::Vector3f toGlobalEigen(const VirtualRobot::RobotPtr& referenceRobot) const;
119  Eigen::Vector3f toGlobalEigen(const VirtualRobot::Robot& referenceRobot) const;
120  FramedDirectionPtr toRootFrame(const SharedRobotInterfacePrx& referenceRobot) const;
121  FramedDirectionPtr toRootFrame(const VirtualRobot::RobotPtr& referenceRobot) const;
122  FramedDirectionPtr toRootFrame(const VirtualRobot::Robot& referenceRobot) const;
123  Eigen::Vector3f toRootEigen(const SharedRobotInterfacePrx& referenceRobot) const;
124  Eigen::Vector3f toRootEigen(const VirtualRobot::RobotPtr& referenceRobot) const;
125  Eigen::Vector3f toRootEigen(const VirtualRobot::Robot& referenceRobot) const;
126 
127  // inherited from VariantDataClass
128  Ice::ObjectPtr ice_clone() const override;
129  VariantDataClassPtr clone(const Ice::Current& c = Ice::emptyCurrent) const override;
130  std::string output(const Ice::Current& c = Ice::emptyCurrent) const override;
131  VariantTypeId getType(const Ice::Current& c = Ice::emptyCurrent) const override;
132  bool validate(const Ice::Current& c = Ice::emptyCurrent) override;
133 
134  friend std::ostream& operator<<(std::ostream& stream, const FramedDirection& rhs);
135 
136  public: // serialization
137  void serialize(const armarx::ObjectSerializerBasePtr& serializer,
138  const ::Ice::Current& = Ice::emptyCurrent) const override;
139  void deserialize(const armarx::ObjectSerializerBasePtr& serializer,
140  const ::Ice::Current& = Ice::emptyCurrent) override;
141 
142  private:
143  static Eigen::Matrix4f __GetRotationBetweenFrames(const std::string& oldFrame,
144  const std::string& newFrame,
145  const VirtualRobot::Robot& robotState);
146  };
147 
148  class FramedPosition;
150 
151  /**
152  * @class FramedPosition
153  * @ingroup VariantsGrp
154  * @ingroup RobotAPI-FramedPose
155  * @brief The FramedPosition class
156  */
157  class FramedPosition : virtual public FramedPositionBase, virtual public Vector3
158  {
159  public:
160  FramedPosition();
161  FramedPosition(const Eigen::Vector3f&, const std::string& frame, const std::string& agent);
162  FramedPosition(const Eigen::Matrix4f&, const std::string& frame, const std::string& agent);
163  //FramedPosition(const Vector3BasePtr pos, const std::string &frame ); // this doesnt work for unknown reasons
164  FramedPosition(const FramedPosition& other);
165 
167 
168  std::string getFrame() const;
169 
170  void changeFrame(const SharedRobotInterfacePrx& referenceRobot,
171  const std::string& newFrame);
172  void changeFrame(const VirtualRobot::RobotPtr& referenceRobot, const std::string& newFrame);
173  void changeFrame(const VirtualRobot::Robot& referenceRobot, const std::string& newFrame);
174  void changeToGlobal(const SharedRobotInterfacePrx& referenceRobot);
175  void changeToGlobal(const VirtualRobot::RobotPtr& referenceRobot);
176  void changeToGlobal(const VirtualRobot::Robot& referenceRobot);
177  FramedPositionPtr toGlobal(const SharedRobotInterfacePrx& referenceRobot) const;
178  FramedPositionPtr toGlobal(const VirtualRobot::RobotPtr& referenceRobot) const;
179  FramedPositionPtr toGlobal(const VirtualRobot::Robot& referenceRobot) const;
180  Eigen::Vector3f toGlobalEigen(const SharedRobotInterfacePrx& referenceRobot) const;
181  Eigen::Vector3f toGlobalEigen(const VirtualRobot::RobotPtr& referenceRobot) const;
182  Eigen::Vector3f toGlobalEigen(const VirtualRobot::Robot& referenceRobot) const;
183  FramedPositionPtr toRootFrame(const SharedRobotInterfacePrx& referenceRobot) const;
184  FramedPositionPtr toRootFrame(const VirtualRobot::RobotPtr& referenceRobot) const;
185  FramedPositionPtr toRootFrame(const VirtualRobot::Robot& referenceRobot) const;
186  Eigen::Vector3f toRootEigen(const SharedRobotInterfacePrx& referenceRobot) const;
187  Eigen::Vector3f toRootEigen(const VirtualRobot::RobotPtr& referenceRobot) const;
188  Eigen::Vector3f toRootEigen(const VirtualRobot::Robot& referenceRobot) const;
189 
190  // inherited from VariantDataClass
191  Ice::ObjectPtr ice_clone() const override;
192  VariantDataClassPtr clone(const Ice::Current& c = Ice::emptyCurrent) const override;
193  std::string output(const Ice::Current& c = Ice::emptyCurrent) const override;
194  VariantTypeId getType(const Ice::Current& c = Ice::emptyCurrent) const override;
195  bool validate(const Ice::Current& c = Ice::emptyCurrent) override;
196 
197  friend std::ostream& operator<<(std::ostream& stream, const FramedPosition& rhs);
198 
199  public: // serialization
200  void serialize(const armarx::ObjectSerializerBasePtr& serializer,
201  const ::Ice::Current& = Ice::emptyCurrent) const override;
202  void deserialize(const armarx::ObjectSerializerBasePtr& serializer,
203  const ::Ice::Current& = Ice::emptyCurrent) override;
204  };
205 
206  class FramedOrientation;
208 
209  /**
210  * @class FramedOrientation
211  * @ingroup VariantsGrp
212  * @ingroup RobotAPI-FramedPose
213  * @brief The FramedOrientation class
214  */
215  class FramedOrientation : virtual public FramedOrientationBase, virtual public Quaternion
216  {
217  public:
220  const std::string& frame,
221  const std::string& agent);
223  const std::string& frame,
224  const std::string& agent);
226  const std::string& frame,
227  const std::string& agent);
228 
229  FramedOrientation& operator=(const FramedOrientation&) = default;
230  // this doesnt work for an unknown reason
231  //FramedOrientation(const QuaternionBasePtr ori, const std::string &frame );
232  std::string getFrame() const;
233 
234  // inherited from VariantDataClass
235  Ice::ObjectPtr ice_clone() const override;
236  VariantDataClassPtr clone(const Ice::Current& c = Ice::emptyCurrent) const override;
237  std::string output(const Ice::Current& c = Ice::emptyCurrent) const override;
238  VariantTypeId getType(const Ice::Current& c = Ice::emptyCurrent) const override;
239  bool validate(const Ice::Current& c = Ice::emptyCurrent) override;
240 
241  void changeFrame(const SharedRobotInterfacePrx& referenceRobot,
242  const std::string& newFrame);
243  void changeFrame(const VirtualRobot::RobotPtr& referenceRobot, const std::string& newFrame);
244  void changeFrame(const VirtualRobot::Robot& referenceRobot, const std::string& newFrame);
245  void changeToGlobal(const SharedRobotInterfacePrx& referenceRobot);
246  void changeToGlobal(const VirtualRobot::RobotPtr& referenceRobot);
247  void changeToGlobal(const VirtualRobot::Robot& referenceRobot);
248  FramedOrientationPtr toGlobal(const SharedRobotInterfacePrx& referenceRobot) const;
249  FramedOrientationPtr toGlobal(const VirtualRobot::RobotPtr& referenceRobot) const;
250  FramedOrientationPtr toGlobal(const VirtualRobot::Robot& referenceRobot) const;
251  Eigen::Matrix3f toGlobalEigen(const SharedRobotInterfacePrx& referenceRobot) const;
252  Eigen::Matrix3f toGlobalEigen(const VirtualRobot::RobotPtr& referenceRobot) const;
253  Eigen::Matrix3f toGlobalEigen(const VirtualRobot::Robot& referenceRobot) const;
254  FramedOrientationPtr toRootFrame(const SharedRobotInterfacePrx& referenceRobot) const;
255  FramedOrientationPtr toRootFrame(const VirtualRobot::RobotPtr& referenceRobot) const;
256  FramedOrientationPtr toRootFrame(const VirtualRobot::Robot& referenceRobot) const;
257  Eigen::Matrix3f toRootEigen(const SharedRobotInterfacePrx& referenceRobot) const;
258  Eigen::Matrix3f toRootEigen(const VirtualRobot::RobotPtr& referenceRobot) const;
259  Eigen::Matrix3f toRootEigen(const VirtualRobot::Robot& referenceRobot) const;
260 
261  friend std::ostream& operator<<(std::ostream& stream, const FramedOrientation& rhs);
262 
263  public: // serialization
264  void serialize(const armarx::ObjectSerializerBasePtr& serializer,
265  const ::Ice::Current& = Ice::emptyCurrent) const override;
266  void deserialize(const armarx::ObjectSerializerBasePtr& serializer,
267  const ::Ice::Current& = Ice::emptyCurrent) override;
268  };
269 
270 
271  class FramedPose;
273 
274  /**
275  * @class FramedPose
276  * @ingroup VariantsGrp
277  * @ingroup RobotAPI-FramedPose
278  * @brief The FramedPose class
279  */
280  class FramedPose : virtual public FramedPoseBase, virtual public Pose
281  {
282  public:
283  FramedPose();
284  FramedPose(const FramedPose& pose);
285  FramedPose(const Eigen::Matrix3f& m,
286  const Eigen::Vector3f& v,
287  const std::string& frame,
288  const std::string& agent);
289  FramedPose(const Eigen::Matrix4f& m, const std::string& frame, const std::string& agent);
290  FramedPose(const Eigen::Vector3f& pos,
291  const Eigen::Quaternionf& ori,
292  const std::string& frame,
293  const std::string& agent);
294  FramedPose(const armarx::Vector3BasePtr pos,
295  const armarx::QuaternionBasePtr ori,
296  const std::string& frame,
297  const std::string& agent);
298 
299  FramedPose& operator=(const armarx::FramedPose&) = default;
300 
301  std::string getFrame() const;
302 
303  // inherited from VariantDataClass
304  Ice::ObjectPtr ice_clone() const override;
305 
306  VariantDataClassPtr clone(const Ice::Current& c = Ice::emptyCurrent) const override;
307 
308  std::string output(const Ice::Current& c = Ice::emptyCurrent) const override;
309 
310  VariantTypeId getType(const Ice::Current& c = Ice::emptyCurrent) const override;
311 
312  bool validate(const Ice::Current& c = Ice::emptyCurrent) override;
313 
314  void changeFrame(const SharedRobotInterfacePrx& referenceRobot,
315  const std::string& newFrame);
316  void changeFrame(const VirtualRobot::RobotPtr& referenceRobot, const std::string& newFrame);
317  void changeFrame(const VirtualRobot::Robot& referenceRobot, const std::string& newFrame);
318  void changeToGlobal(const SharedRobotInterfacePrx& referenceRobot);
319  void changeToGlobal(const VirtualRobot::RobotPtr& referenceRobot);
320  void changeToGlobal(const VirtualRobot::Robot& referenceRobot);
321  FramedPosePtr toGlobal(const SharedRobotInterfacePrx& referenceRobot) const;
322  FramedPosePtr toGlobal(const VirtualRobot::RobotPtr& referenceRobot) const;
323  FramedPosePtr toGlobal(const VirtualRobot::Robot& referenceRobot) const;
324  Eigen::Matrix4f toGlobalEigen(const SharedRobotInterfacePrx& referenceRobot) const;
325  Eigen::Matrix4f toGlobalEigen(const VirtualRobot::RobotPtr& referenceRobot) const;
326  Eigen::Matrix4f toGlobalEigen(const VirtualRobot::Robot& referenceRobot) const;
327  FramedPosePtr toRootFrame(const SharedRobotInterfacePrx& referenceRobot) const;
328  FramedPosePtr toRootFrame(const VirtualRobot::RobotPtr& referenceRobot) const;
329  FramedPosePtr toRootFrame(const VirtualRobot::Robot& referenceRobot) const;
330  Eigen::Matrix4f toRootEigen(const SharedRobotInterfacePrx& referenceRobot) const;
331  Eigen::Matrix4f toRootEigen(const VirtualRobot::RobotPtr& referenceRobot) const;
332  Eigen::Matrix4f toRootEigen(const VirtualRobot::Robot& referenceRobot) const;
333  FramedPosePtr toFrame(const SharedRobotInterfacePrx& referenceRobot,
334  const std::string& newFrame) const;
335  FramedPosePtr toFrame(const VirtualRobot::RobotPtr& referenceRobot,
336  const std::string& newFrame) const;
337  FramedPosePtr toFrame(const VirtualRobot::Robot& referenceRobot,
338  const std::string& newFrame) const;
340  const std::string& newFrame) const;
342  const std::string& newFrame) const;
343  Eigen::Matrix4f toFrameEigen(const VirtualRobot::Robot& referenceRobot,
344  const std::string& newFrame) const;
345 
346  friend std::ostream& operator<<(std::ostream& stream, const FramedPose& rhs);
349 
350  static VirtualRobot::LinkedCoordinate
352  const FramedPositionPtr& position,
353  const FramedOrientationPtr& orientation);
354  friend bool operator==(const FramedPose& pose1, const FramedPose& pose2);
355  friend bool operator!=(const FramedPose& pose1, const FramedPose& pose2);
356 
357  public:
358  void serialize(const armarx::ObjectSerializerBasePtr& serializer,
359  const ::Ice::Current& = Ice::emptyCurrent) const override;
360  void deserialize(const armarx::ObjectSerializerBasePtr& serializer,
361  const ::Ice::Current& = Ice::emptyCurrent) override;
362  };
363 
365 
366 } // namespace armarx
367 
368 extern template class ::IceInternal::Handle<::armarx::FramedPose>;
369 extern template class ::IceInternal::Handle<::armarx::FramedPosition>;
370 extern template class ::IceInternal::Handle<::armarx::FramedDirection>;
371 extern template class ::IceInternal::Handle<::armarx::FramedOrientation>;
armarx::FramedDirection::output
std::string output(const Ice::Current &c=Ice::emptyCurrent) const override
Definition: FramedPose.cpp:306
armarx::FramedPose::serialize
void serialize(const armarx::ObjectSerializerBasePtr &serializer, const ::Ice::Current &=Ice::emptyCurrent) const override
Definition: FramedPose.cpp:680
Eigen
Definition: Elements.h:32
armarx::VariantType::Float
const VariantTypeId Float
Definition: Variant.h:919
armarx::FramedPosition::serialize
void serialize(const armarx::ObjectSerializerBasePtr &serializer, const ::Ice::Current &=Ice::emptyCurrent) const override
Definition: FramedPose.cpp:955
armarx::FramedOrientation::getFrame
std::string getFrame() const
Definition: FramedPose.cpp:1071
IceProxy::armarx
Definition: LogSender.h:38
armarx::FramedPosition::operator=
FramedPosition & operator=(const armarx::FramedPosition &other)
Definition: FramedPose.cpp:989
armarx::FramedPose
The FramedPose class.
Definition: FramedPose.h:280
VirtualRobot
Definition: FramedPose.h:42
armarx::FramedPose::getType
VariantTypeId getType(const Ice::Current &c=Ice::emptyCurrent) const override
Definition: FramedPose.cpp:1430
GfxTL::Matrix4f
MatrixXX< 4, 4, float > Matrix4f
Definition: MatrixXX.h:650
armarx::FramedPosition::getFrame
std::string getFrame() const
Definition: FramedPose.cpp:736
armarx::FramedPose::createLinkedCoordinate
static VirtualRobot::LinkedCoordinate createLinkedCoordinate(const VirtualRobot::RobotPtr &virtualRobot, const FramedPositionPtr &position, const FramedOrientationPtr &orientation)
Definition: FramedPose.cpp:1336
Pose.h
armarx::FramedPose::toFrame
FramedPosePtr toFrame(const SharedRobotInterfacePrx &referenceRobot, const std::string &newFrame) const
Definition: FramedPose.cpp:1386
armarx::FramedPose::clone
VariantDataClassPtr clone(const Ice::Current &c=Ice::emptyCurrent) const override
Definition: FramedPose.cpp:1424
armarx::FramedPose::toFrameEigen
Eigen::Matrix4f toFrameEigen(const SharedRobotInterfacePrx &referenceRobot, const std::string &newFrame) const
Definition: FramedPose.cpp:1403
armarx::GlobalFrame
const std::string GlobalFrame
Definition: FramedPose.h:65
armarx::FramedOrientation::operator=
FramedOrientation & operator=(const FramedOrientation &)=default
armarx::FramedDirection::ice_clone
Ice::ObjectPtr ice_clone() const override
Definition: FramedPose.cpp:368
armarx::FramedDirection::toRootEigen
Eigen::Vector3f toRootEigen(const SharedRobotInterfacePrx &referenceRobot) const
Definition: FramedPose.cpp:284
c
constexpr T c
Definition: UnscentedKalmanFilterTest.cpp:46
armarx::FramedDirection::getType
VariantTypeId getType(const Ice::Current &c=Ice::emptyCurrent) const override
Definition: FramedPose.cpp:380
armarx::FramedPosition::FramedPosition
FramedPosition()
Definition: FramedPose.cpp:703
armarx::FramedPose::operator==
friend bool operator==(const FramedPose &pose1, const FramedPose &pose2)
Definition: FramedPose.cpp:1449
armarx::FramedPosition::toRootEigen
Eigen::Vector3f toRootEigen(const SharedRobotInterfacePrx &referenceRobot) const
Definition: FramedPose.cpp:924
armarx::FramedDirection::operator<<
friend std::ostream & operator<<(std::ostream &stream, const FramedDirection &rhs)
Definition: FramedPose.cpp:392
armarx::FramedOrientation::toRootFrame
FramedOrientationPtr toRootFrame(const SharedRobotInterfacePrx &referenceRobot) const
Definition: FramedPose.cpp:1235
armarx::FramedPose::toGlobal
FramedPosePtr toGlobal(const SharedRobotInterfacePrx &referenceRobot) const
Definition: FramedPose.cpp:576
armarx::SharedRobotInterfacePrx
::IceInternal::ProxyHandle<::IceProxy::armarx::SharedRobotInterface > SharedRobotInterfacePrx
Definition: FramedPose.h:60
armarx::FramedOrientation::getType
VariantTypeId getType(const Ice::Current &c=Ice::emptyCurrent) const override
Definition: FramedPose.cpp:1317
armarx::FramedPosition::toGlobalEigen
Eigen::Vector3f toGlobalEigen(const SharedRobotInterfacePrx &referenceRobot) const
Definition: FramedPose.cpp:880
armarx::FramedPosition::ice_clone
Ice::ObjectPtr ice_clone() const override
Definition: FramedPose.cpp:1000
armarx::FramedPosition::output
std::string output(const Ice::Current &c=Ice::emptyCurrent) const override
Definition: FramedPose.cpp:946
armarx::FramedDirection::FramedDirection
FramedDirection()
armarx::FramedPosition::deserialize
void deserialize(const armarx::ObjectSerializerBasePtr &serializer, const ::Ice::Current &=Ice::emptyCurrent) override
Definition: FramedPose.cpp:966
armarx::FramedDirection::toRootFrame
FramedDirectionPtr toRootFrame(const SharedRobotInterfacePrx &referenceRobot) const
Definition: FramedPose.cpp:262
armarx::FramedOrientation::output
std::string output(const Ice::Current &c=Ice::emptyCurrent) const override
Definition: FramedPose.cpp:1077
IceInternal::Handle< FramedDirection >
armarx::FramedOrientation::toGlobal
FramedOrientationPtr toGlobal(const SharedRobotInterfacePrx &referenceRobot) const
Definition: FramedPose.cpp:1191
armarx::FramedPosition::clone
VariantDataClassPtr clone(const Ice::Current &c=Ice::emptyCurrent) const override
Definition: FramedPose.cpp:1006
armarx::FramedPose::validate
bool validate(const Ice::Current &c=Ice::emptyCurrent) override
Definition: FramedPose.cpp:1436
armarx::FramedDirection::toGlobalEigen
Eigen::Vector3f toGlobalEigen(const SharedRobotInterfacePrx &referenceRobot) const
Definition: FramedPose.cpp:240
armarx::FramedDirection::serialize
void serialize(const armarx::ObjectSerializerBasePtr &serializer, const ::Ice::Current &=Ice::emptyCurrent) const override
Definition: FramedPose.cpp:346
armarx::FramedDirection::ChangeFrame
static FramedDirectionPtr ChangeFrame(const VirtualRobot::RobotPtr &robot, const FramedDirection &framedVec, const std::string &newFrame)
Definition: FramedPose.cpp:91
armarx::FramedOrientation::ice_clone
Ice::ObjectPtr ice_clone() const override
Definition: FramedPose.cpp:1305
armarx::MapFrame
const std::string MapFrame
Definition: FramedPose.h:67
armarx::FramedOrientation::toGlobalEigen
Eigen::Matrix3f toGlobalEigen(const SharedRobotInterfacePrx &referenceRobot) const
Definition: FramedPose.cpp:1213
armarx::FramedPose::output
std::string output(const Ice::Current &c=Ice::emptyCurrent) const override
Definition: FramedPose.cpp:459
armarx::FramedDirection::toGlobal
FramedDirectionPtr toGlobal(const SharedRobotInterfacePrx &referenceRobot) const
Definition: FramedPose.cpp:218
armarx::FramedPose::getPosition
FramedPositionPtr getPosition() const
Definition: FramedPose.cpp:664
armarx::FramedPose::operator=
FramedPose & operator=(const armarx::FramedPose &)=default
armarx::FramedPose::toGlobalEigen
Eigen::Matrix4f toGlobalEigen(const SharedRobotInterfacePrx &referenceRobot) const
Definition: FramedPose.cpp:598
armarx::FramedOrientation::changeToGlobal
void changeToGlobal(const SharedRobotInterfacePrx &referenceRobot)
Definition: FramedPose.cpp:1157
armarx::FramedDirection::validate
bool validate(const Ice::Current &c=Ice::emptyCurrent) override
Definition: FramedPose.cpp:386
armarx::armem::human::Robot
@ Robot
Definition: util.h:17
armarx::FramedPosition
The FramedPosition class.
Definition: FramedPose.h:157
armarx::FramedOrientation::serialize
void serialize(const armarx::ObjectSerializerBasePtr &serializer, const ::Ice::Current &=Ice::emptyCurrent) const override
Definition: FramedPose.cpp:1279
armarx::FramedPosition::validate
bool validate(const Ice::Current &c=Ice::emptyCurrent) override
Definition: FramedPose.cpp:1018
armarx::Vector3
The Vector3 class.
Definition: Pose.h:112
armarx::FramedPose::FramedPose
FramedPose()
Definition: FramedPose.cpp:398
armarx::VariantType
Definition: ChannelRef.h:167
armarx::FramedOrientation::validate
bool validate(const Ice::Current &c=Ice::emptyCurrent) override
Definition: FramedPose.cpp:1323
armarx::FramedDirection::getFrame
std::string getFrame() const
Definition: FramedPose.cpp:85
armarx::OdometryFrame
const std::string OdometryFrame
Definition: FramedPose.h:66
armarx::FramedPosition::changeToGlobal
void changeToGlobal(const SharedRobotInterfacePrx &referenceRobot)
Definition: FramedPose.cpp:825
armarx::FramedOrientation
The FramedOrientation class.
Definition: FramedPose.h:215
armarx::VariantTypeId
Ice::Int VariantTypeId
Definition: Variant.h:43
armarx::FramedPosition::changeFrame
void changeFrame(const SharedRobotInterfacePrx &referenceRobot, const std::string &newFrame)
Definition: FramedPose.cpp:742
boost::source
Vertex source(const detail::edge_base< Directed, Vertex > &e, const PCG &)
Definition: point_cloud_graph.h:661
q
#define q
armarx::FramedPosition::getType
VariantTypeId getType(const Ice::Current &c=Ice::emptyCurrent) const override
Definition: FramedPose.cpp:1012
armarx::FramedDirection::clone
VariantDataClassPtr clone(const Ice::Current &c=Ice::emptyCurrent) const override
Definition: FramedPose.cpp:374
armarx::FramedPosition::operator<<
friend std::ostream & operator<<(std::ostream &stream, const FramedPosition &rhs)
Definition: FramedPose.cpp:1024
armarx::FramedPose::toRootEigen
Eigen::Matrix4f toRootEigen(const SharedRobotInterfacePrx &referenceRobot) const
Definition: FramedPose.cpp:642
armarx::FramedPosition::toRootFrame
FramedPositionPtr toRootFrame(const SharedRobotInterfacePrx &referenceRobot) const
Definition: FramedPose.cpp:902
armarx::Pose
The Pose class.
Definition: Pose.h:242
armarx::ctrlutil::v
double v(double t, double v0, double a0, double j)
Definition: CtrlUtil.h:39
armarx::FramedDirection::changeToGlobal
void changeToGlobal(const SharedRobotInterfacePrx &referenceRobot)
Definition: FramedPose.cpp:186
armarx::FramedDirection
FramedDirection is a 3 dimensional direction vector with a reference frame. The reference frame can b...
Definition: FramedPose.h:86
armarx::FramedPose::getOrientation
FramedOrientationPtr getOrientation() const
Definition: FramedPose.cpp:672
armarx::FramedDirection::operator=
FramedDirection & operator=(const FramedDirection &)=default
armarx::FramedPose::operator<<
friend std::ostream & operator<<(std::ostream &stream, const FramedPose &rhs)
Definition: FramedPose.cpp:1442
armarx::Quaternion
The Quaternion class.
Definition: Pose.h:173
IceInternal::ProxyHandle<::IceProxy::armarx::SharedRobotInterface >
Eigen::Matrix< Ice::Float, 6, 6 >
armarx::FramedPose::toRootFrame
FramedPosePtr toRootFrame(const SharedRobotInterfacePrx &referenceRobot) const
Definition: FramedPose.cpp:620
armarx::FramedOrientation::operator<<
friend std::ostream & operator<<(std::ostream &stream, const FramedOrientation &rhs)
Definition: FramedPose.cpp:1329
armarx::FramedOrientation::FramedOrientation
FramedOrientation()
Definition: FramedPose.cpp:1030
armarx::aron::type::ObjectPtr
std::shared_ptr< Object > ObjectPtr
Definition: Object.h:36
armarx::FramedPose::getFrame
std::string getFrame() const
Definition: FramedPose.cpp:453
GfxTL::Matrix3f
MatrixXX< 3, 3, float > Matrix3f
Definition: MatrixXX.h:649
armarx::FramedDirection::changeFrame
void changeFrame(const VirtualRobot::RobotPtr &robot, const std::string &newFrame)
Definition: FramedPose.cpp:132
armarx::FramedPose::changeToGlobal
void changeToGlobal(const SharedRobotInterfacePrx &referenceRobot)
Definition: FramedPose.cpp:539
armarx::FramedPose::operator!=
friend bool operator!=(const FramedPose &pose1, const FramedPose &pose2)
Definition: FramedPose.cpp:1457
armarx::FramedPose::ice_clone
Ice::ObjectPtr ice_clone() const override
Definition: FramedPose.cpp:1418
armarx::FramedOrientation::clone
VariantDataClassPtr clone(const Ice::Current &c=Ice::emptyCurrent) const override
Definition: FramedPose.cpp:1311
armarx::FramedPosition::toGlobal
FramedPositionPtr toGlobal(const SharedRobotInterfacePrx &referenceRobot) const
Definition: FramedPose.cpp:858
armarx::FramedPose::deserialize
void deserialize(const armarx::ObjectSerializerBasePtr &serializer, const ::Ice::Current &=Ice::emptyCurrent) override
Definition: FramedPose.cpp:690
armarx::FramedOrientation::toRootEigen
Eigen::Matrix3f toRootEigen(const SharedRobotInterfacePrx &referenceRobot) const
Definition: FramedPose.cpp:1257
armarx::FramedOrientation::deserialize
void deserialize(const armarx::ObjectSerializerBasePtr &serializer, const ::Ice::Current &=Ice::emptyCurrent) override
Definition: FramedPose.cpp:1290
armarx
This file offers overloads of toIce() and fromIce() functions for STL container types.
Definition: ArmarXTimeserver.cpp:27
armarx::Variant::addTypeName
static VariantTypeId addTypeName(const std::string &typeName)
Register a new type for the use in a Variant.
Definition: Variant.cpp:869
armarx::FramedOrientation::changeFrame
void changeFrame(const SharedRobotInterfacePrx &referenceRobot, const std::string &newFrame)
Definition: FramedPose.cpp:1086
armarx::FramedPose::changeFrame
void changeFrame(const SharedRobotInterfacePrx &referenceRobot, const std::string &newFrame)
Definition: FramedPose.cpp:469
VirtualRobot::RobotPtr
std::shared_ptr< class Robot > RobotPtr
Definition: Bus.h:19
armarx::FramedDirection::deserialize
void deserialize(const armarx::ObjectSerializerBasePtr &serializer, const ::Ice::Current &=Ice::emptyCurrent) override
Definition: FramedPose.cpp:355