|
| | ControlParametrizationModelPolyOneTpl (const std::size_t nw) |
| | Initialize the poly-one control parametrization.
|
| |
| virtual void | calc (const std::shared_ptr< ControlParametrizationDataAbstract > &data, const Scalar t, const Eigen::Ref< const VectorXs > &u) const |
| | Get the value of the control at the specified time.
|
| |
| virtual void | calcDiff (const std::shared_ptr< ControlParametrizationDataAbstract > &data, const Scalar t, const Eigen::Ref< const VectorXs > &u) const |
| | Get the value of the Jacobian of the control with respect to the parameters.
|
| |
| virtual void | convertBounds (const Eigen::Ref< const VectorXs > &w_lb, const Eigen::Ref< const VectorXs > &w_ub, Eigen::Ref< VectorXs > u_lb, Eigen::Ref< VectorXs > u_ub) const |
| | Map the specified bounds from the control space to the parameter space.
|
| |
| virtual std::shared_ptr< ControlParametrizationDataAbstract > | createData () |
| | Create the control-parametrization data.
|
| |
| virtual void | multiplyByJacobian (const std::shared_ptr< ControlParametrizationDataAbstract > &data, const Eigen::Ref< const MatrixXs > &A, Eigen::Ref< MatrixXs > out, const AssignmentOp op=setto) const |
| | Compute the product between a specified matrix and the Jacobian of the control (with respect to the parameters)
|
| |
| virtual void | multiplyJacobianTransposeBy (const std::shared_ptr< ControlParametrizationDataAbstract > &data, const Eigen::Ref< const MatrixXs > &A, Eigen::Ref< MatrixXs > out, const AssignmentOp op=setto) const |
| | Compute the product between the transposed Jacobian of the control (with respect to the parameters) and a specified matrix.
|
| |
| virtual void | params (const std::shared_ptr< ControlParametrizationDataAbstract > &data, const Scalar t, const Eigen::Ref< const VectorXs > &w) const |
| | Get a value of the control parameters such that the control at the specified time t is equal to the specified value w.
|
| |
| | ControlParametrizationModelAbstractTpl (const std::size_t nw, const std::size_t nu) |
| | Initialize the control dimensions.
|
| |
| virtual void | calc (const std::shared_ptr< ControlParametrizationDataAbstract > &data, const Scalar t, const Eigen::Ref< const VectorXs > &u) const =0 |
| | Get the value of the control at the specified time.
|
| |
| virtual void | calcDiff (const std::shared_ptr< ControlParametrizationDataAbstract > &data, const Scalar t, const Eigen::Ref< const VectorXs > &u) const =0 |
| | Get the value of the Jacobian of the control with respect to the parameters.
|
| |
|
virtual bool | checkData (const std::shared_ptr< ControlParametrizationDataAbstract > &data) |
| | Checks that a specific data belongs to this model.
|
| |
|
std::size_t | get_nu () const |
| | Return the dimension of control parameters.
|
| |
|
std::size_t | get_nw () const |
| | Return the dimension of the control inputs.
|
| |
|
virtual MatrixXs | multiplyByJacobian_J (const std::shared_ptr< ControlParametrizationDataAbstract > &data, const Eigen::Ref< const MatrixXs > &A, const AssignmentOp op=setto) const |
| |
|
virtual MatrixXs | multiplyJacobianTransposeBy_J (const std::shared_ptr< ControlParametrizationDataAbstract > &data, const Eigen::Ref< const MatrixXs > &A, const AssignmentOp op=setto) const |
| |
| virtual void | params (const std::shared_ptr< ControlParametrizationDataAbstract > &data, const Scalar t, const Eigen::Ref< const VectorXs > &w) const =0 |
| | Update the control parameters u for a specified time t given the control input w.
|
| |
template<typename _Scalar>
class crocoddyl::ControlParametrizationModelPolyOneTpl< _Scalar >
A polynomial function of time of degree one, that is a linear function.
The size of the parameters \(\mathbf{u}\) is twice the size of the control input \(\mathbf{w}\). The first half of \(\mathbf{u}\) represents the value of w at time 0. The second half of \(\mathbf{u}\) represents the value of \(\mathbf{w}\) at time 0.5.
The main computations are carried out in calc, multiplyByJacobian and multiplyJacobianTransposeBy, where the former computes control input \(\mathbf{w}\in\mathbb{R}^{nw}\) from a set of control parameters \(\mathbf{u}\in\mathbb{R}^{nu}\) where nw and nu represent the dimension of the control inputs and parameters, respectively, and the latter defines useful operations across the Jacobian of the control-parametrization model. Finally, params allows us to obtain the control parameters from the control input, i.e., it is the inverse of calc. Note that multiplyByJacobian and multiplyJacobianTransposeBy requires to run calc first.
- See also
ControlParametrizationAbstractTpl, calc(), calcDiff(), createData(), params, multiplyByJacobian, multiplyJacobianTransposeBy
Definition at line 42 of file poly-one.hpp.