- 3.0.2 rigid body dynamics module.
ct::rbd::RbdLinearizer< SYSTEM > Class Template Reference

#include <RbdLinearizer.h>

Inheritance diagram for ct::rbd::RbdLinearizer< SYSTEM >:
ct::core::SystemLinearizer< SYSTEM::STATE_DIM, SYSTEM::CONTROL_DIM, SYSTEM::SCALAR > ct::core::LinearSystem< STATE_DIM, CONTROL_DIM, SCALAR > ct::core::ControlledSystem< STATE_DIM, CONTROL_DIM, SCALAR > ct::core::System< STATE_DIM, SCALAR >

Public Types

typedef std::shared_ptr< RbdLinearizer< SYSTEM > > Ptr
 
typedef SYSTEM::SCALAR SCALAR
 
typedef ct::core::SystemLinearizer< STATE_DIM, CONTROL_DIM, SCALARBase
 
typedef ct::core::StateVector< STATE_DIM, SCALARstate_vector_t
 
typedef ct::core::ControlVector< CONTROL_DIM, SCALARcontrol_vector_t
 
typedef ct::core::StateMatrix< STATE_DIM, SCALARstate_matrix_t
 
typedef ct::core::StateControlMatrix< STATE_DIM, CONTROL_DIM, SCALARstate_control_matrix_t
 
- Public Types inherited from ct::core::SystemLinearizer< SYSTEM::STATE_DIM, SYSTEM::CONTROL_DIM, SYSTEM::SCALAR >
typedef Base::time_t time_t
 
typedef Base::state_vector_t state_vector_t
 
typedef Base::control_vector_t control_vector_t
 
typedef Base::state_matrix_t state_matrix_t
 
typedef Base::state_control_matrix_t state_control_matrix_t
 
typedef ControlledSystem< SYSTEM::STATE_DIM, SYSTEM::CONTROL_DIM, SYSTEM::SCALARsystem_t
 
- Public Types inherited from ct::core::LinearSystem< STATE_DIM, CONTROL_DIM, SCALAR >
typedef Base::time_t time_t
 
typedef StateVector< STATE_DIM, SCALARstate_vector_t
 
typedef ControlVector< CONTROL_DIM, SCALARcontrol_vector_t
 
typedef StateMatrix< STATE_DIM, SCALARstate_matrix_t
 
typedef StateControlMatrix< STATE_DIM, CONTROL_DIM, SCALARstate_control_matrix_t
 
- Public Types inherited from ct::core::ControlledSystem< STATE_DIM, CONTROL_DIM, SCALAR >
typedef std::shared_ptr< ControlledSystem< STATE_DIM, CONTROL_DIM, SCALAR > > Ptr
 
typedef Base::time_t time_t
 
- Public Types inherited from ct::core::System< STATE_DIM, SCALAR >
typedef SCALAR time_t
 

Public Member Functions

 RbdLinearizer (std::shared_ptr< SYSTEM > RBDSystem, bool doubleSidedDerivative=false)
 
 RbdLinearizer (const RbdLinearizer &arg)
 
virtual ~RbdLinearizer () override
 
RbdLinearizer< SYSTEM > * clone () const override
 
const state_matrix_tgetDerivativeState (const state_vector_t &x, const control_vector_t &u, const SCALAR t=0.0) override
 
const state_control_matrix_tgetDerivativeControl (const state_vector_t &x, const control_vector_t &u, const SCALAR t=0.0) override
 
- Public Member Functions inherited from ct::core::SystemLinearizer< SYSTEM::STATE_DIM, SYSTEM::CONTROL_DIM, SYSTEM::SCALAR >
 SystemLinearizer (std::shared_ptr< system_t > nonlinearSystem, bool doubleSidedDerivative=true)
 
 SystemLinearizer (const SystemLinearizer &arg)
 
virtual ~SystemLinearizer ()
 
SystemLinearizer< SYSTEM::STATE_DIM, SYSTEM::CONTROL_DIM, SYSTEM::SCALAR > * clone () const override
 
virtual const state_matrix_tgetDerivativeState (const state_vector_t &x, const control_vector_t &u, const time_t t=0.0) override
 
virtual const state_control_matrix_tgetDerivativeControl (const state_vector_t &x, const control_vector_t &u, const time_t t=0.0) override
 
- Public Member Functions inherited from ct::core::LinearSystem< STATE_DIM, CONTROL_DIM, SCALAR >
 LinearSystem (const ct::core::SYSTEM_TYPE &type=ct::core::SYSTEM_TYPE::GENERAL)
 
virtual ~LinearSystem ()
 
virtual void computeControlledDynamics (const state_vector_t &state, const time_t &t, const control_vector_t &control, state_vector_t &derivative) override
 
virtual void getDerivatives (state_matrix_t &A, state_control_matrix_t &B, const state_vector_t &x, const control_vector_t &u, const time_t t=time_t(0.0))
 
- Public Member Functions inherited from ct::core::ControlledSystem< STATE_DIM, CONTROL_DIM, SCALAR >
 ControlledSystem (const SYSTEM_TYPE &type=SYSTEM_TYPE::GENERAL)
 
 ControlledSystem (std::shared_ptr< ct::core::Controller< STATE_DIM, CONTROL_DIM, SCALAR >> controller, const SYSTEM_TYPE &type=SYSTEM_TYPE::GENERAL)
 
 ControlledSystem (const ControlledSystem &arg)
 
virtual ~ControlledSystem ()
 
void setController (const std::shared_ptr< Controller< STATE_DIM, CONTROL_DIM, SCALAR >> &controller)
 
void getController (std::shared_ptr< Controller< STATE_DIM, CONTROL_DIM, SCALAR >> &controller) const
 
std::shared_ptr< Controller< STATE_DIM, CONTROL_DIM, SCALAR > > getController ()
 
virtual void computeDynamics (const StateVector< STATE_DIM, SCALAR > &state, const time_t &t, StateVector< STATE_DIM, SCALAR > &derivative) override
 
virtual void computeControlledDynamics (const StateVector< STATE_DIM, SCALAR > &state, const time_t &t, const ControlVector< CONTROL_DIM, SCALAR > &control, StateVector< STATE_DIM, SCALAR > &derivative)=0
 
ControlVector< CONTROL_DIM, SCALARgetLastControlAction ()
 
- Public Member Functions inherited from ct::core::System< STATE_DIM, SCALAR >
 System (const SYSTEM_TYPE &type=SYSTEM_TYPE::GENERAL)
 
 System (const System &other)
 
virtual ~System ()
 
virtual void computeDynamics (const StateVector< STATE_DIM, SCALAR > &state, const time_t &t, StateVector< STATE_DIM, SCALAR > &derivative)=0
 
SYSTEM_TYPE getType () const
 
virtual bool isSymplectic () const
 

Static Public Attributes

static EIGEN_MAKE_ALIGNED_OPERATOR_NEW const bool FLOATING_BASE = SYSTEM::Dynamics::FB
 
static const size_t STATE_DIM = SYSTEM::STATE_DIM
 
static const size_t CONTROL_DIM = SYSTEM::CONTROL_DIM
 
static const size_t NJOINTS = SYSTEM::Dynamics::NJOINTS
 

Protected Types

typedef SYSTEM::Dynamics::ROBCOGEN::JSIM jsim_t
 

Protected Attributes

std::shared_ptr< SYSTEM > RBDSystem_
 
Eigen::LLT< typename jsim_t::MatrixType > llt_
 
- Protected Attributes inherited from ct::core::SystemLinearizer< SYSTEM::STATE_DIM, SYSTEM::CONTROL_DIM, SYSTEM::SCALAR >
std::shared_ptr< system_tnonlinearSystem_
 
DynamicsLinearizerNumDiff< SYSTEM::STATE_DIM, SYSTEM::CONTROL_DIM, SYSTEM::SCALAR, SYSTEM::SCALARlinearizer_
 
state_matrix_t dFdx_
 
state_control_matrix_t dFdu_
 
bool isSecondOrderSystem_
 
- Protected Attributes inherited from ct::core::ControlledSystem< STATE_DIM, CONTROL_DIM, SCALAR >
std::shared_ptr< Controller< STATE_DIM, CONTROL_DIM, SCALAR > > controller_
 
ControlVector< CONTROL_DIM, SCALARcontrolAction_
 
- Protected Attributes inherited from ct::core::System< STATE_DIM, SCALAR >
SYSTEM_TYPE type_
 

Additional Inherited Members

- Public Attributes inherited from ct::core::SystemLinearizer< SYSTEM::STATE_DIM, SYSTEM::CONTROL_DIM, SYSTEM::SCALAR >
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef LinearSystem< SYSTEM::STATE_DIM, SYSTEM::CONTROL_DIM, SYSTEM::SCALARBase
 
- Public Attributes inherited from ct::core::LinearSystem< STATE_DIM, CONTROL_DIM, SCALAR >
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef ControlledSystem< STATE_DIM, CONTROL_DIM, SCALARBase
 
- Public Attributes inherited from ct::core::ControlledSystem< STATE_DIM, CONTROL_DIM, SCALAR >
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef System< STATE_DIM, SCALARBase
 
- Public Attributes inherited from ct::core::System< STATE_DIM, SCALAR >
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef SCALAR S
 

Member Typedef Documentation

◆ Ptr

template<class SYSTEM>
typedef std::shared_ptr<RbdLinearizer<SYSTEM> > ct::rbd::RbdLinearizer< SYSTEM >::Ptr

◆ SCALAR

template<class SYSTEM>
typedef SYSTEM::SCALAR ct::rbd::RbdLinearizer< SYSTEM >::SCALAR

◆ Base

template<class SYSTEM>
typedef ct::core::SystemLinearizer<STATE_DIM, CONTROL_DIM, SCALAR> ct::rbd::RbdLinearizer< SYSTEM >::Base

◆ state_vector_t

template<class SYSTEM>
typedef ct::core::StateVector<STATE_DIM, SCALAR> ct::rbd::RbdLinearizer< SYSTEM >::state_vector_t

◆ control_vector_t

◆ state_matrix_t

template<class SYSTEM>
typedef ct::core::StateMatrix<STATE_DIM, SCALAR> ct::rbd::RbdLinearizer< SYSTEM >::state_matrix_t

◆ state_control_matrix_t

◆ jsim_t

template<class SYSTEM>
typedef SYSTEM::Dynamics::ROBCOGEN::JSIM ct::rbd::RbdLinearizer< SYSTEM >::jsim_t
protected

Constructor & Destructor Documentation

◆ RbdLinearizer() [1/2]

template<class SYSTEM>
ct::rbd::RbdLinearizer< SYSTEM >::RbdLinearizer ( std::shared_ptr< SYSTEM >  RBDSystem,
bool  doubleSidedDerivative = false 
)
inline

◆ RbdLinearizer() [2/2]

template<class SYSTEM>
ct::rbd::RbdLinearizer< SYSTEM >::RbdLinearizer ( const RbdLinearizer< SYSTEM > &  arg)
inline

◆ ~RbdLinearizer()

template<class SYSTEM>
virtual ct::rbd::RbdLinearizer< SYSTEM >::~RbdLinearizer ( )
inlineoverridevirtual

Member Function Documentation

◆ clone()

template<class SYSTEM>
RbdLinearizer<SYSTEM>* ct::rbd::RbdLinearizer< SYSTEM >::clone ( ) const
inlineoverridevirtual

◆ getDerivativeState()

template<class SYSTEM>
const state_matrix_t& ct::rbd::RbdLinearizer< SYSTEM >::getDerivativeState ( const state_vector_t x,
const control_vector_t u,
const SCALAR  t = 0.0 
)
inlineoverride

◆ getDerivativeControl()

template<class SYSTEM>
const state_control_matrix_t& ct::rbd::RbdLinearizer< SYSTEM >::getDerivativeControl ( const state_vector_t x,
const control_vector_t u,
const SCALAR  t = 0.0 
)
inlineoverride

Referenced by TEST().

Member Data Documentation

◆ FLOATING_BASE

template<class SYSTEM>
EIGEN_MAKE_ALIGNED_OPERATOR_NEW const bool ct::rbd::RbdLinearizer< SYSTEM >::FLOATING_BASE = SYSTEM::Dynamics::FB
static

◆ STATE_DIM

template<class SYSTEM>
const size_t ct::rbd::RbdLinearizer< SYSTEM >::STATE_DIM = SYSTEM::STATE_DIM
static

◆ CONTROL_DIM

template<class SYSTEM>
const size_t ct::rbd::RbdLinearizer< SYSTEM >::CONTROL_DIM = SYSTEM::CONTROL_DIM
static

◆ NJOINTS

template<class SYSTEM>
const size_t ct::rbd::RbdLinearizer< SYSTEM >::NJOINTS = SYSTEM::Dynamics::NJOINTS
static

◆ RBDSystem_

template<class SYSTEM>
std::shared_ptr<SYSTEM> ct::rbd::RbdLinearizer< SYSTEM >::RBDSystem_
protected

◆ llt_

template<class SYSTEM>
Eigen::LLT<typename jsim_t::MatrixType> ct::rbd::RbdLinearizer< SYSTEM >::llt_
protected

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