Template Class ResidualModelJointEffortTpl
Defined in File joint-effort.hpp
Inheritance Relationships
Base Type
public crocoddyl::ResidualModelAbstractTpl< _Scalar >(Template Class ResidualModelAbstractTpl)
Class Documentation
-
template<typename _Scalar>
class ResidualModelJointEffortTpl : public crocoddyl::ResidualModelAbstractTpl<_Scalar> Define a joint-effort residual.
This residual function is defined as \(\mathbf{r}=\mathbf{u}-\mathbf{u}^*\), where \(\mathbf{u},\mathbf{u}^*\in~\mathbb{R}^{nu}\) are the current and reference joint effort inputs, respectively. Note that the dimension of the residual vector is obtained from
ActuationModelAbstract::nu.Both residual and residual Jacobians are computed analytically.
As described in ResidualModelAbstractTpl(), the residual value and its Jacobians are calculated by
calcandcalcDiff, respectively.See also
Public Types
-
typedef MathBaseTpl<Scalar> MathBase
-
typedef ResidualModelAbstractTpl<Scalar> Base
-
typedef ResidualDataJointEffortTpl<Scalar> Data
-
typedef ResidualDataAbstractTpl<Scalar> ResidualDataAbstract
-
typedef DataCollectorAbstractTpl<Scalar> DataCollectorAbstract
-
typedef StateAbstractTpl<Scalar> StateAbstract
-
typedef ActuationModelAbstractTpl<Scalar> ActuationModelAbstract
Public Functions
Initialize the joint-effort residual model.
- Parameters:
state – [in] State description
actuation – [in] Actuation model
uref – [in] Reference joint effort
nu – [in] Dimension of the control vector
fwddyn – [in] Indicates that we have a forward dynamics problem (true) or inverse dynamics (false) (default false)
Initialize the joint-effort residual model.
The default
nuvalue is obtained fromStateAbstractTpl::get_nv().- Parameters:
state – [in] State description
actuation – [in] Actuation model
uref – [in] Reference joint effort
Initialize the joint-effort residual model.
The default reference joint effort is obtained from
MathBaseTpl<>::VectorXs::Zero(actuation->get_nu()).- Parameters:
state – [in] State description
actuation – [in] Actuation model
nu – [in] Dimension of the control vector
Initialize the joint-effort residual model.
The default reference joint effort is obtained from
MathBaseTpl<>::VectorXs::Zero(actuation->get_nu()). The defaultnuvalue is obtained fromStateAbstractTpl::get_nv().- Parameters:
state – [in] State description
actuation – [in] Actuation model
-
virtual ~ResidualModelJointEffortTpl() = default
Compute the joint-effort residual.
- Parameters:
data – [in] Joint-effort residual data
x – [in] State point \(\mathbf{x}\in\mathbb{R}^{ndx}\)
u – [in] Control input \(\mathbf{u}\in\mathbb{R}^{nu}\)
It updates the residual vector based on the state only. This function is used in the terminal nodes of an optimal control problem.
- Parameters:
data – [in] Residual data
x – [in] State point \(\mathbf{x}\in\mathbb{R}^{ndx}\)
Compute the derivatives of the joint-effort residual.
- Parameters:
data – [in] Joint-effort residual data
x – [in] State point \(\mathbf{x}\in\mathbb{R}^{ndx}\)
u – [in] Control input \(\mathbf{u}\in\mathbb{R}^{nu}\)
-
virtual std::shared_ptr<ResidualDataAbstract> createData(DataCollectorAbstract *const data) override
Create the joint-effort residual data.
-
template<typename NewScalar>
ResidualModelJointEffortTpl<NewScalar> cast() const Cast the joint-effort residual model to a different scalar type.
It is useful for operations requiring different precision or scalar types.
- Template Parameters:
NewScalar – The new scalar type to cast to.
- Returns:
ResidualModelJointEffortTpl<NewScalar> A residual model with the new scalar type.
-
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 nr_
Residual vector dimension.
-
std::size_t nu_
Control dimension.
-
bool q_dependent_
Label that indicates if the residual function depends on q
-
std::shared_ptr<StateAbstract> state_
State description.
-
bool v_dependent_
Label that indicates if the residual function depends on v
-
typedef MathBaseTpl<Scalar> MathBase