DCM position residual. More...
#include <sobec/crocomplements/residual-dcm-position.hpp>
Public Types | |
typedef MathBaseTpl< Scalar > | MathBase |
typedef ResidualModelAbstractTpl< Scalar > | Base |
typedef ResidualDataDCMPositionTpl< Scalar > | Data |
typedef StateMultibodyTpl< Scalar > | StateMultibody |
typedef ResidualDataAbstractTpl< Scalar > | ResidualDataAbstract |
typedef DataCollectorAbstractTpl< Scalar > | DataCollectorAbstract |
typedef MathBase::Vector3s | Vector3s |
typedef MathBase::VectorXs | VectorXs |
Public Member Functions | |
ResidualModelDCMPositionTpl (boost::shared_ptr< StateMultibody > state, const Vector3s &cref, const double alpha, const std::size_t nu) | |
Initialize the DCM position residual model. More... | |
ResidualModelDCMPositionTpl (boost::shared_ptr< StateMultibody > state, const Vector3s &cref, const double alpha) | |
Initialize the DCM position residual model. More... | |
virtual | ~ResidualModelDCMPositionTpl () |
virtual void | calc (const boost::shared_ptr< ResidualDataAbstract > &data, const Eigen::Ref< const VectorXs > &x, const Eigen::Ref< const VectorXs > &u) |
Compute the DCM position residual. 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 the DCM position residual. More... | |
virtual boost::shared_ptr< ResidualDataAbstract > | createData (DataCollectorAbstract *const data) |
const Vector3s & | get_reference () const |
Return the DCM position reference. More... | |
void | set_reference (const Vector3s &cref) |
Modify the DCM position reference. More... | |
virtual void | print (std::ostream &os) const |
Print relevant information of the dcm-position residual. More... | |
Public Attributes | |
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef _Scalar | Scalar |
DCM position residual.
This residual function defines the CoM tracking as \(\mathbf{r}=\mathbf{c}-\mathbf{c}^*\), where \(\mathbf{c},\mathbf{c}^*\in~\mathbb{R}^3\) are the current and reference DCM position, respectively. Note that the dimension of the residual vector is obtained from 3. Furthermore, the Jacobians of the residual function are computed analytically.
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::ResidualModelDCMPositionTpl< _Scalar >::Base |
typedef ResidualDataDCMPositionTpl<Scalar> sobec::ResidualModelDCMPositionTpl< _Scalar >::Data |
typedef DataCollectorAbstractTpl<Scalar> sobec::ResidualModelDCMPositionTpl< _Scalar >::DataCollectorAbstract |
typedef MathBaseTpl<Scalar> sobec::ResidualModelDCMPositionTpl< _Scalar >::MathBase |
typedef ResidualDataAbstractTpl<Scalar> sobec::ResidualModelDCMPositionTpl< _Scalar >::ResidualDataAbstract |
typedef StateMultibodyTpl<Scalar> sobec::ResidualModelDCMPositionTpl< _Scalar >::StateMultibody |
typedef MathBase::Vector3s sobec::ResidualModelDCMPositionTpl< _Scalar >::Vector3s |
typedef MathBase::VectorXs sobec::ResidualModelDCMPositionTpl< _Scalar >::VectorXs |
sobec::ResidualModelDCMPositionTpl< Scalar >::ResidualModelDCMPositionTpl | ( | boost::shared_ptr< StateMultibody > | state, |
const Vector3s & | cref, | ||
const double | alpha, | ||
const std::size_t | nu | ||
) |
Initialize the DCM position residual model.
[in] | state | State of the multibody system |
[in] | cref | Reference CoM position |
[in] | nu | Dimension of the control vector |
sobec::ResidualModelDCMPositionTpl< Scalar >::ResidualModelDCMPositionTpl | ( | boost::shared_ptr< StateMultibody > | state, |
const Vector3s & | cref, | ||
const double | alpha | ||
) |
Initialize the DCM position residual model.
The default nu
value is obtained from StateAbstractTpl::get_nv()
.
[in] | state | State of the multibody system |
[in] | cref | Reference CoM position |
|
virtual |
|
virtual |
Compute the DCM position residual.
[in] | data | DCM position 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 the DCM position residual.
[in] | data | DCM position residual data |
[in] | x | State point \(\mathbf{x}\in\mathbb{R}^{ndx}\) |
[in] | u | Control input \(\mathbf{u}\in\mathbb{R}^{nu}\) |
|
virtual |
const MathBaseTpl< Scalar >::Vector3s & sobec::ResidualModelDCMPositionTpl< Scalar >::get_reference |
Return the DCM position reference.
|
virtual |
Print relevant information of the dcm-position residual.
[out] | os | Output stream object |
void sobec::ResidualModelDCMPositionTpl< Scalar >::set_reference | ( | const Vector3s & | cref | ) |
Modify the DCM position reference.
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef _Scalar sobec::ResidualModelDCMPositionTpl< _Scalar >::Scalar |