crocoddyl  1.3.0
Contact RObot COntrol by Differential DYnamic programming Library (Crocoddyl)
DifferentialActionModelAbstractTpl< _Scalar > Class Template Referenceabstract

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>

Inheritance diagram for DifferentialActionModelAbstractTpl< _Scalar >:

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< DifferentialActionDataAbstractcreateData ()
 
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< StateAbstractstate_
 Model of the state.
 
VectorXs u_lb_
 Lower control limits.
 
VectorXs u_ub_
 Upper control limits.
 
VectorXs unone_
 Neutral state.
 

Detailed Description

template<typename _Scalar>
class crocoddyl::DifferentialActionModelAbstractTpl< _Scalar >

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.


The documentation for this class was generated from the following file: