ControlParametrizationModelPolyZeroTpl (const std::size_t nw) Initialize the poly-zero control parametrization. virtual void calc (const std::shared_ptr< ControlParametrizationDataAbstract > &data, const Scalar t, const Eigen::Ref< const VectorXs > &u) const override 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 override Get the value of the Jacobian of the control with respect to the parameters. template<typename NewScalar>ControlParametrizationModelPolyZeroTpl < NewScalar > cast () constvirtual 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 override Map the specified bounds from the control space to the parameter space. virtual std::shared_ptr< ControlParametrizationDataAbstract > createData () override Create the control-parametrization data. EIGEN_MAKE_ALIGNED_OPERATOR_NEW CROCODDYL_DERIVED_CAST (ControlParametrizationModelBase , ControlParametrizationModelPolyZeroTpl ) typedef _Scalar Scalarvirtual void multiplyByJacobian (const std::shared_ptr< ControlParametrizationDataAbstract > &data, const Eigen::Ref< const MatrixXs > &A, Eigen::Ref< MatrixXs > out, const AssignmentOp=setto) const override 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=setto) const override 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 override Get a value of the control parameters such that the control at the specified time t is equal to the specified value u. virtual void print (std::ostream &os) const override Print relevant information of the control model. ControlParametrizationModelAbstractTpl (const std::size_t nw, const std::size_t nu) Initialize the control dimensions. 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) constvirtual MatrixXs multiplyJacobianTransposeBy_J (const std::shared_ptr< ControlParametrizationDataAbstract > &data, const Eigen::Ref< const MatrixXs > &A, const AssignmentOp op=setto) const
template<typename _Scalar> class crocoddyl::ControlParametrizationModelPolyZeroTpl< _Scalar >
A polynomial function of time of degree zero, that is a constant.
The main computations are carrying out in calc , multiplyByJacobian and multiplyJacobianTransposeBy , where the former computes control input from a set of control parameters 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 a the control input, i.e., it is the dual of calc . Note that multiplyByJacobian and multiplyJacobianTransposeBy requires to run calc first.
See also ControlParametrizationAbstractTpl , calc() , calcDiff() , createData() , params , multiplyByJacobian , multiplyJacobianTransposeBy Definition at line 36 of file poly-zero.hpp .