|
| ResidualModelFrameRotationTpl (boost::shared_ptr< StateMultibody > state, const pinocchio::FrameIndex id, const Matrix3s &Rref) |
| Initialize the frame rotation residual model. More...
|
|
| ResidualModelFrameRotationTpl (boost::shared_ptr< StateMultibody > state, const pinocchio::FrameIndex id, const Matrix3s &Rref, const std::size_t nu) |
| Initialize the frame rotation residual model. More...
|
|
virtual void | calc (const boost::shared_ptr< ResidualDataAbstract > &data, const Eigen::Ref< const VectorXs > &x, const Eigen::Ref< const VectorXs > &u) |
| Compute the frame rotation 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 frame rotation residual. More...
|
|
virtual boost::shared_ptr< ResidualDataAbstract > | createData (DataCollectorAbstract *const data) |
| Create the frame rotation residual data.
|
|
pinocchio::FrameIndex | get_id () const |
| Return the reference frame id.
|
|
const Matrix3s & | get_reference () const |
| Return the reference frame rotation.
|
|
virtual void | print (std::ostream &os) const |
| Print relevant information of the frame-rotation residual. More...
|
|
void | set_id (const pinocchio::FrameIndex id) |
| Modify the reference frame id.
|
|
void | set_reference (const Matrix3s &reference) |
| Modify the reference frame rotation.
|
|
| ResidualModelAbstractTpl (boost::shared_ptr< StateAbstract > state, const std::size_t nr, const bool q_dependent=true, const bool v_dependent=true, const bool u_dependent=true) |
| Initialize the residual model. More...
|
|
| ResidualModelAbstractTpl (boost::shared_ptr< StateAbstract > state, const std::size_t nr, const std::size_t nu, const bool q_dependent=true, const bool v_dependent=true, const bool u_dependent=true) |
| Initialize the residual model. More...
|
|
virtual void | calc (const boost::shared_ptr< ResidualDataAbstract > &data, const Eigen::Ref< const VectorXs > &x) |
| Compute the residual vector for nodes that depends only on the state. More...
|
|
virtual void | calcCostDiff (const boost::shared_ptr< CostDataAbstract > &cdata, const boost::shared_ptr< ResidualDataAbstract > &rdata, const boost::shared_ptr< ActivationDataAbstract > &adata, const bool update_u=true) |
| Compute the derivative of the cost function. More...
|
|
virtual void | calcDiff (const boost::shared_ptr< ResidualDataAbstract > &data, const Eigen::Ref< const VectorXs > &x) |
| Compute the Jacobian of the residual functions with respect to the state only. More...
|
|
std::size_t | get_nr () const |
| Return the dimension of the residual vector.
|
|
std::size_t | get_nu () const |
| Return the dimension of the control input.
|
|
bool | get_q_dependent () const |
| Return true if the residual function depends on q.
|
|
const boost::shared_ptr< StateAbstract > & | get_state () const |
| Return the state.
|
|
bool | get_u_dependent () const |
| Return true if the residual function depends on u.
|
|
bool | get_v_dependent () const |
| Return true if the residual function depends on v.
|
|
template<typename _Scalar>
class crocoddyl::ResidualModelFrameRotationTpl< _Scalar >
Frame rotation residual.
This residual function is defined as \(\mathbf{r}=\mathbf{R}\ominus\mathbf{R}^*\), where \(\mathbf{R},\mathbf{R}^*\in~\mathbb{SO(3)}\) are the current and reference frame rotations, respectively. Note that the dimension of the residual vector is 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.
- See also
ResidualModelAbstractTpl
, calc()
, calcDiff()
, createData()
Definition at line 38 of file frame-rotation.hpp.