crocoddyl  1.9.0
Contact RObot COntrol by Differential DYnamic programming Library (Crocoddyl)
StateNumDiffTpl< _Scalar > Class Template Reference

Public Types

typedef StateAbstractTpl< _Scalar > Base
 
typedef MathBaseTpl< Scalar > MathBase
 
typedef MathBase::MatrixXs MatrixXs
 
typedef MathBase::VectorXs VectorXs
 

Public Member Functions

 StateNumDiffTpl (boost::shared_ptr< Base > state)
 
virtual void diff (const Eigen::Ref< const VectorXs > &x0, const Eigen::Ref< const VectorXs > &x1, Eigen::Ref< VectorXs > dxout) const
 
const Scalar get_disturbance () const
 
virtual void integrate (const Eigen::Ref< const VectorXs > &x, const Eigen::Ref< const VectorXs > &dx, Eigen::Ref< VectorXs > xout) const
 
virtual void Jdiff (const Eigen::Ref< const VectorXs > &x0, const Eigen::Ref< const VectorXs > &x1, Eigen::Ref< MatrixXs > Jfirst, Eigen::Ref< MatrixXs > Jsecond, Jcomponent firstsecond=both) const
 This computes the Jacobian of the diff method by finite differentiation: More...
 
virtual void Jintegrate (const Eigen::Ref< const VectorXs > &x, const Eigen::Ref< const VectorXs > &dx, Eigen::Ref< MatrixXs > Jfirst, Eigen::Ref< MatrixXs > Jsecond, const Jcomponent firstsecond=both, const AssignmentOp op=setto) const
 This computes the Jacobian of the integrate method by finite differentiation: More...
 
virtual void JintegrateTransport (const Eigen::Ref< const VectorXs > &x, const Eigen::Ref< const VectorXs > &dx, Eigen::Ref< MatrixXs > Jin, const Jcomponent firstsecond=both) const
 
virtual VectorXs rand () const
 
void set_disturbance (const Scalar disturbance)
 
virtual VectorXs zero () const
 

Public Attributes

EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef _Scalar Scalar
 

Protected Attributes

bool has_limits_
 Indicates whether any of the state limits is finite.
 
VectorXs lb_
 Lower state limits.
 
std::size_t ndx_
 State rate dimension.
 
std::size_t nq_
 Configuration dimension.
 
std::size_t nv_
 Velocity dimension.
 
std::size_t nx_
 State dimension.
 
VectorXs ub_
 Upper state limits.
 

Detailed Description

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

Definition at line 235 of file fwd.hpp.

Member Function Documentation

◆ Jdiff()

virtual void Jdiff ( const Eigen::Ref< const VectorXs > &  x0,
const Eigen::Ref< const VectorXs > &  x1,
Eigen::Ref< MatrixXs >  Jfirst,
Eigen::Ref< MatrixXs >  Jsecond,
Jcomponent  firstsecond = both 
) const
virtual

This computes the Jacobian of the diff method by finite differentiation:

\begin{equation} Jfirst[:,k] = diff(int(x_1, dx_dist), x_2) - diff(x_1, x_2)/disturbance \end{equation}

and

\begin{equation} Jsecond[:,k] = diff(x_1, int(x_2, dx_dist)) - diff(x_1, x_2)/disturbance \end{equation}

Parameters
Jfirst
Jsecond
firstsecond

◆ Jintegrate()

virtual void Jintegrate ( const Eigen::Ref< const VectorXs > &  x,
const Eigen::Ref< const VectorXs > &  dx,
Eigen::Ref< MatrixXs >  Jfirst,
Eigen::Ref< MatrixXs >  Jsecond,
const Jcomponent  firstsecond = both,
const AssignmentOp  op = setto 
) const
virtual

This computes the Jacobian of the integrate method by finite differentiation:

\begin{equation} Jfirst[:,k] = diff( int(x, d_x), int( int(x, dx_dist), dx) )/disturbance \end{equation}

and

\begin{equation} Jsecond[:,k] = diff( int(x, d_x), int( x, dx + dx_dist) )/disturbance \end{equation}

Parameters
Jfirst
Jsecond
firstsecond

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