aikido
SO2Joint.hpp
1 #ifndef AIKIDO_STATESPACE_DART_SO2JOINTSTATESPACE_HPP_
2 #define AIKIDO_STATESPACE_DART_SO2JOINTSTATESPACE_HPP_
3 
4 #include "aikido/statespace/SO2.hpp"
5 #include "aikido/statespace/dart/JointStateSpace.hpp"
6 
7 namespace aikido {
8 namespace statespace {
9 namespace dart {
10 
13 class SO2Joint
14  : public SO2
15  , public JointStateSpace
16  , public std::enable_shared_from_this<SO2Joint>
17 {
18 public:
19  using SO2::State;
20 
25  explicit SO2Joint(
26  const ::dart::dynamics::GenericJoint<::dart::math::R1Space>* joint);
27 
28  // Documentation inherited.
30  const Eigen::VectorXd& positions,
31  StateSpace::State* state) const override;
32 
33  // Documentation inherited.
35  const StateSpace::State* state,
36  Eigen::VectorXd& positions) const override;
37 };
38 
39 } // namespace dart
40 } // namespace statespace
41 } // namespace aikido
42 
43 #endif // ifndef AIKIDO_STATESPACE_SO2JOINTSTATESPACE_HPP_
The two-dimensional special orthogonal group SO(2), i.e.
Definition: SO2.hpp:18
Definition: SO2.hpp:115
SO2 for a DART SingleDofJoint.
Definition: SO2Joint.hpp:13
void convertPositionsToState(const Eigen::VectorXd &positions, StateSpace::State *state) const override
Converts DART Joint positions, e.g.
Definition: SO2Joint.cpp:16
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
SO2Joint(const ::dart::dynamics::GenericJoint<::dart::math::R1Space > *joint)
Creates a state space for a FreeJoint.
Definition: SO2Joint.cpp:8
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: SO2Joint.cpp:23