aligator  0.16.0
A versatile and efficient C++ library for real-time constrained trajectory optimization.
Loading...
Searching...
No Matches
frame-velocity.hpp
Go to the documentation of this file.
1#pragma once
2
4#include "./fwd.hpp"
5
6#include <pinocchio/multibody/model.hpp>
7#include <pinocchio/multibody/data.hpp>
8#include <pinocchio/multibody/frame.hpp>
10
11namespace aligator {
12
13template <typename Scalar> struct FrameVelocityDataTpl;
14
15template <typename _Scalar>
17public:
18 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
19 using Scalar = _Scalar;
22 using BaseData = typename Base::Data;
23 using Model = pinocchio::ModelTpl<Scalar>;
24 using ManifoldPtr = xyz::polymorphic<ManifoldAbstractTpl<Scalar>>;
25 using SE3 = pinocchio::SE3Tpl<Scalar>;
26 using Motion = pinocchio::MotionTpl<Scalar>;
28
31 pinocchio::ReferenceFrame type_;
32
33 FrameVelocityResidualTpl(const int ndx, const int nu, const Model &model,
34 const Motion &velocity,
35 const pinocchio::FrameIndex id,
36 const pinocchio::ReferenceFrame type);
37
38 ALIGATOR_DEPRECATED const Motion &getReference() const { return vref_; }
39 ALIGATOR_DEPRECATED void setReference(const Motion &v_new) { vref_ = v_new; }
40
41 void evaluate(const ConstVectorRef &x, BaseData &data) const;
42 void computeJacobians(const ConstVectorRef &x, BaseData &data) const;
43
44 shared_ptr<BaseData> createData() const {
45 return std::make_shared<Data>(*this);
46 }
47};
48
49template <typename Scalar>
51 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
53 using Motion = pinocchio::MotionTpl<Scalar>;
54
56 pinocchio::DataTpl<Scalar> pin_data_;
57
59};
60
61#ifdef ALIGATOR_ENABLE_TEMPLATE_INSTANTIATION
63extern template struct FrameVelocityDataTpl<context::Scalar>;
64#endif
65} // namespace aligator
Main package namespace.
pinocchio::MotionTpl< Scalar > Motion
pinocchio::DataTpl< Scalar > pin_data_
Pinocchio data object.
StageFunctionDataTpl< Scalar > Base
FrameVelocityDataTpl(const FrameVelocityResidualTpl< Scalar > &model)
shared_ptr< BaseData > createData() const
Instantiate a Data object.
pinocchio::SE3Tpl< Scalar > SE3
void evaluate(const ConstVectorRef &x, BaseData &data) const
FrameVelocityResidualTpl(const int ndx, const int nu, const Model &model, const Motion &velocity, const pinocchio::FrameIndex id, const pinocchio::ReferenceFrame type)
pinocchio::MotionTpl< Scalar > Motion
pinocchio::ModelTpl< Scalar > Model
xyz::polymorphic< ManifoldAbstractTpl< Scalar > > ManifoldPtr
void computeJacobians(const ConstVectorRef &x, BaseData &data) const
ALIGATOR_DEPRECATED void setReference(const Motion &v_new)
ALIGATOR_DEPRECATED const Motion & getReference() const
pinocchio::ReferenceFrame type_
FrameVelocityDataTpl< Scalar > Data
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.