1 #ifndef AIKIDO_STATESPACE_REALVECTORSTATESPACE_HPP_ 2 #define AIKIDO_STATESPACE_REALVECTORSTATESPACE_HPP_ 5 #include "aikido/statespace/ScopedState.hpp" 6 #include "aikido/statespace/StateSpace.hpp" 25 static constexpr
int DimensionAtCompileTime = N;
35 static constexpr
int DimensionAtCompileTime = N;
37 using VectorNd = Eigen::Matrix<double, N, 1>;
71 explicit R(
int dimension);
85 Eigen::Map<const VectorNd>
getValue(
const State* _state)
const;
149 Eigen::Map<VectorNd> getMutableValue(
State* _state)
const;
169 #include "detail/Rn-impl.hpp" 171 #endif // ifndef AIKIDO_STATESPACE_REALVECTORSTATESPACE_HPP_ std::size_t getDimension() const override
Get the dimension of this Lie group.
Definition: Rn-impl.hpp:214
CRTP RAII wrapper for a StateHandle.
Definition: ScopedState.hpp:15
ScopedState cloneState(const StateSpace::State *stateIn) const
Creates an identical clone of stateIn.
Definition: Rn-impl.hpp:127
void copyState(const StateSpace::State *_source, StateSpace::State *_destination) const override
Copy a state.
Definition: Rn-impl.hpp:248
virtual void compose(const State *_state1, const State *_state2, State *_out) const =0
Lie group operation for this StateSpace.
void print(const StateSpace::State *_state, std::ostream &_os) const override
Print the n-dimensional vector represented by the state Format: [x_1, x_2, ..., x_n].
Definition: Rn-impl.hpp:287
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
Eigen::Map< const VectorNd > getValue(const State *_state) const
Gets the real vector stored in a State.
Definition: Rn-impl.hpp:147
std::size_t getStateSizeInBytes() const override
Gets the size of a State, in bytes.
Definition: Rn-impl.hpp:173
ScopedState createState() const
Helper function to create a ScopedState.
Definition: Rn-impl.hpp:120
void setValue(State *_state, const VectorNd &_value) const
Sets the real vector stored in a State.
Definition: Rn-impl.hpp:157
Represents a N-dimensional real vector space with vector addition as the group operation.
Definition: Rn.hpp:18
StateHandle for a Rn.
Definition: Rn-impl.hpp:27
Represents a Lie group and its associated Lie algebra, i.e.
Definition: StateSpace.hpp:33
void logMap(const StateSpace::State *_in, Eigen::VectorXd &_tangent) const override
Log mapping of Lie group element to a Lie algebra element.
Definition: Rn-impl.hpp:276
StateSpace::State * allocateStateInBuffer(void *_buffer) const override
Create a new state in a pre-allocated buffer.
Definition: Rn-impl.hpp:180
R()
Constructs a N dimensional real vector space only when the dimension is can be known in compile time...
Definition: Rn-impl.hpp:84
void expMap(const Eigen::VectorXd &_tangent, StateSpace::State *_out) const override
Exponential mapping of Lie algebra element to a Lie group element.
Definition: Rn-impl.hpp:258
Point in a R<N>.
Definition: Rn.hpp:22