This class DifferentialActionModelAbstract represents a first-order ODE, i.e.
\[ \mathbf{\dot{v}} = \mathbf{f}(\mathbf{q}, \mathbf{v}, \boldsymbol{\tau}) \]
where \( xout = \mathbf{\dot{v}} \) and represents the acceleration of the system. Note that Jacobians Fx and Fu in the DifferentialActionDataAbstract are in \( \mathbb{R}^{nv\times ndx} \) and \( \mathbb{R}^{nv\times nu} \), respectively. More...
#include <crocoddyl/core/diff-action-base.hpp>
Public Types | |
typedef DifferentialActionDataAbstractTpl< Scalar > | DifferentialActionDataAbstract |
typedef MathBaseTpl< Scalar > | MathBase |
typedef MathBase::MatrixXs | MatrixXs |
typedef StateAbstractTpl< Scalar > | StateAbstract |
typedef MathBase::VectorXs | VectorXs |
Public Member Functions | |
DifferentialActionModelAbstractTpl (boost::shared_ptr< StateAbstract > state, const std::size_t &nu, const std::size_t &nr=0) | |
virtual void | calc (const boost::shared_ptr< DifferentialActionDataAbstract > &data, const Eigen::Ref< const VectorXs > &x, const Eigen::Ref< const VectorXs > &u)=0 |
void | calc (const boost::shared_ptr< DifferentialActionDataAbstract > &data, const Eigen::Ref< const VectorXs > &x) |
virtual void | calcDiff (const boost::shared_ptr< DifferentialActionDataAbstract > &data, const Eigen::Ref< const VectorXs > &x, const Eigen::Ref< const VectorXs > &u)=0 |
void | calcDiff (const boost::shared_ptr< DifferentialActionDataAbstract > &data, const Eigen::Ref< const VectorXs > &x) |
virtual boost::shared_ptr< DifferentialActionDataAbstract > | createData () |
bool const & | get_has_control_limits () const |
const std::size_t & | get_nr () const |
const std::size_t & | get_nu () const |
const boost::shared_ptr< StateAbstract > & | get_state () const |
const VectorXs & | get_u_lb () const |
const VectorXs & | get_u_ub () const |
void | set_u_lb (const VectorXs &u_lb) |
void | set_u_ub (const VectorXs &u_ub) |
Public Attributes | |
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef _Scalar | Scalar |
Protected Member Functions | |
void | update_has_control_limits () |
Protected Attributes | |
bool | has_control_limits_ |
Indicates whether any of the control limits is finite. | |
std::size_t | nr_ |
Dimension of the cost residual. | |
std::size_t | nu_ |
Control dimension. | |
boost::shared_ptr< StateAbstract > | state_ |
Model of the state. | |
VectorXs | u_lb_ |
Lower control limits. | |
VectorXs | u_ub_ |
Upper control limits. | |
VectorXs | unone_ |
Neutral state. | |
This class DifferentialActionModelAbstract represents a first-order ODE, i.e.
\[ \mathbf{\dot{v}} = \mathbf{f}(\mathbf{q}, \mathbf{v}, \boldsymbol{\tau}) \]
where \( xout = \mathbf{\dot{v}} \) and represents the acceleration of the system. Note that Jacobians Fx and Fu in the DifferentialActionDataAbstract are in \( \mathbb{R}^{nv\times ndx} \) and \( \mathbb{R}^{nv\times nu} \), respectively.
Then we use the acceleration to integrate the system, and as consequence we obtain:
\[ \mathbf{\dot{x}} = (\mathbf{v}, \mathbf{\dot{v}}) = \mathbf{f}(\mathbf{x},\mathbf{u}) \]
where this \( f \) function is different to the other one. So \( xout \) is interpreted here as \( vdout \) or \( aout \).
Definition at line 43 of file diff-action-base.hpp.