COP residual. More...
#include <sobec/crocomplements/residual-cop.hpp>
Public Types | |
typedef MathBaseTpl< Scalar > | MathBase |
typedef ResidualModelAbstractTpl< Scalar > | Base |
typedef ResidualDataCenterOfPressureTpl< Scalar > | Data |
typedef ResidualDataAbstractTpl< Scalar > | ResidualDataAbstract |
typedef StateMultibodyTpl< Scalar > | StateMultibody |
typedef DataCollectorAbstractTpl< Scalar > | DataCollectorAbstract |
typedef MathBase::VectorXs | VectorXs |
typedef MathBase::Vector3s | Vector3s |
typedef MathBase::MatrixXs | MatrixXs |
typedef pinocchio::ForceTpl< Scalar > | Force |
Public Member Functions | |
ResidualModelCenterOfPressureTpl (boost::shared_ptr< StateMultibody > state, const pinocchio::FrameIndex contact_id, const std::size_t nu) | |
Initialize the residual model. More... | |
virtual | ~ResidualModelCenterOfPressureTpl () |
virtual void | calc (const boost::shared_ptr< ResidualDataAbstract > &data, const Eigen::Ref< const VectorXs > &x, const Eigen::Ref< const VectorXs > &u) |
Compute the cop. More... | |
virtual void | calcDiff (const boost::shared_ptr< ResidualDataAbstract > &data, const Eigen::Ref< const VectorXs > &x, const Eigen::Ref< const VectorXs > &u) |
Compute the derivatives of residual. More... | |
virtual boost::shared_ptr< ResidualDataAbstract > | createData (DataCollectorAbstract *const data) |
pinocchio::FrameIndex | get_contact_id () const |
Return the reference contact id. More... | |
void | set_contact_id (const pinocchio::FrameIndex id) |
Set the reference contact id. More... | |
Public Attributes | |
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef _Scalar | Scalar |
COP residual.
residual = [ tau_y/f_z, -tau_x/fx ]
As described in ResidualModelAbstractTpl()
, the residual value and its Jacobians are calculated by calc
and calcDiff
, respectively.
ResidualModelAbstractTpl
, calc()
, calcDiff()
, createData()
typedef ResidualModelAbstractTpl<Scalar> sobec::ResidualModelCenterOfPressureTpl< _Scalar >::Base |
typedef ResidualDataCenterOfPressureTpl<Scalar> sobec::ResidualModelCenterOfPressureTpl< _Scalar >::Data |
typedef DataCollectorAbstractTpl<Scalar> sobec::ResidualModelCenterOfPressureTpl< _Scalar >::DataCollectorAbstract |
typedef pinocchio::ForceTpl<Scalar> sobec::ResidualModelCenterOfPressureTpl< _Scalar >::Force |
typedef MathBaseTpl<Scalar> sobec::ResidualModelCenterOfPressureTpl< _Scalar >::MathBase |
typedef MathBase::MatrixXs sobec::ResidualModelCenterOfPressureTpl< _Scalar >::MatrixXs |
typedef ResidualDataAbstractTpl<Scalar> sobec::ResidualModelCenterOfPressureTpl< _Scalar >::ResidualDataAbstract |
typedef StateMultibodyTpl<Scalar> sobec::ResidualModelCenterOfPressureTpl< _Scalar >::StateMultibody |
typedef MathBase::Vector3s sobec::ResidualModelCenterOfPressureTpl< _Scalar >::Vector3s |
typedef MathBase::VectorXs sobec::ResidualModelCenterOfPressureTpl< _Scalar >::VectorXs |
sobec::ResidualModelCenterOfPressureTpl< Scalar >::ResidualModelCenterOfPressureTpl | ( | boost::shared_ptr< StateMultibody > | state, |
const pinocchio::FrameIndex | contact_id, | ||
const std::size_t | nu | ||
) |
Initialize the residual model.
[in] | state | State of the multibody system |
[in] | nu | Dimension of the control vector |
[in] | geom_model | Pinocchio geometry model containing the collision pair |
[in] | pair_id | Index of the collision pair in the geometry model |
[in] | joint_id | Index of the nearest joint on which the collision link is attached |
|
virtual |
|
virtual |
Compute the cop.
[in] | data | residual data |
[in] | x | State point \(\mathbf{x}\in\mathbb{R}^{ndx}\) |
[in] | u | Control input \(\mathbf{u}\in\mathbb{R}^{nu}\) |
|
virtual |
Compute the derivatives of residual.
[in] | data | residual data |
[in] | x | State point \(\mathbf{x}\in\mathbb{R}^{ndx}\) |
[in] | u | Control input \(\mathbf{u}\in\mathbb{R}^{nu}\) |
|
virtual |
|
inline |
Return the reference contact id.
|
inline |
Set the reference contact id.
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef _Scalar sobec::ResidualModelCenterOfPressureTpl< _Scalar >::Scalar |