aikido
Public Types | Public Member Functions | Static Public Attributes | List of all members
aikido::statespace::dart::RJoint< N > Class Template Reference

Rn for an arbitrary type of DART Joint with an arbitrary number of DegreeOfFreedoms. More...

#include <RnJoint.hpp>

Inheritance diagram for aikido::statespace::dart::RJoint< N >:
aikido::statespace::R< N > aikido::statespace::dart::JointStateSpace aikido::statespace::StateSpace aikido::statespace::StateSpace

Public Types

using VectorNd = typename R< DimensionAtCompileTime >::VectorNd
 
using DartJoint = typename detail::RJointTraits< N >::DartJoint
 
- Public Types inherited from aikido::statespace::R< N >
using VectorNd = Eigen::Matrix< double, N, 1 >
 
using StateHandle = RStateHandle< State >
 
using StateHandleConst = RStateHandle< const State >
 
using ScopedState = statespace::ScopedState< StateHandle >
 
using ScopedStateConst = statespace::ScopedState< StateHandleConst >
 
- Public Types inherited from aikido::statespace::StateSpace
using StateHandle = statespace::StateHandle< StateSpace, State >
 
using StateHandleConst = statespace::StateHandle< StateSpace, const State >
 
using ScopedState = statespace::ScopedState< StateHandle >
 
using ScopedStateConst = statespace::ScopedState< StateHandleConst >
 

Public Member Functions

 RJoint (const DartJoint *joint)
 Create a real vector state space for _joint. More...
 
void convertPositionsToState (const Eigen::VectorXd &positions, StateSpace::State *state) const override
 Converts DART Joint positions, e.g. More...
 
void convertStateToPositions (const StateSpace::State *state, Eigen::VectorXd &positions) const override
 Converts a State in this state space to DART Joint positions, e.g. More...
 
- Public Member Functions inherited from aikido::statespace::R< N >
 R ()
 Constructs a N dimensional real vector space only when the dimension is can be known in compile time. More...
 
 R (int dimension)
 Constructs a dimension dimensional real vector space. More...
 
ScopedState createState () const
 Helper function to create a ScopedState. More...
 
ScopedState cloneState (const StateSpace::State *stateIn) const
 Creates an identical clone of stateIn.
 
Eigen::Map< const VectorNd > getValue (const State *_state) const
 Gets the real vector stored in a State. More...
 
void setValue (State *_state, const VectorNd &_value) const
 Sets the real vector stored in a State. More...
 
std::size_t getStateSizeInBytes () const override
 Gets the size of a State, in bytes. More...
 
StateSpace::StateallocateStateInBuffer (void *_buffer) const override
 Create a new state in a pre-allocated buffer. More...
 
void freeStateInBuffer (StateSpace::State *_state) const override
 
void compose (const StateSpace::State *_state1, const StateSpace::State *_state2, StateSpace::State *_out) const override
 
void getIdentity (StateSpace::State *_out) const override
 
void getInverse (const StateSpace::State *_in, StateSpace::State *_out) const override
 
std::size_t getDimension () const override
 Get the dimension of this Lie group. More...
 
void copyState (const StateSpace::State *_source, StateSpace::State *_destination) const override
 Copy a state. More...
 
void expMap (const Eigen::VectorXd &_tangent, StateSpace::State *_out) const override
 Exponential mapping of Lie algebra element to a Lie group element. More...
 
void logMap (const StateSpace::State *_in, Eigen::VectorXd &_tangent) const override
 Log mapping of Lie group element to a Lie algebra element. More...
 
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].
 
- Public Member Functions inherited from aikido::statespace::StateSpace
ScopedState createState () const
 Helper function to create a ScopedState. More...
 
ScopedState cloneState (const State *stateIn) const
 Creates an identical clone of stateIn.
 
virtual StateallocateState () const
 Allocate a new state. More...
 
virtual void freeState (State *_state) const
 Free a state previously created by allocateState. More...
 
virtual void freeStateInBuffer (State *_state) const =0
 Free a state previously created by allocateStateInBuffer. More...
 
virtual void compose (const State *_state1, const State *_state2, State *_out) const =0
 Lie group operation for this StateSpace. More...
 
virtual void compose (State *_state1, const State *_state2) const
 Lie group operation for this StateSpace. More...
 
virtual void getIdentity (State *_out) const =0
 Gets the identity element for this Lie group, such that: More...
 
virtual void getInverse (const State *_state, State *_out) const =0
 Gets the inverse of _in in this Lie group, such that: More...
 
virtual void getInverse (State *_state) const
 Gets the inverse of _in in this Lie group. More...
 
virtual void expMap (const Eigen::VectorXd &_tangent, State *_out) const =0
 Exponential mapping of Lie algebra element to a Lie group element. More...
 
virtual void logMap (const State *_in, Eigen::VectorXd &_tangent) const =0
 Log mapping of Lie group element to a Lie algebra element. More...
 
virtual void print (const State *_state, std::ostream &_os) const =0
 Print the state to the output stream. More...
 
- Public Member Functions inherited from aikido::statespace::dart::JointStateSpace
 JointStateSpace (const ::dart::dynamics::Joint *joint)
 Constructs a state space for joint. More...
 
virtual ~JointStateSpace ()=default
 Destructor.
 
const PropertiesgetProperties () const
 Gets the joint properties associated with this state space. More...
 
bool isCompatible (const ::dart::dynamics::Joint *joint) const
 Returns whether the Joint can be used with this state space. More...
 
void checkCompatibility (const ::dart::dynamics::Joint *joint) const
 Throws an error if the Joint cannot be used with this state space. More...
 
virtual void getState (const ::dart::dynamics::Joint *joint, StateSpace::State *state) const
 Gets the positions of the joint and store them in state. More...
 
virtual void setState (::dart::dynamics::Joint *joint, const StateSpace::State *state) const
 Sets the positions of the joint to state. More...
 

Static Public Attributes

static constexpr int DimensionAtCompileTime = N
 
- Static Public Attributes inherited from aikido::statespace::R< N >
static constexpr int DimensionAtCompileTime = N
 Dimension of the space.
 

Additional Inherited Members

- Protected Attributes inherited from aikido::statespace::dart::JointStateSpace
Properties mProperties
 

Detailed Description

template<int N>
class aikido::statespace::dart::RJoint< N >

Rn for an arbitrary type of DART Joint with an arbitrary number of DegreeOfFreedoms.

This class treats the joint's positions as a real vector space.

This may not be appropriate for all Joint types, e.g. FreeJoint is best modelled as having an SE(3) state space. If you are not sure what type of JointStateSpace to for a Joint you most likely should use the createJointStateSpace helper function.

Constructor & Destructor Documentation

§ RJoint()

template<int N>
aikido::statespace::dart::RJoint< N >::RJoint ( const DartJoint *  joint)
explicit

Create a real vector state space for _joint.

Parameters
jointjoint to create a state space for

Member Function Documentation

§ convertPositionsToState()

template<int N>
void aikido::statespace::dart::RJoint< N >::convertPositionsToState ( const Eigen::VectorXd &  positions,
StateSpace::State state 
) const
overridevirtual

Converts DART Joint positions, e.g.

those returned by getPositions, to a State in this state space.

Parameters
positionsinput DART Joint positions
[out]stateoutput state

Implements aikido::statespace::dart::JointStateSpace.

§ convertStateToPositions()

template<int N>
void aikido::statespace::dart::RJoint< N >::convertStateToPositions ( const StateSpace::State state,
Eigen::VectorXd &  positions 
) const
overridevirtual

Converts a State in this state space to DART Joint positions, e.g.

that may be passed to setPositions.

Parameters
stateinput state
[out]positionsoutput DART Joint positions

Implements aikido::statespace::dart::JointStateSpace.


The documentation for this class was generated from the following files: