aligator
0.19.0
A versatile and efficient C++ library for real-time constrained trajectory optimization.
Toggle main menu visibility
Loading...
Searching...
No Matches
centroidal-friction-cone.hpp
Go to the documentation of this file.
1
#pragma once
2
3
#include "
aligator/core/function-abstract.hpp
"
4
5
namespace
aligator
{
6
18
19
template
<
typename
Scalar>
struct
CentroidalFrictionConeDataTpl
;
20
21
template
<
typename
_Scalar>
22
struct
CentroidalFrictionConeResidualTpl
:
StageFunctionTpl
<_Scalar> {
23
24
public
:
25
using
Scalar
= _Scalar;
26
ALIGATOR_DYNAMIC_TYPEDEFS
(
Scalar
);
27
using
Base
=
StageFunctionTpl<Scalar>
;
28
using
BaseData
=
typename
Base::Data
;
29
using
Data
=
CentroidalFrictionConeDataTpl<Scalar>
;
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
48
protected
:
49
int
k_
;
50
double
mu2_
;
51
double
epsilon_
;
52
};
53
54
template
<
typename
Scalar>
55
struct
CentroidalFrictionConeDataTpl
:
StageFunctionDataTpl
<Scalar> {
56
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
57
using
Base
=
StageFunctionDataTpl<Scalar>
;
58
using
Matrix23s
= Eigen::Matrix<Scalar, 2, 3>;
59
60
Matrix23s
Jtemp_
;
61
62
CentroidalFrictionConeDataTpl
(
63
const
CentroidalFrictionConeResidualTpl<Scalar>
*model);
64
};
65
66
}
// namespace aligator
67
68
#ifdef ALIGATOR_ENABLE_TEMPLATE_INSTANTIATION
69
#include "aligator/modelling/centroidal/centroidal-friction-cone.txx"
70
#endif
function-abstract.hpp
Base definitions for ternary functions.
aligator
Main package namespace.
Definition
action-model-wrap.hpp:14
aligator::CentroidalFrictionConeDataTpl
This residual implements the "ice cream" friction cone for a centroidal model with state .
Definition
centroidal-friction-cone.hpp:55
aligator::CentroidalFrictionConeDataTpl::CentroidalFrictionConeDataTpl
CentroidalFrictionConeDataTpl(const CentroidalFrictionConeResidualTpl< Scalar > *model)
aligator::CentroidalFrictionConeDataTpl::Jtemp_
Matrix23s Jtemp_
Definition
centroidal-friction-cone.hpp:60
aligator::CentroidalFrictionConeDataTpl::Matrix23s
Eigen::Matrix< Scalar, 2, 3 > Matrix23s
Definition
centroidal-friction-cone.hpp:58
aligator::CentroidalFrictionConeDataTpl::Base
StageFunctionDataTpl< Scalar > Base
Definition
centroidal-friction-cone.hpp:57
aligator::CentroidalFrictionConeResidualTpl
Definition
centroidal-friction-cone.hpp:22
aligator::CentroidalFrictionConeResidualTpl::Base
StageFunctionTpl< Scalar > Base
Definition
centroidal-friction-cone.hpp:27
aligator::CentroidalFrictionConeResidualTpl::computeJacobians
void computeJacobians(const ConstVectorRef &, const ConstVectorRef &u, BaseData &data) const
aligator::CentroidalFrictionConeResidualTpl::mu2_
double mu2_
Definition
centroidal-friction-cone.hpp:50
aligator::CentroidalFrictionConeResidualTpl::Data
CentroidalFrictionConeDataTpl< Scalar > Data
Definition
centroidal-friction-cone.hpp:29
aligator::CentroidalFrictionConeResidualTpl::evaluate
void evaluate(const ConstVectorRef &, const ConstVectorRef &u, BaseData &data) const
aligator::CentroidalFrictionConeResidualTpl::BaseData
typename Base::Data BaseData
Definition
centroidal-friction-cone.hpp:28
aligator::CentroidalFrictionConeResidualTpl::ALIGATOR_DYNAMIC_TYPEDEFS
ALIGATOR_DYNAMIC_TYPEDEFS(Scalar)
aligator::CentroidalFrictionConeResidualTpl::epsilon_
double epsilon_
Definition
centroidal-friction-cone.hpp:51
aligator::CentroidalFrictionConeResidualTpl::CentroidalFrictionConeResidualTpl
CentroidalFrictionConeResidualTpl(const int ndx, const int nu, const int k, const double mu, const double epsilon)
Definition
centroidal-friction-cone.hpp:31
aligator::CentroidalFrictionConeResidualTpl::createData
shared_ptr< BaseData > createData() const
Instantiate a Data object.
Definition
centroidal-friction-cone.hpp:44
aligator::CentroidalFrictionConeResidualTpl::k_
int k_
Definition
centroidal-friction-cone.hpp:49
aligator::CentroidalFrictionConeResidualTpl::Scalar
_Scalar Scalar
Definition
centroidal-friction-cone.hpp:25
aligator::StageFunctionDataTpl< Scalar >::StageFunctionDataTpl
StageFunctionDataTpl(const int ndx, const int nu, const int nr)
aligator::StageFunctionTpl::nu
const int nu
Control dimension.
Definition
function-abstract.hpp:21
aligator::StageFunctionTpl< Scalar >::Data
StageFunctionDataTpl< Scalar > Data
Definition
function-abstract.hpp:16
aligator::StageFunctionTpl::StageFunctionTpl
StageFunctionTpl(const int ndx, const int nu, const int nr)
include
aligator
modelling
centroidal
centroidal-friction-cone.hpp
Generated by
1.17.0