Public Types | |
| typedef ControlParametrizationModelAbstractTpl< _Scalar > | Base |
| typedef ControlParametrizationDataAbstractTpl< _Scalar > | ControlParametrizationDataAbstract |
| typedef ControlParametrizationDataNumDiffTpl< _Scalar > | Data |
| typedef MathBaseTpl< Scalar > | MathBase |
| typedef MathBase::MatrixXs | MatrixXs |
| typedef MathBase::VectorXs | VectorXs |
Public Types inherited from ControlParametrizationModelAbstractTpl< _Scalar > | |
| typedef ControlParametrizationDataAbstractTpl< Scalar > | ControlParametrizationDataAbstract |
| typedef MathBaseTpl< Scalar > | MathBase |
| typedef MathBase::MatrixXs | MatrixXs |
| typedef MathBase::VectorXs | VectorXs |
Public Member Functions | |
| ControlParametrizationModelNumDiffTpl (std::shared_ptr< Base > model) | |
| Construct a new ControlParametrizationModelNumDiff object. | |
| 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. | |
| 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. | |
| 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 |
| Convert the bounds on the control to bounds on the control parameters. | |
| virtual std::shared_ptr< ControlParametrizationDataAbstract > | createData () |
| Create the control-parametrization data. | |
| const Scalar | get_disturbance () const |
| Return the disturbance constant used in the numerical differentiation routine. | |
| const std::shared_ptr< Base > & | get_model () const |
| Get the model_ object. | |
| void | multiplyByJacobian (const std::shared_ptr< ControlParametrizationDataAbstract > &data, const Eigen::Ref< const MatrixXs > &A, Eigen::Ref< MatrixXs > out, const AssignmentOp=setto) const |
| Compute the product between a specified matrix and the Jacobian of the control (with respect to the parameters) | |
| void | multiplyJacobianTransposeBy (const std::shared_ptr< ControlParametrizationDataAbstract > &data, const Eigen::Ref< const MatrixXs > &A, Eigen::Ref< MatrixXs > out, const AssignmentOp=setto) const |
| Compute the product between the transposed Jacobian of the control (with respect to the parameters) and a specified matrix. | |
| 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 u. | |
| void | set_disturbance (const Scalar disturbance) |
| Modify the disturbance constant used in the numerical differentiation routine. | |
Public Member Functions inherited from ControlParametrizationModelAbstractTpl< _Scalar > | |
| 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 void | multiplyByJacobian (const std::shared_ptr< ControlParametrizationDataAbstract > &data, const Eigen::Ref< const MatrixXs > &A, Eigen::Ref< MatrixXs > out, const AssignmentOp op=setto) const =0 |
| Compute the product between the given matrix A and the derivative of the control input with respect to the control parameters (i.e., A*dw_du). | |
| virtual MatrixXs | multiplyByJacobian_J (const std::shared_ptr< ControlParametrizationDataAbstract > &data, const Eigen::Ref< const MatrixXs > &A, const AssignmentOp op=setto) const |
| virtual void | multiplyJacobianTransposeBy (const std::shared_ptr< ControlParametrizationDataAbstract > &data, const Eigen::Ref< const MatrixXs > &A, Eigen::Ref< MatrixXs > out, const AssignmentOp op=setto) const =0 |
| Compute the product between the transpose of the derivative of the control input with respect to the control parameters and a given matrix A (i.e., dw_du^T*A) | |
| 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. | |
Public Attributes | |
| EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef _Scalar | Scalar |
Public Attributes inherited from ControlParametrizationModelAbstractTpl< _Scalar > | |
| EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef _Scalar | Scalar |
Protected Attributes | |
| std::size_t | nu_ |
| Control parameters dimension. | |
| std::size_t | nw_ |
| Control dimension. | |
Protected Attributes inherited from ControlParametrizationModelAbstractTpl< _Scalar > | |
| std::size_t | nu_ |
| Control parameters dimension. | |
| std::size_t | nw_ |
| Control dimension. | |
Definition at line 25 of file control.hpp.
| typedef MathBaseTpl<Scalar> MathBase |
Definition at line 31 of file control.hpp.
| typedef ControlParametrizationModelAbstractTpl<_Scalar> Base |
Definition at line 32 of file control.hpp.
| typedef ControlParametrizationDataNumDiffTpl<_Scalar> Data |
Definition at line 33 of file control.hpp.
| typedef ControlParametrizationDataAbstractTpl<_Scalar> ControlParametrizationDataAbstract |
Definition at line 35 of file control.hpp.
| typedef MathBase::VectorXs VectorXs |
Definition at line 36 of file control.hpp.
| typedef MathBase::MatrixXs MatrixXs |
Definition at line 37 of file control.hpp.
|
explicit |
Construct a new ControlParametrizationModelNumDiff object.
| model |
| 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.
| [in] | data | Control-parametrization numdiff data |
| [in] | t | Time in [0,1] |
| [in] | u | Control parameters |
| 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.
| [in] | data | Control-parametrization numdiff data |
| [in] | t | Time in [0,1] |
| [in] | u | Control parameters |
|
virtual |
Create the control-parametrization data.
Reimplemented from ControlParametrizationModelAbstractTpl< _Scalar >.
| 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 u.
| [in] | data | Control-parametrization numdiff data |
| [in] | t | Time in [0,1] |
| [in] | w | Control values |
|
virtual |
Convert the bounds on the control to bounds on the control parameters.
| [in] | w_lb | Control lower bound |
| [in] | w_ub | Control upper bound |
| [in] | u_lb | Control parameter lower bound |
| [in] | u_ub | Control parameter upper bound |
Implements ControlParametrizationModelAbstractTpl< _Scalar >.
| void multiplyByJacobian | ( | const std::shared_ptr< ControlParametrizationDataAbstract > & | data, |
| const Eigen::Ref< const MatrixXs > & | A, | ||
| Eigen::Ref< MatrixXs > | out, | ||
| const AssignmentOp | = setto |
||
| ) | const |
Compute the product between a specified matrix and the Jacobian of the control (with respect to the parameters)
| [in] | data | Control-parametrization numdiff data |
| [in] | A | A matrix to multiply times the Jacobian |
| [out] | out | Product between the matrix A and the Jacobian of the control with respect to the parameters |
| [in] | op | Assignment operator which sets, adds, or removes the given results |
| void multiplyJacobianTransposeBy | ( | const std::shared_ptr< ControlParametrizationDataAbstract > & | data, |
| const Eigen::Ref< const MatrixXs > & | A, | ||
| Eigen::Ref< MatrixXs > | out, | ||
| const AssignmentOp | = setto |
||
| ) | const |
Compute the product between the transposed Jacobian of the control (with respect to the parameters) and a specified matrix.
| [in] | data | Control-parametrization numdiff data |
| [in] | A | A matrix to multiply times the Jacobian |
| [out] | out | Product between the transposed Jacobian of the control with respect to the parameters and the matrix A |
| [in] | op | Assignment operator which sets, adds, or removes the given results |
| const std::shared_ptr< Base > & get_model | ( | ) | const |
Get the model_ object.
| EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef _Scalar Scalar |
Definition at line 30 of file control.hpp.
|
protected |
Control parameters dimension.
Definition at line 186 of file control-base.hpp.
|
protected |
Control dimension.
Definition at line 185 of file control-base.hpp.