aligator  0.16.0
A versatile and efficient C++ library for real-time constrained trajectory optimization.
Loading...
Searching...
No Matches
frame-translation.hpp
Go to the documentation of this file.
1#pragma once
2
5
6#include <pinocchio/multibody/model.hpp>
7#include <pinocchio/multibody/frame.hpp>
9
10namespace aligator {
11
12template <typename Scalar> struct FrameTranslationDataTpl;
13
14template <typename _Scalar>
16 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
17 using Scalar = _Scalar;
20 using BaseData = typename Base::Data;
21 using Model = pinocchio::ModelTpl<Scalar>;
22 using ManifoldPtr = xyz::polymorphic<ManifoldAbstractTpl<Scalar>>;
23 using SE3 = pinocchio::SE3Tpl<Scalar>;
25
27 Vector3s p_ref_;
28
29 FrameTranslationResidualTpl(const int ndx, const int nu, const Model &model,
30 const Vector3s &frame_trans,
31 const pinocchio::FrameIndex frame_id);
32
33 ALIGATOR_DEPRECATED const Vector3s &getReference() const { return p_ref_; }
34 ALIGATOR_DEPRECATED void
35 setReference(const Eigen::Ref<const Vector3s> &p_new) {
36 p_ref_ = p_new;
37 }
38
39 void evaluate(const ConstVectorRef &x, BaseData &data) const;
40
41 void computeJacobians(const ConstVectorRef &x, BaseData &data) const;
42
43 shared_ptr<BaseData> createData() const {
44 return std::make_shared<Data>(*this);
45 }
46};
47
48template <typename Scalar>
50 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
52 using PinData = pinocchio::DataTpl<Scalar>;
53
56
59
61};
62
63#ifdef ALIGATOR_ENABLE_TEMPLATE_INSTANTIATION
65extern template struct FrameTranslationDataTpl<context::Scalar>;
66#endif
67} // namespace aligator
Main package namespace.
PinData pin_data_
Pinocchio data object.
FrameTranslationDataTpl(const FrameTranslationResidualTpl< Scalar > &model)
pinocchio::DataTpl< Scalar > PinData
math_types< Scalar >::Matrix6Xs fJf_
Jacobian of the error, local frame.
StageFunctionDataTpl< Scalar > Base
ALIGATOR_DEPRECATED const Vector3s & getReference() const
void evaluate(const ConstVectorRef &x, BaseData &data) const
shared_ptr< BaseData > createData() const
Instantiate a Data object.
ALIGATOR_DEPRECATED void setReference(const Eigen::Ref< const Vector3s > &p_new)
pinocchio::ModelTpl< Scalar > Model
FrameTranslationDataTpl< Scalar > Data
xyz::polymorphic< ManifoldAbstractTpl< Scalar > > ManifoldPtr
FrameTranslationResidualTpl(const int ndx, const int nu, const Model &model, const Vector3s &frame_trans, const pinocchio::FrameIndex frame_id)
void computeJacobians(const ConstVectorRef &x, BaseData &data) const
StageFunctionDataTpl(const int ndx, const int nu, const int nr)
const int nu
Control dimension.
StageFunctionDataTpl< Scalar > Data
Represents unary functions of the form , with no control (or next-state) arguments.
Typedefs for math (Eigen vectors, matrices) depending on scalar type.
Definition math.hpp:122