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 Member Functions | |
ControlParametrizationModelNumDiffTpl (boost::shared_ptr< Base > model) | |
Construct a new ControlParametrizationModelNumDiff object. More... | |
void | calc (const boost::shared_ptr< ControlParametrizationDataAbstract > &data, const Scalar t, const Eigen::Ref< const VectorXs > &u) const |
Get the value of the control at the specified time. More... | |
void | calcDiff (const boost::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. More... | |
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. More... | |
virtual boost::shared_ptr< ControlParametrizationDataAbstract > | createData () |
Create the control-parametrization data. More... | |
const Scalar | get_disturbance () const |
Get the disturbance_ object. More... | |
const boost::shared_ptr< Base > & | get_model () const |
Get the model_ object. More... | |
void | multiplyByJacobian (const boost::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) More... | |
void | multiplyJacobianTransposeBy (const boost::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. More... | |
void | params (const boost::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. More... | |
void | set_disturbance (const Scalar disturbance) |
Set the disturbance_ object. More... | |
Public Attributes | |
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef _Scalar | Scalar |
Protected Attributes | |
std::size_t | nu_ |
Control parameters dimension. | |
std::size_t | nw_ |
Control dimension. | |
|
explicit |
Construct a new ControlParametrizationModelNumDiff object.
model |
void calc | ( | const boost::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 boost::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.
void params | ( | const boost::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 |
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.
[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 |
void multiplyByJacobian | ( | const boost::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 boost::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 boost::shared_ptr<Base>& get_model | ( | ) | const |
Get the model_ object.
const Scalar get_disturbance | ( | ) | const |
Get the disturbance_ object.
void set_disturbance | ( | const Scalar | disturbance | ) |
Set the disturbance_ object.
disturbance | is the value used to find the numerical derivative |