aligator  0.15.0
A primal-dual augmented Lagrangian-type solver for nonlinear trajectory optimization.
Loading...
Searching...
No Matches
centroidal-friction-cone.hpp
Go to the documentation of this file.
1#pragma once
2
4
5namespace aligator {
6
18
19template <typename Scalar> struct CentroidalFrictionConeDataTpl;
20
21template <typename _Scalar>
23
24public:
25 using Scalar = _Scalar;
28 using BaseData = typename Base::Data;
30
31 CentroidalFrictionConeResidualTpl(const int ndx, const int nu, const int k,
32 const double mu, const double epsilon)
33 : Base(ndx, nu, 2)
34 , k_(k)
35 , mu2_(mu * mu)
36 , epsilon_(epsilon) {}
37
38 void evaluate(const ConstVectorRef &, const ConstVectorRef &u,
39 BaseData &data) const;
40
41 void computeJacobians(const ConstVectorRef &, const ConstVectorRef &u,
42 BaseData &data) const;
43
44 shared_ptr<BaseData> createData() const {
45 return std::make_shared<Data>(this);
46 }
47
48protected:
49 int k_;
50 double mu2_;
51 double epsilon_;
52};
53
54template <typename Scalar>
56 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
58 using Matrix23s = Eigen::Matrix<Scalar, 2, 3>;
59
61
64};
65
66} // namespace aligator
67
68#ifdef ALIGATOR_ENABLE_TEMPLATE_INSTANTIATION
69#include "aligator/modelling/centroidal/centroidal-friction-cone.txx"
70#endif
Base definitions for ternary functions.
Main package namespace.
This residual implements the "ice cream" friction cone for a centroidal model with state .
CentroidalFrictionConeDataTpl(const CentroidalFrictionConeResidualTpl< Scalar > *model)
void computeJacobians(const ConstVectorRef &, const ConstVectorRef &u, BaseData &data) const
CentroidalFrictionConeDataTpl< Scalar > Data
void evaluate(const ConstVectorRef &, const ConstVectorRef &u, BaseData &data) const
CentroidalFrictionConeResidualTpl(const int ndx, const int nu, const int k, const double mu, const double epsilon)
shared_ptr< BaseData > createData() const
Instantiate a Data object.
StageFunctionDataTpl(const int ndx, const int nu, const int nr)
const int nu
Control dimension.
StageFunctionDataTpl< Scalar > Data
StageFunctionTpl(const int ndx, const int nu, const int nr)