Go to the documentation of this file.
9 #ifndef CROCODDYL_MULTIBODY_RESIDUAL_DCM_POSITION_HPP_
10 #define CROCODDYL_MULTIBODY_RESIDUAL_DCM_POSITION_HPP_
12 #include "crocoddyl/core/residual-base.hpp"
13 #include "crocoddyl/multibody/data/multibody.hpp"
14 #include "crocoddyl/multibody/fwd.hpp"
15 #include "crocoddyl/multibody/states/multibody.hpp"
19 using namespace crocoddyl;
36 template <
typename _Scalar>
39 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
43 typedef ResidualModelAbstractTpl<Scalar>
Base;
59 const Vector3s& cref,
const double alpha,
60 const std::size_t nu);
71 const Vector3s& cref,
const double alpha);
81 virtual void calc(
const boost::shared_ptr<ResidualDataAbstract>& data,
82 const Eigen::Ref<const VectorXs>&
x,
83 const Eigen::Ref<const VectorXs>& u);
92 virtual void calcDiff(
const boost::shared_ptr<ResidualDataAbstract>& data,
93 const Eigen::Ref<const VectorXs>&
x,
94 const Eigen::Ref<const VectorXs>& u);
95 virtual boost::shared_ptr<ResidualDataAbstract> createData(
101 const Vector3s& get_reference()
const;
106 void set_reference(
const Vector3s& cref);
113 virtual void print(std::ostream& os)
const;
118 using Base::u_dependent_;
120 using Base::v_dependent_;
125 typename StateMultibody::PinocchioModel
129 template <
typename _Scalar>
131 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
135 typedef ResidualDataAbstractTpl<Scalar>
Base;
139 template <
template <
typename Scalar>
class Model>
142 :
Base(model, data), dvcom_dq(3, model->get_state()->get_nv()) {
145 DataCollectorMultibodyTpl<Scalar>* d =
146 dynamic_cast<DataCollectorMultibodyTpl<Scalar>*
>(shared);
149 "Invalid argument: the shared data should be derived from "
150 "DataCollectorMultibody");
154 pinocchio = d->pinocchio;
171 #endif // SOBEC_RESIDUAL_DCM_POSITION_HPP_
pinocchio::DataTpl< Scalar > * pinocchio
Pinocchio data.
Definition: residual-dcm-position.hpp:157
MathBase::VectorXs VectorXs
Definition: residual-dcm-position.hpp:49
ResidualDataAbstractTpl< Scalar > Base
Definition: residual-dcm-position.hpp:135
ResidualDataDCMPositionTpl< Scalar > Data
Definition: residual-dcm-position.hpp:44
ResidualModelAbstractTpl< Scalar > Base
Definition: residual-dcm-position.hpp:43
StateMultibodyTpl< Scalar > StateMultibody
Definition: residual-dcm-position.hpp:45
MathBaseTpl< Scalar > MathBase
Definition: residual-dcm-position.hpp:42
Matrix3xs dvcom_dq
Definition: residual-dcm-position.hpp:156
ResidualDataDCMPositionTpl(Model< Scalar > *const model, DataCollectorAbstract *const data)
Definition: residual-dcm-position.hpp:140
DCM position residual.
Definition: residual-dcm-position.hpp:37
MathBase::Vector3s Vector3s
Definition: residual-dcm-position.hpp:48
MathBase::Matrix3xs Matrix3xs
Definition: residual-dcm-position.hpp:137
Definition: activation-quad-ref.hpp:19
ResidualDataAbstractTpl< Scalar > ResidualDataAbstract
Definition: residual-dcm-position.hpp:46
Definition: residual-dcm-position.hpp:130
DataCollectorAbstractTpl< Scalar > DataCollectorAbstract
Definition: residual-dcm-position.hpp:136
DataCollectorAbstractTpl< Scalar > DataCollectorAbstract
Definition: residual-dcm-position.hpp:47
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef _Scalar Scalar
Definition: residual-dcm-position.hpp:41
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef _Scalar Scalar
Definition: residual-dcm-position.hpp:133
MathBaseTpl< Scalar > MathBase
Definition: residual-dcm-position.hpp:134