1 #ifndef AIKIDO_STATESPACE_SE2STATESPACE_HPP_ 2 #define AIKIDO_STATESPACE_SE2STATESPACE_HPP_ 3 #include <Eigen/Geometry> 5 #include "aikido/statespace/ScopedState.hpp" 6 #include "aikido/statespace/StateSpace.hpp" 26 = Eigen::Transform<double, 2, Eigen::Isometry, Eigen::DontAlign>;
36 explicit State(
const Isometry2d& _transform);
49 Isometry2d mTransform;
62 using Isometry2d = State::Isometry2d;
142 #include "detail/SE2-impl.hpp" 144 #endif // ifndef AIKIDO_STATESPACE_SE2STATESPACE_HPP_ const Isometry2d & getIsometry() const
Gets value as an Eigen transformation object.
Definition: SE2.cpp:18
CRTP RAII wrapper for a StateHandle.
Definition: ScopedState.hpp:15
void logMap(const StateSpace::State *_state, Eigen::VectorXd &_tangent) const override
Log mapping of Lie group element to a Lie algebra element.
Definition: SE2.cpp:150
virtual void compose(const State *_state1, const State *_state2, State *_out) const =0
Lie group operation for this StateSpace.
std::size_t getStateSizeInBytes() const override
Gets the size of a State, in bytes.
Definition: SE2.cpp:57
Format of serialized trajectory in YAML.
Definition: algorithm.hpp:4
void print(const StateSpace::State *_state, std::ostream &_os) const override
Print the state. Format: [x, y, theta].
Definition: SE2.cpp:165
The two-dimensional special Euclidean group SE(2), i.e.
Definition: SE2.hpp:19
A tuple of states where the i-th state is from the i-th subspace.
Definition: CartesianProduct.hpp:162
void copyState(const StateSpace::State *_source, StateSpace::State *_destination) const override
Copy a state.
Definition: SE2.cpp:118
void expMap(const Eigen::VectorXd &_tangent, StateSpace::State *_out) const override
Exponential mapping of Lie algebra element to a Lie group element.
Definition: SE2.cpp:127
void setIsometry(const Isometry2d &_transform)
Sets value to an Eigen transfomation object.
Definition: SE2.cpp:24
ScopedState createState() const
Helper function to create a ScopedState.
Definition: SE2.cpp:30
ScopedState cloneState(const StateSpace::State *stateIn) const
Creates an identical clone of stateIn.
Definition: SE2.cpp:36
std::size_t getDimension() const override
Get the dimension of this Lie group.
Definition: SE2.cpp:92
Represents a Lie group and its associated Lie algebra, i.e.
Definition: StateSpace.hpp:33
State()
Constructs the identity element.
Definition: SE2.cpp:8
StateSpace::State * allocateStateInBuffer(void *_buffer) const override
Create a new state in a pre-allocated buffer.
Definition: SE2.cpp:63
StateHandle for a SE2.
Definition: SE2-impl.hpp:9