aligator
0.19.0
A versatile and efficient C++ library for real-time constrained trajectory optimization.
Toggle main menu visibility
Loading...
Searching...
No Matches
fly-high.hpp
Go to the documentation of this file.
1
#pragma once
2
3
#ifdef ALIGATOR_WITH_PINOCCHIO
4
#include "
aligator/core/unary-function.hpp
"
5
#include "
./fwd.hpp
"
6
#include "
aligator/modelling/spaces/multibody.hpp
"
7
8
namespace
aligator
{
9
11
template
<
typename
_Scalar>
12
struct
FlyHighResidualTpl
:
UnaryFunctionTpl
<_Scalar>,
frame_api
{
13
using
Scalar
= _Scalar;
14
ALIGATOR_DYNAMIC_TYPEDEFS
(
Scalar
);
15
static
constexpr
int
NR
= 2;
16
17
using
Base
=
UnaryFunctionTpl<Scalar>
;
18
using
BaseData
=
StageFunctionDataTpl<Scalar>
;
19
using
Model
= pinocchio::ModelTpl<Scalar>;
20
21
struct
Data
;
22
23
FlyHighResidualTpl
(
const
int
ndx,
const
Model
&model,
24
const
pinocchio::FrameIndex frame_id,
Scalar
slope,
25
int
nu
);
26
27
void
evaluate
(
const
ConstVectorRef &x,
BaseData
&data)
const
;
28
void
computeJacobians
(
const
ConstVectorRef &x,
BaseData
&data)
const
;
29
30
shared_ptr<BaseData>
createData
()
const
{
31
return
std::make_shared<Data>(*
this
);
32
}
33
34
const
auto
&
getModel
()
const
{
return
pin_model_; }
35
36
Scalar
slope_
;
37
38
private
:
39
Model
pin_model_;
40
};
41
42
template
<
typename
Scalar>
43
using
FlyHighResidualDataTpl
=
typename
FlyHighResidualTpl<Scalar>::Data
;
44
45
template
<
typename
Scalar>
46
struct
FlyHighResidualTpl
<
Scalar
>::
Data
:
StageFunctionDataTpl
<Scalar> {
47
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
48
using
BaseData::ndx1
;
49
using
BaseData::nr
;
50
using
BaseData::nu
;
51
52
Data
(
FlyHighResidualTpl
const
&model)
53
:
BaseData
(model.
ndx1
, model.
nu
, model.
nr
)
54
,
pdata_
(model.pin_model_)
55
,
d_dq
(6, model.pin_model_.nv)
56
,
d_dv
(6, model.pin_model_.nv)
57
,
l_dnu_dq
(6, model.pin_model_.nv)
58
,
l_dnu_dv
(6, model.pin_model_.nv)
59
,
o_dv_dq
(3, model.pin_model_.nv)
60
,
o_dv_dv
(3, model.pin_model_.nv)
61
,
vxJ
(3, model.pin_model_.nv) {
62
d_dq
.setZero();
63
d_dv
.setZero();
64
l_dnu_dq
.setZero();
65
l_dnu_dv
.setZero();
66
o_dv_dq
.setZero();
67
o_dv_dv
.setZero();
68
vxJ
.setZero();
69
}
70
71
pinocchio::DataTpl<Scalar>
pdata_
;
72
Matrix6Xs
d_dq
,
d_dv
;
73
Matrix6Xs
l_dnu_dq
,
l_dnu_dv
;
74
Matrix3Xs
o_dv_dq
,
o_dv_dv
,
vxJ
;
75
Scalar
ez
;
76
};
77
78
#ifdef ALIGATOR_ENABLE_TEMPLATE_INSTANTIATION
79
#endif
80
extern
template
struct
FlyHighResidualTpl<context::Scalar>
;
81
#endif
82
}
// namespace aligator
fwd.hpp
multibody.hpp
aligator
Main package namespace.
Definition
action-model-wrap.hpp:14
aligator::FlyHighResidualDataTpl
typename FlyHighResidualTpl< Scalar >::Data FlyHighResidualDataTpl
Definition
fly-high.hpp:43
aligator::FlyHighResidualTpl::Data
Definition
fly-high.hpp:46
aligator::FlyHighResidualTpl::Data::d_dq
Matrix6Xs d_dq
Definition
fly-high.hpp:72
aligator::FlyHighResidualTpl::Data::l_dnu_dq
Matrix6Xs l_dnu_dq
Definition
fly-high.hpp:73
aligator::FlyHighResidualTpl::Data::d_dv
Matrix6Xs d_dv
Definition
fly-high.hpp:72
aligator::FlyHighResidualTpl::Data::nu
const int nu
Definition
function-abstract.hpp:78
aligator::FlyHighResidualTpl::Data::Data
Data(FlyHighResidualTpl const &model)
Definition
fly-high.hpp:52
aligator::FlyHighResidualTpl::Data::pdata_
pinocchio::DataTpl< Scalar > pdata_
Definition
fly-high.hpp:71
aligator::FlyHighResidualTpl::Data::ndx1
const int ndx1
Definition
function-abstract.hpp:77
aligator::FlyHighResidualTpl::Data::vxJ
Matrix3Xs vxJ
Definition
fly-high.hpp:74
aligator::FlyHighResidualTpl::Data::o_dv_dv
Matrix3Xs o_dv_dv
Definition
fly-high.hpp:74
aligator::FlyHighResidualTpl::Data::ez
Scalar ez
Definition
fly-high.hpp:75
aligator::FlyHighResidualTpl::Data::nr
const int nr
Definition
function-abstract.hpp:79
aligator::FlyHighResidualTpl::Data::l_dnu_dv
Matrix6Xs l_dnu_dv
Definition
fly-high.hpp:73
aligator::FlyHighResidualTpl::Data::o_dv_dq
Matrix3Xs o_dv_dq
Definition
fly-high.hpp:74
aligator::FlyHighResidualTpl::FlyHighResidualTpl
FlyHighResidualTpl(const int ndx, const Model &model, const pinocchio::FrameIndex frame_id, Scalar slope, int nu)
aligator::FlyHighResidualTpl::NR
static constexpr int NR
Definition
fly-high.hpp:15
aligator::FlyHighResidualTpl::evaluate
void evaluate(const ConstVectorRef &x, BaseData &data) const
aligator::FlyHighResidualTpl::slope_
Scalar slope_
Definition
fly-high.hpp:36
aligator::FlyHighResidualTpl::Model
pinocchio::ModelTpl< Scalar > Model
Definition
fly-high.hpp:19
aligator::FlyHighResidualTpl::computeJacobians
void computeJacobians(const ConstVectorRef &x, BaseData &data) const
aligator::FlyHighResidualTpl::BaseData
StageFunctionDataTpl< Scalar > BaseData
Definition
fly-high.hpp:18
aligator::FlyHighResidualTpl::Scalar
_Scalar Scalar
Definition
fly-high.hpp:13
aligator::FlyHighResidualTpl::getModel
const auto & getModel() const
Definition
fly-high.hpp:34
aligator::FlyHighResidualTpl::Base
UnaryFunctionTpl< Scalar > Base
Definition
fly-high.hpp:17
aligator::FlyHighResidualTpl::ALIGATOR_DYNAMIC_TYPEDEFS
ALIGATOR_DYNAMIC_TYPEDEFS(Scalar)
aligator::FlyHighResidualTpl::createData
shared_ptr< BaseData > createData() const
Instantiate a Data object.
Definition
fly-high.hpp:30
aligator::StageFunctionDataTpl
Base struct for function data.
Definition
function-abstract.hpp:73
aligator::StageFunctionDataTpl< Scalar >::nu
const int nu
Definition
function-abstract.hpp:78
aligator::StageFunctionDataTpl< Scalar >::nr
const int nr
Definition
function-abstract.hpp:79
aligator::StageFunctionDataTpl< Scalar >::Scalar
Scalar Scalar
Definition
function-abstract.hpp:74
aligator::StageFunctionDataTpl< Scalar >::ndx1
const int ndx1
Definition
function-abstract.hpp:77
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::UnaryFunctionTpl
Represents unary functions of the form , with no control (or next-state) arguments.
Definition
unary-function.hpp:12
aligator::frame_api
Definition
fwd.hpp:9
unary-function.hpp
include
aligator
modelling
multibody
fly-high.hpp
Generated by
1.17.0