A floating base rigid body system that uses forward dynamics. The input vector is assumed to consist of joint torques and end-effector forces expressed in the world.
More...
|
| FloatingBaseFDSystem () |
|
| FloatingBaseFDSystem (const FloatingBaseFDSystem< RBDDynamics, QUAT_INTEGRATION, EE_ARE_CONTROL_INPUTS > &other) |
|
virtual | ~FloatingBaseFDSystem () |
|
virtual FloatingBaseFDSystem< RBDDynamics, QUAT_INTEGRATION, EE_ARE_CONTROL_INPUTS > * | clone () const override |
|
virtual RBDDynamics & | dynamics () override |
|
virtual const RBDDynamics & | dynamics () const override |
|
void | setContactModel (const std::shared_ptr< ContactModel > &contactModel) |
|
virtual void | computePdot (const StateVector &x, const core::StateVector< RBDDynamics::NSTATE/2, SCALAR > &v, const ControlVector &control, core::StateVector< RBDDynamics::NSTATE/2+QUAT_INTEGRATION, SCALAR > &pDot) override |
|
virtual void | computeVdot (const StateVector &x, const core::StateVector< RBDDynamics::NSTATE/2+QUAT_INTEGRATION, SCALAR > &p, const ControlVector &control, core::StateVector< RBDDynamics::NSTATE/2, SCALAR > &vDot) override |
|
void | mapEndeffectorForcesToLinkForces (const typename RBDDynamics::RBDState_t &state, const std::array< typename Kinematics::EEForceLinear, N_EE > &eeForcesW, typename RBDDynamics::ExtLinkForces_t &linkForces) |
|
RBDDynamics::RBDState_t | RBDStateFromVector (const core::StateVector< STATE_DIM, SCALAR > &state) |
|
template<bool T> |
RBDDynamics::RBDState_t | RBDStateFromVectorImpl (const core::StateVector< STATE_DIM, SCALAR > &state, typename std::enable_if< T, bool >::type=true) |
|
template<bool T> |
RBDDynamics::RBDState_t | RBDStateFromVectorImpl (const core::StateVector< STATE_DIM, SCALAR > &state, typename std::enable_if<!T, bool >::type=true) |
|
template<bool T> |
core::StateVector< STATE_DIM, SCALAR > | toStateDerivative (const typename RBDDynamics::RBDAcceleration_t &acceleration, const typename RBDDynamics::RBDState_t &state, typename std::enable_if< T, bool >::type=true) |
|
template<bool T> |
core::StateVector< STATE_DIM, SCALAR > | toStateDerivative (const typename RBDDynamics::RBDAcceleration_t &acceleration, const typename RBDDynamics::RBDState_t &state, typename std::enable_if<!T, bool >::type=true) |
|
template<bool T> |
core::StateVector< STATE_DIM, SCALAR > | toStateVector (const typename RBDDynamics::RBDState_t &state, typename std::enable_if< T, bool >::type=true) |
|
template<bool T> |
core::StateVector< STATE_DIM, SCALAR > | toStateVector (const typename RBDDynamics::RBDState_t &state, typename std::enable_if<!T, bool >::type=true) |
|
| RBDSystem ()=default |
|
virtual | ~RBDSystem ()=default |
|
| SymplecticSystem (const SYSTEM_TYPE &type=SYSTEM_TYPE::GENERAL) |
|
| SymplecticSystem (std::shared_ptr< ct::core::Controller< RBDDynamics::NSTATE/2+QUAT_INTEGRATION+RBDDynamics::NSTATE/2, RBDDynamics::NJOINTS+EE_ARE_CONTROL_INPUTS *RBDDynamics::N_EE *3, RBDDynamics::SCALAR >> controller, const SYSTEM_TYPE &type=SYSTEM_TYPE::GENERAL) |
|
| SymplecticSystem (const SymplecticSystem &arg) |
|
virtual | ~SymplecticSystem () |
|
virtual bool | isSymplectic () const override |
|
virtual void | computeControlledDynamics (const StateVector< RBDDynamics::NSTATE/2+QUAT_INTEGRATION+RBDDynamics::NSTATE/2, RBDDynamics::SCALAR > &state, const time_t &t, const ControlVector< RBDDynamics::NJOINTS+EE_ARE_CONTROL_INPUTS *RBDDynamics::N_EE *3, RBDDynamics::SCALAR > &control, StateVector< RBDDynamics::NSTATE/2+QUAT_INTEGRATION+RBDDynamics::NSTATE/2, RBDDynamics::SCALAR > &derivative) override |
|
void | computePdot (const StateVector< RBDDynamics::NSTATE/2+QUAT_INTEGRATION+RBDDynamics::NSTATE/2, RBDDynamics::SCALAR > &x, const StateVector< RBDDynamics::NSTATE/2, RBDDynamics::SCALAR > &v, StateVector< RBDDynamics::NSTATE/2+QUAT_INTEGRATION, RBDDynamics::SCALAR > &pDot) |
|
virtual void | computePdot (const StateVector< RBDDynamics::NSTATE/2+QUAT_INTEGRATION+RBDDynamics::NSTATE/2, RBDDynamics::SCALAR > &x, const StateVector< RBDDynamics::NSTATE/2, RBDDynamics::SCALAR > &v, const ControlVector< RBDDynamics::NJOINTS+EE_ARE_CONTROL_INPUTS *RBDDynamics::N_EE *3, RBDDynamics::SCALAR > &control, StateVector< RBDDynamics::NSTATE/2+QUAT_INTEGRATION, RBDDynamics::SCALAR > &pDot)=0 |
|
void | computeVdot (const StateVector< RBDDynamics::NSTATE/2+QUAT_INTEGRATION+RBDDynamics::NSTATE/2, RBDDynamics::SCALAR > &x, const StateVector< RBDDynamics::NSTATE/2+QUAT_INTEGRATION, RBDDynamics::SCALAR > &p, StateVector< RBDDynamics::NSTATE/2, RBDDynamics::SCALAR > &vDot) |
|
virtual void | computeVdot (const StateVector< RBDDynamics::NSTATE/2+QUAT_INTEGRATION+RBDDynamics::NSTATE/2, RBDDynamics::SCALAR > &x, const StateVector< RBDDynamics::NSTATE/2+QUAT_INTEGRATION, RBDDynamics::SCALAR > &p, const ControlVector< RBDDynamics::NJOINTS+EE_ARE_CONTROL_INPUTS *RBDDynamics::N_EE *3, RBDDynamics::SCALAR > &control, StateVector< RBDDynamics::NSTATE/2, RBDDynamics::SCALAR > &vDot)=0 |
|
| ControlledSystem (const SYSTEM_TYPE &type=SYSTEM_TYPE::GENERAL) |
|
| ControlledSystem (std::shared_ptr< ct::core::Controller< RBDDynamics::NSTATE/2+QUAT_INTEGRATION+RBDDynamics::NSTATE/2, RBDDynamics::NJOINTS+EE_ARE_CONTROL_INPUTS *RBDDynamics::N_EE *3, RBDDynamics::SCALAR >> controller, const SYSTEM_TYPE &type=SYSTEM_TYPE::GENERAL) |
|
| ControlledSystem (const ControlledSystem &arg) |
|
virtual | ~ControlledSystem () |
|
void | setController (const std::shared_ptr< Controller< RBDDynamics::NSTATE/2+QUAT_INTEGRATION+RBDDynamics::NSTATE/2, RBDDynamics::NJOINTS+EE_ARE_CONTROL_INPUTS *RBDDynamics::N_EE *3, RBDDynamics::SCALAR >> &controller) |
|
void | getController (std::shared_ptr< Controller< RBDDynamics::NSTATE/2+QUAT_INTEGRATION+RBDDynamics::NSTATE/2, RBDDynamics::NJOINTS+EE_ARE_CONTROL_INPUTS *RBDDynamics::N_EE *3, RBDDynamics::SCALAR >> &controller) const |
|
std::shared_ptr< Controller< RBDDynamics::NSTATE/2+QUAT_INTEGRATION+RBDDynamics::NSTATE/2, RBDDynamics::NJOINTS+EE_ARE_CONTROL_INPUTS *RBDDynamics::N_EE *3, RBDDynamics::SCALAR > > | getController () |
|
virtual void | computeDynamics (const StateVector< RBDDynamics::NSTATE/2+QUAT_INTEGRATION+RBDDynamics::NSTATE/2, RBDDynamics::SCALAR > &state, const time_t &t, StateVector< RBDDynamics::NSTATE/2+QUAT_INTEGRATION+RBDDynamics::NSTATE/2, RBDDynamics::SCALAR > &derivative) override |
|
ControlVector< RBDDynamics::NJOINTS+EE_ARE_CONTROL_INPUTS *RBDDynamics::N_EE *3, RBDDynamics::SCALAR > | getLastControlAction () |
|
| 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 |
|
template<class RBDDynamics, bool QUAT_INTEGRATION = false, bool EE_ARE_CONTROL_INPUTS = false>
class ct::rbd::FloatingBaseFDSystem< RBDDynamics, QUAT_INTEGRATION, EE_ARE_CONTROL_INPUTS >
A floating base rigid body system that uses forward dynamics. The input vector is assumed to consist of joint torques and end-effector forces expressed in the world.