Template Class ActuationModelFloatingBaseTpl

Inheritance Relationships

Base Type

Class Documentation

template<typename _Scalar>
class ActuationModelFloatingBaseTpl : public crocoddyl::ActuationModelAbstractTpl<_Scalar>

Floating-base actuation model.

It considers the first joint, defined in the Pinocchio model, as the floating-base joints. Then, this joint (that might have various DoFs) is unactuated.

The main computations are carrying out in calc, and calcDiff, where the former computes actuation signal \(\mathbf{a}\) from a given joint-torque input \(\mathbf{u}\) and state point \(\mathbf{x}\), and the latter computes the Jacobians of the actuation-mapping function. Note that calcDiff requires to run calc first.

Public Types

typedef MathBaseTpl<Scalar> MathBase
typedef ActuationModelAbstractTpl<Scalar> Base
typedef ActuationDataAbstractTpl<Scalar> Data
typedef StateMultibodyTpl<Scalar> StateMultibody
typedef MathBase::VectorXs VectorXs
typedef MathBase::MatrixXs MatrixXs

Public Functions

inline explicit ActuationModelFloatingBaseTpl(std::shared_ptr<StateMultibody> state)

Initialize the floating-base actuation model.

Parameters:
  • state[in] State of a multibody system

  • nu[in] Dimension of joint-torque vector

virtual ~ActuationModelFloatingBaseTpl() = default
inline virtual void calc(const std::shared_ptr<Data> &data, const Eigen::Ref<const VectorXs>&, const Eigen::Ref<const VectorXs> &u) override

Compute the floating-base actuation signal from the joint-torque input \(\mathbf{u}\in\mathbb{R}^{nu}\).

Parameters:
  • data[in] Actuation data

  • x[in] State point \(\mathbf{x}\in\mathbb{R}^{ndx}\)

  • u[in] Joint-torque input \(\mathbf{u}\in\mathbb{R}^{nu}\)

inline virtual void calcDiff(const std::shared_ptr<Data> &data, const Eigen::Ref<const VectorXs>&, const Eigen::Ref<const VectorXs>&) override

Compute the Jacobians of the floating-base actuation function.

Parameters:
  • data[in] Actuation data

  • x[in] State point \(\mathbf{x}\in\mathbb{R}^{ndx}\)

  • u[in] Joint-torque input \(\mathbf{u}\in\mathbb{R}^{nu}\)

inline virtual void commands(const std::shared_ptr<Data> &data, const Eigen::Ref<const VectorXs>&, const Eigen::Ref<const VectorXs> &tau) override
inline virtual void torqueTransform(const std::shared_ptr<Data> &data, const Eigen::Ref<const VectorXs>&, const Eigen::Ref<const VectorXs>&) override
inline virtual std::shared_ptr<Data> createData() override

Create the floating-base actuation data.

Returns:

the actuation data

template<typename NewScalar>
inline ActuationModelFloatingBaseTpl<NewScalar> cast() const
inline virtual void print(std::ostream &os) const override

Print relevant information of the joint-effort residual.

Parameters:

os[out] Output stream object

Public Members

EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef _Scalar Scalar

Protected Attributes

std::size_t nu_

Dimension of joint torque inputs.

std::shared_ptr<StateAbstract> state_

Model of the state.