Abstract class for an integrated action model. More...
#include <crocoddyl/core/integ-action-base.hpp>
Public Types | |
typedef ActionDataAbstractTpl< Scalar > | ActionDataAbstract |
typedef ActionModelAbstractTpl< Scalar > | Base |
typedef ControlParametrizationModelAbstractTpl< Scalar > | ControlParametrizationModelAbstract |
typedef IntegratedActionDataAbstractTpl< Scalar > | Data |
typedef DifferentialActionModelAbstractTpl< Scalar > | DifferentialActionModelAbstract |
typedef MathBaseTpl< Scalar > | MathBase |
typedef MathBase::MatrixXs | MatrixXs |
typedef MathBase::VectorXs | VectorXs |
Public Member Functions | |
IntegratedActionModelAbstractTpl (boost::shared_ptr< DifferentialActionModelAbstract > model, boost::shared_ptr< ControlParametrizationModelAbstract > control, const Scalar time_step=Scalar(1e-3), const bool with_cost_residual=true) | |
Initialize the integrator. More... | |
IntegratedActionModelAbstractTpl (boost::shared_ptr< DifferentialActionModelAbstract > model, const Scalar time_step=Scalar(1e-3), const bool with_cost_residual=true) | |
Initialize the integrator. More... | |
virtual boost::shared_ptr< ActionDataAbstract > | createData () |
Create the integrator data. More... | |
DEPRECATED ("The DifferentialActionModel should be set at construction time", void set_differential(boost::shared_ptr< DifferentialActionModelAbstract > model)) | |
const boost::shared_ptr< ControlParametrizationModelAbstract > & | get_control () const |
Return the control parametrization model associated to this integrated action model. | |
const boost::shared_ptr< DifferentialActionModelAbstract > & | get_differential () const |
Return the differential action model associated to this integrated action model. | |
const Scalar | get_dt () const |
Return the time step used for the integration. | |
void | set_dt (const Scalar dt) |
Set the time step for the integration. | |
Public Attributes | |
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef _Scalar | Scalar |
Protected Member Functions | |
void | init () |
< Neutral state | |
Protected Attributes | |
boost::shared_ptr< ControlParametrizationModelAbstract > | control_ |
Model of the control parametrization. | |
boost::shared_ptr< DifferentialActionModelAbstract > | differential_ |
Differential action model that is integrated. | |
bool | has_control_limits_ |
Indicates whether any of the control limits is finite. | |
std::size_t | nr_ |
< Indicates whether any of the control limits are active | |
std::size_t | nu_ |
< Dimension of the cost residual | |
boost::shared_ptr< StateAbstract > | state_ |
< Dimension of the control | |
Scalar | time_step2_ |
Square of the time step used for integration. | |
Scalar | time_step_ |
Time step used for integration. | |
VectorXs | u_lb_ |
< Model of the state | |
VectorXs | u_ub_ |
< Lower control limits | |
VectorXs | unone_ |
< Upper control limits | |
bool | with_cost_residual_ |
Flag indicating whether a cost residual is used. | |
Abstract class for an integrated action model.
An integrated action model is a special kind of action model that is obtained by applying a numerical integration scheme to a differential (i.e., continuous time) action model. Different integration schemes can be implemented inheriting from this base class.
The numerical integration introduces also the possibility to parametrize the control trajectory inside an integration step, for instance using polynomials. This requires introducing some notation to clarify the difference between the control inputs of the differential model and the control inputs to the integrated model. We have decided to use \(\mathbf{w}\) to refer to the control inputs of the differential model and \(\mathbf{u}\) for the control inputs of the integrated action model.
calc()
, calcDiff()
, createData()
IntegratedActionModelAbstractTpl | ( | boost::shared_ptr< DifferentialActionModelAbstract > | model, |
boost::shared_ptr< ControlParametrizationModelAbstract > | control, | ||
const Scalar | time_step = Scalar(1e-3) , |
||
const bool | with_cost_residual = true |
||
) |
Initialize the integrator.
[in] | model | Differential action model |
[in] | control | Control parametrization |
[in] | time_step | Step time (default 1e-3) |
[in] | with_cost_residual | Compute cost residual (default true) |
IntegratedActionModelAbstractTpl | ( | boost::shared_ptr< DifferentialActionModelAbstract > | model, |
const Scalar | time_step = Scalar(1e-3) , |
||
const bool | with_cost_residual = true |
||
) |
Initialize the integrator.
This initialization uses ControlParametrizationPolyZeroTpl
for the control parametrization.
[in] | model | Differential action model |
[in] | time_step | Step time (default 1e-3) |
[in] | with_cost_residual | Compute cost residual (default true) |
|
virtual |
Create the integrator data.