aikido
SE3Joint.hpp
1 #ifndef AIKIDO_STATESPACE_DART_SE3JOINTSTATESPACE_HPP_
2 #define AIKIDO_STATESPACE_DART_SE3JOINTSTATESPACE_HPP_
3 
4 #include "aikido/statespace/SE3.hpp"
5 #include "aikido/statespace/dart/JointStateSpace.hpp"
6 
7 namespace aikido {
8 namespace statespace {
9 namespace dart {
10 
13 class SE3Joint
14  : public SE3
15  , public JointStateSpace
16  , public std::enable_shared_from_this<SE3Joint>
17 {
18 public:
19  using SE3::State;
20 
25  explicit SE3Joint(const ::dart::dynamics::FreeJoint* joint);
26 
27  // Documentation inherited.
29  const Eigen::VectorXd& positions,
30  StateSpace::State* state) const override;
31 
32  // Documentation inherited.
34  const StateSpace::State* state,
35  Eigen::VectorXd& positions) const override;
36 };
37 
38 } // namespace dart
39 } // namespace statespace
40 } // namespace aikido
41 
42 #endif // ifndef AIKIDO_STATESPACE_SE3JOINTSTATESPACE_HPP_
SE3 for a DART FreeJoint.
Definition: SE3Joint.hpp:13
void convertStateToPositions(const StateSpace::State *state, Eigen::VectorXd &positions) const override
Converts a State in this state space to DART Joint positions, e.g.
Definition: SE3Joint.cpp:24
SE3Joint(const ::dart::dynamics::FreeJoint *joint)
Creates a state space for a FreeJoint.
Definition: SE3Joint.cpp:8
Definition: FrameMarker.hpp:11
Format of serialized trajectory in YAML.
Definition: algorithm.hpp:4
void convertPositionsToState(const Eigen::VectorXd &positions, StateSpace::State *state) const override
Converts DART Joint positions, e.g.
Definition: SE3Joint.cpp:15
A tuple of states where the i-th state is from the i-th subspace.
Definition: CartesianProduct.hpp:162
StateSpace of a DART Joint.
Definition: JointStateSpace.hpp:20
Definition: SE3.hpp:22
The three-dimensional special Euclidean group SE(3), i.e.
Definition: SE3.hpp:19