- 3.0.2 rigid body dynamics module.
ct::rbd::FloatingBaseNLOCContactModel< RBDDynamics > Class Template Reference

NLOC for floating base systems with an explicit contact model. More...

#include <FloatingBaseNLOCContactModel.h>

Public Types

typedef FloatingBaseFDSystem< RBDDynamics, false, false > FBSystem
 
typedef ct::core::LinearSystem< FBSystem::STATE_DIM, FBSystem::CONTROL_DIMLinearizedSystem
 
typedef ct::rbd::RbdLinearizer< FBSystemRBDLinearizer
 
typedef ct::core::SystemLinearizer< FBSystem::STATE_DIM, FBSystem::CONTROL_DIMSystemLinearizer
 
typedef ct::optcon::NLOptConSolver< FBSystem::STATE_DIM, FBSystem::CONTROL_DIMNLOptConSolver
 
typedef core::StateVector< FBSystem::STATE_DIMStateVector
 
typedef core::ControlVector< FBSystem::CONTROL_DIMControlVector
 
typedef core::FeedbackMatrix< FBSystem::STATE_DIM, FBSystem::CONTROL_DIMFeedbackMatrix
 
typedef core::StateVectorArray< FBSystem::STATE_DIMStateVectorArray
 
typedef core::ControlVectorArray< FBSystem::CONTROL_DIMControlVectorArray
 
typedef core::FeedbackArray< FBSystem::STATE_DIM, FBSystem::CONTROL_DIMFeedbackArray
 
typedef ct::optcon::CostFunctionAnalytical< FBSystem::STATE_DIM, FBSystem::CONTROL_DIMCostFunction
 

Public Member Functions

 FloatingBaseNLOCContactModel (const std::string &costFunctionFile, const std::string &settingsFile, std::shared_ptr< FBSystem > system=std::shared_ptr< FBSystem >(new FBSystem), std::shared_ptr< LinearizedSystem > linearizedSystem=nullptr)
 constructor taking path to the settings file More...
 
 FloatingBaseNLOCContactModel (const std::string &costFunctionFile, const typename NLOptConSolver::Settings_t &settings, std::shared_ptr< FBSystem > system=std::shared_ptr< FBSystem >(new FBSystem), std::shared_ptr< LinearizedSystem > linearizedSystem=nullptr)
 constructor taking settings file directly More...
 
void initialize (const typename RBDDynamics::RBDState_t &x0, const core::Time &tf, StateVectorArray x_ref=StateVectorArray(), FeedbackArray u0_fb=FeedbackArray(), ControlVectorArray u0_ff=ControlVectorArray())
 
void configure (const typename NLOptConSolver::Settings_t &settings)
 
bool runIteration ()
 
const StateVectorArrayretrieveLastRollout ()
 
const StateVectorArraygetStateVectorArray ()
 
const core::TimeArraygetTimeArray ()
 
const FeedbackArraygetFeedbackArray ()
 
const ControlVectorArraygetControlVectorArray ()
 
const NLOptConSolver::Settings_tgetSettings () const
 
void changeCostFunction (std::shared_ptr< CostFunction > costFunction)
 
std::shared_ptr< NLOptConSolvergetSolver ()
 

Static Public Attributes

static EIGEN_MAKE_ALIGNED_OPERATOR_NEW const bool quatIntegration = false
 
static const bool eeForcesAreControlInputs = false
 

Detailed Description

template<class RBDDynamics>
class ct::rbd::FloatingBaseNLOCContactModel< RBDDynamics >

NLOC for floating base systems with an explicit contact model.

Member Typedef Documentation

◆ FBSystem

template<class RBDDynamics >
typedef FloatingBaseFDSystem<RBDDynamics, false, false> ct::rbd::FloatingBaseNLOCContactModel< RBDDynamics >::FBSystem

◆ LinearizedSystem

◆ RBDLinearizer

template<class RBDDynamics >
typedef ct::rbd::RbdLinearizer<FBSystem> ct::rbd::FloatingBaseNLOCContactModel< RBDDynamics >::RBDLinearizer

◆ SystemLinearizer

◆ NLOptConSolver

◆ StateVector

template<class RBDDynamics >
typedef core::StateVector<FBSystem::STATE_DIM> ct::rbd::FloatingBaseNLOCContactModel< RBDDynamics >::StateVector

◆ ControlVector

◆ FeedbackMatrix

◆ StateVectorArray

◆ ControlVectorArray

◆ FeedbackArray

◆ CostFunction

Constructor & Destructor Documentation

◆ FloatingBaseNLOCContactModel() [1/2]

template<class RBDDynamics >
ct::rbd::FloatingBaseNLOCContactModel< RBDDynamics >::FloatingBaseNLOCContactModel ( const std::string &  costFunctionFile,
const std::string &  settingsFile,
std::shared_ptr< FBSystem system = std::shared_ptr<FBSystem>(new FBSystem),
std::shared_ptr< LinearizedSystem linearizedSystem = nullptr 
)

constructor taking path to the settings file

◆ FloatingBaseNLOCContactModel() [2/2]

template<class RBDDynamics >
ct::rbd::FloatingBaseNLOCContactModel< RBDDynamics >::FloatingBaseNLOCContactModel ( const std::string &  costFunctionFile,
const typename NLOptConSolver::Settings_t settings,
std::shared_ptr< FBSystem system = std::shared_ptr<FBSystem>(new FBSystem),
std::shared_ptr< LinearizedSystem linearizedSystem = nullptr 
)

constructor taking settings file directly

Member Function Documentation

◆ initialize()

template<class RBDDynamics >
void ct::rbd::FloatingBaseNLOCContactModel< RBDDynamics >::initialize ( const typename RBDDynamics::RBDState_t &  x0,
const core::Time tf,
StateVectorArray  x_ref = StateVectorArray(),
FeedbackArray  u0_fb = FeedbackArray(),
ControlVectorArray  u0_ff = ControlVectorArray() 
)

◆ configure()

template<class RBDDynamics >
void ct::rbd::FloatingBaseNLOCContactModel< RBDDynamics >::configure ( const typename NLOptConSolver::Settings_t settings)

◆ runIteration()

template<class RBDDynamics >
bool ct::rbd::FloatingBaseNLOCContactModel< RBDDynamics >::runIteration ( )

◆ retrieveLastRollout()

template<class RBDDynamics >
const FloatingBaseNLOCContactModel< RBDDynamics >::StateVectorArray & ct::rbd::FloatingBaseNLOCContactModel< RBDDynamics >::retrieveLastRollout ( )

◆ getStateVectorArray()

template<class RBDDynamics >
const FloatingBaseNLOCContactModel< RBDDynamics >::StateVectorArray & ct::rbd::FloatingBaseNLOCContactModel< RBDDynamics >::getStateVectorArray ( )

◆ getTimeArray()

template<class RBDDynamics >
const core::TimeArray & ct::rbd::FloatingBaseNLOCContactModel< RBDDynamics >::getTimeArray ( )

◆ getFeedbackArray()

template<class RBDDynamics >
const FloatingBaseNLOCContactModel< RBDDynamics >::FeedbackArray & ct::rbd::FloatingBaseNLOCContactModel< RBDDynamics >::getFeedbackArray ( )

◆ getControlVectorArray()

template<class RBDDynamics >
const FloatingBaseNLOCContactModel< RBDDynamics >::ControlVectorArray & ct::rbd::FloatingBaseNLOCContactModel< RBDDynamics >::getControlVectorArray ( )

◆ getSettings()

template<class RBDDynamics >
const FloatingBaseNLOCContactModel< RBDDynamics >::NLOptConSolver::Settings_t & ct::rbd::FloatingBaseNLOCContactModel< RBDDynamics >::getSettings ( ) const

◆ changeCostFunction()

template<class RBDDynamics >
void ct::rbd::FloatingBaseNLOCContactModel< RBDDynamics >::changeCostFunction ( std::shared_ptr< CostFunction costFunction)

◆ getSolver()

template<class RBDDynamics >
std::shared_ptr< typename FloatingBaseNLOCContactModel< RBDDynamics >::NLOptConSolver > ct::rbd::FloatingBaseNLOCContactModel< RBDDynamics >::getSolver ( )

Member Data Documentation

◆ quatIntegration

template<class RBDDynamics >
EIGEN_MAKE_ALIGNED_OPERATOR_NEW const bool ct::rbd::FloatingBaseNLOCContactModel< RBDDynamics >::quatIntegration = false
static

◆ eeForcesAreControlInputs

template<class RBDDynamics >
const bool ct::rbd::FloatingBaseNLOCContactModel< RBDDynamics >::eeForcesAreControlInputs = false
static

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