Go to the documentation of this file. 1 #ifndef AIKIDO_STATESPACE_SE3STATESPACE_HPP_
2 #define AIKIDO_STATESPACE_SE3STATESPACE_HPP_
3 #include <Eigen/Geometry>
26 = Eigen::Transform<double, 3, Eigen::Isometry, Eigen::DontAlign>;
146 #endif // ifndef AIKIDO_STATESPACE_SE3STATESPACE_HPP_
ScopedState cloneState(const StateSpace::State *stateIn) const
Creates an identical clone of stateIn.
std::size_t getStateSizeInBytes() const override
Gets the size of a State, in bytes.
void freeStateInBuffer(StateSpace::State *_state) const override
Free a state previously created by allocateStateInBuffer.
const Isometry3d & getIsometry(const State *_state) const
Gets value as an Eigen transformation object.
SE3()=default
Constructs a state space representing SE(3).
const Isometry3d & getIsometry() const
Gets value as an Eigen transformation object.
Format of serialized trajectory in YAML.
Definition: algorithm.hpp:4
Eigen::Transform< double, 3, Eigen::Isometry, Eigen::DontAlign > Isometry3d
Definition: SE3.hpp:26
ScopedState createState() const
Helper function to create a ScopedState.
void print(const StateSpace::State *_state, std::ostream &_os) const override
Print the quaternion followed by the translation Format: [q.w, q.x, q.y, q.z, x, y,...
void logMap(const StateSpace::State *_in, Eigen::VectorXd &_tangent) const override
Log mapping of Lie group element to a Lie algebra element.
State::Isometry3d Isometry3d
Definition: SE3.hpp:62
State()
Constructs the identity element.
StateHandle for a SE3.
Definition: SE3-impl.hpp:9
void copyState(const StateSpace::State *_source, StateSpace::State *_destination) const override
Copy a state.
void expMap(const Eigen::VectorXd &_tangent, StateSpace::State *_out) const override
Exponential mapping of Lie algebra element to a Lie group element.
void compose(const StateSpace::State *_state1, const StateSpace::State *_state2, StateSpace::State *_out) const override
Lie group operation for this StateSpace.
void setIsometry(State *_state, const Isometry3d &_transform) const
Sets value to an Eigen transfomation object.
Represents a Lie group and its associated Lie algebra, i.e.
Definition: StateSpace.hpp:33
The three-dimensional special Euclidean group SE(3), i.e.
Definition: SE3.hpp:19
virtual void compose(const State *_state1, const State *_state2, State *_out) const =0
Lie group operation for this StateSpace.
Isometry3d mTransform
Definition: SE3.hpp:49
std::size_t getDimension() const override
Get the dimension of this Lie group.
StateSpace::State * allocateStateInBuffer(void *_buffer) const override
Create a new state in a pre-allocated buffer.
Definition: StateSpace.hpp:167
void setIsometry(const Isometry3d &_transform)
Sets value to an Eigen transfomation object.
void getIdentity(StateSpace::State *_out) const override
Gets the identity element for this Lie group, such that:
void getInverse(const StateSpace::State *_in, StateSpace::State *_out) const override
Gets the inverse of _in in this Lie group, such that: