aikido
SO3Joint.hpp
1 #ifndef AIKIDO_STATESPACE_DART_SO3JOINTSTATESPACE_HPP_
2 #define AIKIDO_STATESPACE_DART_SO3JOINTSTATESPACE_HPP_
3 
4 #include "aikido/statespace/SO3.hpp"
5 #include "aikido/statespace/dart/JointStateSpace.hpp"
6 
7 namespace aikido {
8 namespace statespace {
9 namespace dart {
10 
13 class SO3Joint
14  : public SO3
15  , public JointStateSpace
16  , public std::enable_shared_from_this<SO3Joint>
17 {
18 public:
19  using SO3::State;
20 
25  explicit SO3Joint(const ::dart::dynamics::BallJoint* 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_SO3JOINTSTATESPACE_HPP_
SO3Joint(const ::dart::dynamics::BallJoint *joint)
Creates a state space for a BallJoint.
Definition: SO3Joint.cpp:10
State in SO(3), a spatial rotation.
Definition: SO3.hpp:21
void convertPositionsToState(const Eigen::VectorXd &positions, StateSpace::State *state) const override
Converts DART Joint positions, e.g.
Definition: SO3Joint.cpp:17
The two-dimensional special orthogonal group SO(3), i.e.
Definition: SO3.hpp:17
Definition: FrameMarker.hpp:11
Format of serialized trajectory in YAML.
Definition: algorithm.hpp:4
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
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: SO3Joint.cpp:26
SO3 for a DART BallJoint.
Definition: SO3Joint.hpp:13