Go to the documentation of this file.
9 #ifndef SOBEC_CONTACT_1D_HPP_
10 #define SOBEC_CONTACT_1D_HPP_
12 #include <crocoddyl/core/utils/exception.hpp>
13 #include <crocoddyl/multibody/contact-base.hpp>
14 #include <crocoddyl/multibody/contacts/contact-1d.hpp>
15 #include <crocoddyl/multibody/fwd.hpp>
16 #include <pinocchio/algorithm/frames.hpp>
17 #include <pinocchio/algorithm/kinematics-derivatives.hpp>
18 #include <pinocchio/multibody/data.hpp>
19 #include <pinocchio/spatial/motion.hpp>
24 namespace newcontacts {
28 template <
typename _Scalar>
31 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
34 typedef crocoddyl::MathBaseTpl<Scalar>
MathBase;
35 typedef crocoddyl::ContactModel1DTpl<Scalar>
Base;
55 const pinocchio::FrameIndex
id,
const Vector3s& xref,
57 const Vector2s& gains = Vector2s::Zero(),
59 const pinocchio::ReferenceFrame ref = pinocchio::LOCAL);
73 const pinocchio::FrameIndex
id,
const Vector3s& xref,
74 const Vector2s& gains = Vector2s::Zero(),
75 const pinocchio::ReferenceFrame ref = pinocchio::LOCAL);
87 const boost::shared_ptr<crocoddyl::ContactDataAbstractTpl<Scalar>>& data,
88 const Eigen::Ref<const VectorXs>&
x);
98 const boost::shared_ptr<crocoddyl::ContactDataAbstractTpl<Scalar>>& data,
99 const Eigen::Ref<const VectorXs>&
x);
108 const boost::shared_ptr<crocoddyl::ContactDataAbstractTpl<Scalar>>& data,
114 virtual boost::shared_ptr<crocoddyl::ContactDataAbstractTpl<Scalar>>
115 createData(pinocchio::DataTpl<Scalar>*
const data);
135 void set_type(
const pinocchio::ReferenceFrame type);
140 const pinocchio::ReferenceFrame&
get_type()
const;
157 virtual void print(std::ostream& os)
const;
169 pinocchio::ReferenceFrame type_;
172 template <
typename _Scalar>
174 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
178 typedef crocoddyl::ContactData1DTpl<Scalar>
Base;
185 template <
template <
typename Scalar>
class Model>
187 pinocchio::DataTpl<Scalar>*
const data)
189 fJf(6, model->get_state()->get_nv()),
194 fXjdv_dq(6, model->get_state()->get_nv()),
195 fXjda_dq(6, model->get_state()->get_nv()),
196 fXjda_dv(6, model->get_state()->get_nv()),
199 model->get_state()->get_nv()) {
200 frame = model->get_id();
201 jMf = model->get_state()->get_pinocchio()->frames[frame].placement;
202 fXj = jMf.inverse().toActionMatrix();
217 type = model->get_type();
218 mask = model->get_mask();
233 using Base::pinocchio;
235 pinocchio::MotionTpl<Scalar>
v;
236 pinocchio::MotionTpl<Scalar>
a;
251 pinocchio::ReferenceFrame
type;
266 #endif // SOBEC_CONTACT_1D_HPP_
Definition: activation-quad-ref.hpp:19