Go to the documentation of this file.
9 #ifndef SOBEC_CONTACT_6D_HPP_
10 #define SOBEC_CONTACT_6D_HPP_
12 #include <crocoddyl/core/utils/deprecate.hpp>
13 #include <crocoddyl/core/utils/exception.hpp>
14 #include <crocoddyl/multibody/contact-base.hpp>
15 #include <crocoddyl/multibody/contacts/contact-6d.hpp>
16 #include <crocoddyl/multibody/fwd.hpp>
17 #include <pinocchio/algorithm/frames.hpp>
18 #include <pinocchio/algorithm/kinematics-derivatives.hpp>
19 #include <pinocchio/multibody/data.hpp>
20 #include <pinocchio/spatial/motion.hpp>
25 namespace newcontacts {
27 template <
typename _Scalar>
30 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
33 typedef crocoddyl::MathBaseTpl<Scalar>
MathBase;
34 typedef crocoddyl::ContactModel6DTpl<Scalar>
Base;
36 typedef pinocchio::SE3Tpl<Scalar>
SE3;
52 const pinocchio::FrameIndex
id,
const SE3& xref,
54 const Vector2s& gains = Vector2s::Zero(),
55 const pinocchio::ReferenceFrame type = pinocchio::LOCAL);
68 const pinocchio::FrameIndex
id,
const SE3& xref,
69 const Vector2s& gains = Vector2s::Zero(),
70 const pinocchio::ReferenceFrame type = pinocchio::LOCAL);
82 const boost::shared_ptr<crocoddyl::ContactDataAbstractTpl<Scalar>>& data,
83 const Eigen::Ref<const VectorXs>&
x);
93 const boost::shared_ptr<crocoddyl::ContactDataAbstractTpl<Scalar>>& data,
94 const Eigen::Ref<const VectorXs>&
x);
103 const boost::shared_ptr<crocoddyl::ContactDataAbstractTpl<Scalar>>& data,
109 virtual boost::shared_ptr<crocoddyl::ContactDataAbstractTpl<Scalar>>
110 createData(pinocchio::DataTpl<Scalar>*
const data);
130 void set_type(
const pinocchio::ReferenceFrame type);
135 const pinocchio::ReferenceFrame&
get_type()
const;
142 virtual void print(std::ostream& os)
const;
153 pinocchio::ReferenceFrame type_;
156 template <
typename _Scalar>
158 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
162 typedef crocoddyl::ContactData6DTpl<Scalar>
Base;
169 template <
template <
typename Scalar>
class Model>
171 pinocchio::DataTpl<Scalar>*
const data)
173 fJf(6, model->get_state()->get_nv()),
174 rMf(pinocchio::SE3Tpl<
Scalar>::Identity()),
181 tmp_skew_(6, model->get_state()->get_nv()),
183 model->get_state()->get_nv()) {
184 frame = model->get_id();
185 jMf = model->get_state()->get_pinocchio()->frames[frame].placement;
186 fXj = jMf.inverse().toActionMatrix();
196 type = model->get_type();
212 using Base::pinocchio;
214 pinocchio::MotionTpl<Scalar>
v;
215 pinocchio::MotionTpl<Scalar>
a;
221 pinocchio::SE3Tpl<Scalar>
rMf;
227 pinocchio::ReferenceFrame
type;
242 #endif // SOBEC_CONTACT_6D_HPP_
Definition: activation-quad-ref.hpp:19