Public Types | |
typedef ActionDataAbstractTpl< Scalar > | ActionDataAbstract |
typedef ActionDataAbstractTpl< ADScalar > | ADActionDataAbstract |
typedef ActionDataCodeGenTpl< ADScalar > | ADActionDataCodeGen |
typedef crocoddyl::ActionModelAbstractTpl< ADScalar > | ADBase |
typedef CppAD::ADFun< CGScalar > | ADFun |
typedef MathBaseTpl< ADScalar >::Matrix3s | ADMatrix3s |
typedef MathBaseTpl< ADScalar >::MatrixXs | ADMatrixXs |
typedef CppAD::AD< CGScalar > | ADScalar |
typedef MathBaseTpl< ADScalar >::Vector3s | ADVector3s |
typedef MathBaseTpl< ADScalar >::VectorXs | ADVectorXs |
typedef ActionModelAbstractTpl< Scalar > | Base |
typedef CppAD::cg::CG< Scalar > | CGScalar |
typedef ActionDataCodeGenTpl< Scalar > | Data |
typedef MathBaseTpl< Scalar >::MatrixXs | MatrixXs |
typedef _Scalar | Scalar |
typedef MathBaseTpl< Scalar >::VectorXs | VectorXs |
![]() | |
typedef ActionDataAbstractTpl< Scalar > | ActionDataAbstract |
typedef MathBaseTpl< Scalar > | MathBase |
typedef StateAbstractTpl< Scalar > | StateAbstract |
typedef MathBase::VectorXs | VectorXs |
Public Member Functions | |
ActionModelCodeGenTpl (std::shared_ptr< ADBase > admodel, std::shared_ptr< Base > model, const std::string &library_name, const std::size_t n_env=0, std::function< void(std::shared_ptr< ADBase >, const Eigen::Ref< const ADVectorXs > &)> fn_record_env=empty_record_env, const std::string &function_name_calc="calc", const std::string &function_name_calcDiff="calcDiff") | |
void | calc (const std::shared_ptr< ActionDataAbstract > &data, const Eigen::Ref< const VectorXs > &x, const Eigen::Ref< const VectorXs > &u) |
void | calcDiff (const std::shared_ptr< ActionDataAbstract > &data, const Eigen::Ref< const VectorXs > &x, const Eigen::Ref< const VectorXs > &u) |
void | collect_calcDiffout () |
void | collect_calcout () |
void | compileLib () |
std::shared_ptr< ActionDataAbstract > | createData () |
Create the action data. | |
bool | existLib () const |
Eigen::DenseIndex | getInputDimension () const |
Dimension of the input vector. | |
void | initLib () |
void | loadLib (const bool generate_if_not_exist=true) |
typedef | PINOCCHIO_EIGEN_PLAIN_ROW_MAJOR_TYPE (ADMatrixXs) RowADMatrixXs |
void | recordCalc () |
void | recordCalcDiff () |
void | set_env (const std::shared_ptr< ActionDataAbstract > &data, const Eigen::Ref< const VectorXs > &env_val) const |
![]() | |
ActionModelAbstractTpl (std::shared_ptr< StateAbstract > state, const std::size_t nu, const std::size_t nr=0, const std::size_t ng=0, const std::size_t nh=0, const std::size_t ng_T=0, const std::size_t nh_T=0) | |
Initialize the action model. | |
virtual void | calc (const std::shared_ptr< ActionDataAbstract > &data, const Eigen::Ref< const VectorXs > &x) |
Compute the total cost value for nodes that depends only on the state. | |
virtual void | calc (const std::shared_ptr< ActionDataAbstract > &data, const Eigen::Ref< const VectorXs > &x, const Eigen::Ref< const VectorXs > &u)=0 |
Compute the next state and cost value. | |
virtual void | calcDiff (const std::shared_ptr< ActionDataAbstract > &data, const Eigen::Ref< const VectorXs > &x) |
Compute the derivatives of the cost functions with respect to the state only. | |
virtual void | calcDiff (const std::shared_ptr< ActionDataAbstract > &data, const Eigen::Ref< const VectorXs > &x, const Eigen::Ref< const VectorXs > &u)=0 |
Compute the derivatives of the dynamics and cost functions. | |
virtual bool | checkData (const std::shared_ptr< ActionDataAbstract > &data) |
Checks that a specific data belongs to this model. | |
virtual const VectorXs & | get_g_lb () const |
Return the lower bound of the inequality constraints. | |
virtual const VectorXs & | get_g_ub () const |
Return the upper bound of the inequality constraints. | |
bool | get_has_control_limits () const |
Indicates if there are defined control limits. | |
virtual std::size_t | get_ng () const |
Return the number of inequality constraints. | |
virtual std::size_t | get_ng_T () const |
Return the number of inequality terminal constraints. | |
virtual std::size_t | get_nh () const |
Return the number of equality constraints. | |
virtual std::size_t | get_nh_T () const |
Return the number of equality terminal constraints. | |
std::size_t | get_nr () const |
Return the dimension of the cost-residual vector. | |
std::size_t | get_nu () const |
Return the dimension of the control input. | |
const std::shared_ptr< StateAbstract > & | get_state () const |
Return the state. | |
const VectorXs & | get_u_lb () const |
Return the control lower bound. | |
const VectorXs & | get_u_ub () const |
Return the control upper bound. | |
virtual void | print (std::ostream &os) const |
Print relevant information of the action model. | |
virtual void | quasiStatic (const std::shared_ptr< ActionDataAbstract > &data, Eigen::Ref< VectorXs > u, const Eigen::Ref< const VectorXs > &x, const std::size_t maxiter=100, const Scalar tol=Scalar(1e-9)) |
Computes the quasic static commands. | |
VectorXs | quasiStatic_x (const std::shared_ptr< ActionDataAbstract > &data, const VectorXs &x, const std::size_t maxiter=100, const Scalar tol=Scalar(1e-9)) |
void | set_g_lb (const VectorXs &g_lb) |
Modify the lower bound of the inequality constraints. | |
void | set_g_ub (const VectorXs &g_ub) |
Modify the upper bound of the inequality constraints. | |
void | set_u_lb (const VectorXs &u_lb) |
Modify the control lower bounds. | |
void | set_u_ub (const VectorXs &u_ub) |
Modify the control upper bounds. | |
Static Public Member Functions | |
static void | empty_record_env (std::shared_ptr< ADBase >, const Eigen::Ref< const ADVectorXs > &) |
Protected Attributes | |
ADFun | ad_calc |
ADFun | ad_calcDiff |
ADVectorXs | ad_calcDiffout |
ADVectorXs | ad_calcout |
std::shared_ptr< ADActionDataAbstract > | ad_data |
std::shared_ptr< ADBase > | ad_model |
ADVectorXs | ad_X |
ADVectorXs | ad_X2 |
bool | build_forward |
Options to generate or not the source code for the evaluation function. | |
std::unique_ptr< CppAD::cg::GenericModel< Scalar > > | calcDiffFun_ptr |
std::unique_ptr< CppAD::cg::ModelCSourceGen< Scalar > > | calcDiffgen_ptr |
std::unique_ptr< CppAD::cg::GenericModel< Scalar > > | calcFun_ptr |
std::unique_ptr< CppAD::cg::ModelCSourceGen< Scalar > > | calcgen_ptr |
std::unique_ptr< CppAD::cg::DynamicLib< Scalar > > | dynamicLib_ptr |
std::unique_ptr< CppAD::cg::DynamicModelLibraryProcessor< Scalar > > | dynamicLibManager_ptr |
std::function< void(std::shared_ptr< ADBase >, const Eigen::Ref< const ADVectorXs > &)> | fn_record_env |
A function that updates the environment variables before starting record. | |
const std::string | function_name_calc |
Name of the function. | |
const std::string | function_name_calcDiff |
bool | has_control_limits_ |
std::unique_ptr< CppAD::cg::ModelLibraryCSourceGen< Scalar > > | libcgen_ptr |
const std::string | library_name |
Name of the library. | |
std::shared_ptr< Base > | model |
< Upper control limits | |
const std::size_t | n_env |
Size of the environment variables. | |
std::size_t | nr_ |
std::size_t | nu_ |
< Dimension of the cost residual | |
std::shared_ptr< StateAbstract > | state_ |
< Control dimension | |
VectorXs | u_lb_ |
< Model of the state | |
VectorXs | u_ub_ |
< Lower control limits | |
![]() | |
VectorXs | g_lb_ |
Lower bound of the inequality constraints. | |
VectorXs | g_ub_ |
Lower bound of the inequality constraints. | |
bool | has_control_limits_ |
std::size_t | ng_ |
Number of inequality constraints. | |
std::size_t | ng_T_ |
Number of inequality terminal constraints. | |
std::size_t | nh_ |
Number of equality constraints. | |
std::size_t | nh_T_ |
Number of equality terminal constraints. | |
std::size_t | nr_ |
Dimension of the cost residual. | |
std::size_t | nu_ |
Control dimension. | |
std::shared_ptr< StateAbstract > | state_ |
Model of the state. | |
VectorXs | u_lb_ |
Lower control limits. | |
VectorXs | u_ub_ |
Upper control limits. | |
VectorXs | unone_ |
Neutral state. | |
Additional Inherited Members | |
![]() | |
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef _Scalar | Scalar |
![]() | |
void | update_has_control_limits () |
Update the status of the control limits (i.e. if there are defined limits) | |
Definition at line 25 of file action-base.hpp.
typedef _Scalar Scalar |
Definition at line 27 of file action-base.hpp.
typedef ActionModelAbstractTpl<Scalar> Base |
Definition at line 28 of file action-base.hpp.
typedef ActionDataCodeGenTpl<Scalar> Data |
Definition at line 29 of file action-base.hpp.
typedef ActionDataAbstractTpl<Scalar> ActionDataAbstract |
Definition at line 30 of file action-base.hpp.
typedef MathBaseTpl<Scalar>::VectorXs VectorXs |
Definition at line 31 of file action-base.hpp.
typedef MathBaseTpl<Scalar>::MatrixXs MatrixXs |
Definition at line 32 of file action-base.hpp.
typedef CppAD::cg::CG<Scalar> CGScalar |
Definition at line 34 of file action-base.hpp.
typedef CppAD::AD<CGScalar> ADScalar |
Definition at line 35 of file action-base.hpp.
typedef crocoddyl::ActionModelAbstractTpl<ADScalar> ADBase |
Definition at line 36 of file action-base.hpp.
typedef ActionDataAbstractTpl<ADScalar> ADActionDataAbstract |
Definition at line 37 of file action-base.hpp.
typedef ActionDataCodeGenTpl<ADScalar> ADActionDataCodeGen |
Definition at line 38 of file action-base.hpp.
typedef MathBaseTpl<ADScalar>::VectorXs ADVectorXs |
Definition at line 39 of file action-base.hpp.
typedef MathBaseTpl<ADScalar>::MatrixXs ADMatrixXs |
Definition at line 40 of file action-base.hpp.
typedef MathBaseTpl<ADScalar>::Vector3s ADVector3s |
Definition at line 41 of file action-base.hpp.
typedef MathBaseTpl<ADScalar>::Matrix3s ADMatrix3s |
Definition at line 42 of file action-base.hpp.
typedef CppAD::ADFun<CGScalar> ADFun |
Definition at line 47 of file action-base.hpp.
|
inline |
Definition at line 49 of file action-base.hpp.
|
inlinestatic |
Definition at line 77 of file action-base.hpp.
|
inline |
Definition at line 80 of file action-base.hpp.
|
inline |
Definition at line 95 of file action-base.hpp.
|
inline |
Definition at line 100 of file action-base.hpp.
|
inline |
Definition at line 121 of file action-base.hpp.
|
inline |
Definition at line 136 of file action-base.hpp.
|
inline |
Definition at line 163 of file action-base.hpp.
|
inline |
Definition at line 171 of file action-base.hpp.
|
inline |
Definition at line 179 of file action-base.hpp.
|
inline |
Definition at line 199 of file action-base.hpp.
|
inline |
Definition at line 205 of file action-base.hpp.
|
inline |
Definition at line 219 of file action-base.hpp.
|
inlinevirtual |
Create the action data.
Reimplemented from ActionModelAbstractTpl< _Scalar >.
Definition at line 232 of file action-base.hpp.
|
inline |
Dimension of the input vector.
Definition at line 237 of file action-base.hpp.
|
protected |
< Upper control limits
Definition at line 248 of file action-base.hpp.
|
protected |
Definition at line 249 of file action-base.hpp.
|
protected |
Definition at line 250 of file action-base.hpp.
|
protected |
Name of the function.
Definition at line 253 of file action-base.hpp.
|
protected |
Definition at line 253 of file action-base.hpp.
|
protected |
Name of the library.
Definition at line 256 of file action-base.hpp.
|
protected |
Size of the environment variables.
Definition at line 259 of file action-base.hpp.
|
protected |
A function that updates the environment variables before starting record.
Definition at line 265 of file action-base.hpp.
|
protected |
Options to generate or not the source code for the evaluation function.
Definition at line 269 of file action-base.hpp.
|
protected |
Definition at line 271 of file action-base.hpp.
|
protected |
Definition at line 271 of file action-base.hpp.
|
protected |
Definition at line 273 of file action-base.hpp.
|
protected |
Definition at line 274 of file action-base.hpp.
|
protected |
Definition at line 276 of file action-base.hpp.
|
protected |
Definition at line 276 of file action-base.hpp.
|
protected |
Definition at line 278 of file action-base.hpp.
|
protected |
Definition at line 279 of file action-base.hpp.
|
protected |
Definition at line 280 of file action-base.hpp.
|
protected |
Definition at line 282 of file action-base.hpp.
|
protected |
Definition at line 283 of file action-base.hpp.
|
protected |
Definition at line 284 of file action-base.hpp.
|
protected |
Definition at line 285 of file action-base.hpp.
|
protected |
Indicates whether any of the control limits is finite
Definition at line 331 of file action-base.hpp.
|
protected |
< Indicates whether any of the control limits
Definition at line 320 of file action-base.hpp.
|
protected |
< Dimension of the cost residual
Definition at line 319 of file action-base.hpp.
|
protected |
< Control dimension
Definition at line 325 of file action-base.hpp.
|
protected |
< Model of the state
Definition at line 329 of file action-base.hpp.
|
protected |
< Lower control limits
Definition at line 330 of file action-base.hpp.