aligator
0.19.0
A versatile and efficient C++ library for real-time constrained trajectory optimization.
Toggle main menu visibility
Loading...
Searching...
No Matches
center-of-mass-translation.hpp
Go to the documentation of this file.
1
#pragma once
2
3
#include "
aligator/core/unary-function.hpp
"
4
#include "
./fwd.hpp
"
5
6
#include <pinocchio/multibody/model.hpp>
7
8
namespace
aligator
{
9
10
template
<
typename
Scalar>
struct
CenterOfMassTranslationDataTpl
;
11
20
21
template
<
typename
_Scalar>
22
struct
CenterOfMassTranslationResidualTpl
:
UnaryFunctionTpl
<_Scalar>,
23
frame_api
{
24
public
:
25
using
Scalar
= _Scalar;
26
ALIGATOR_DYNAMIC_TYPEDEFS
(
Scalar
);
27
ALIGATOR_UNARY_FUNCTION_INTERFACE
(
Scalar
);
28
using
BaseData
=
typename
Base::Data
;
29
using
Model
= pinocchio::ModelTpl<Scalar>;
30
using
SE3
= pinocchio::SE3Tpl<Scalar>;
31
using
Data
=
CenterOfMassTranslationDataTpl<Scalar>
;
32
33
Model
pin_model_
;
34
35
CenterOfMassTranslationResidualTpl
(
const
int
ndx,
const
int
nu
,
36
const
Model
&model,
37
const
Vector3s &frame_trans)
38
:
Base
(ndx,
nu
, 3)
39
,
pin_model_
(model)
40
,
p_ref_
(frame_trans) {}
41
42
const
Vector3s &
getReference
()
const
{
return
p_ref_
; }
43
void
setReference
(
const
Eigen::Ref<const Vector3s> &p_new) {
p_ref_
= p_new; }
44
45
void
evaluate
(
const
ConstVectorRef &x,
BaseData
&data)
const
;
46
47
void
computeJacobians
(
const
ConstVectorRef &x,
BaseData
&data)
const
;
48
49
shared_ptr<BaseData>
createData
()
const
{
50
return
std::make_shared<Data>(
this
);
51
}
52
53
protected
:
54
Vector3s
p_ref_
;
55
};
56
57
template
<
typename
Scalar>
58
struct
CenterOfMassTranslationDataTpl
:
StageFunctionDataTpl
<Scalar> {
59
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
60
using
Base
=
StageFunctionDataTpl<Scalar>
;
61
using
PinData
= pinocchio::DataTpl<Scalar>;
62
64
PinData
pin_data_
;
65
66
CenterOfMassTranslationDataTpl
(
67
const
CenterOfMassTranslationResidualTpl<Scalar>
*model);
68
};
69
70
#ifdef ALIGATOR_ENABLE_TEMPLATE_INSTANTIATION
71
extern
template
struct
CenterOfMassTranslationResidualTpl<context::Scalar>
;
72
extern
template
struct
CenterOfMassTranslationDataTpl<context::Scalar>
;
73
#endif
74
}
// namespace aligator
fwd.hpp
aligator
Main package namespace.
Definition
action-model-wrap.hpp:14
aligator::CenterOfMassTranslationDataTpl
Definition
center-of-mass-translation.hpp:58
aligator::CenterOfMassTranslationDataTpl::CenterOfMassTranslationDataTpl
CenterOfMassTranslationDataTpl(const CenterOfMassTranslationResidualTpl< Scalar > *model)
aligator::CenterOfMassTranslationDataTpl::Base
StageFunctionDataTpl< Scalar > Base
Definition
center-of-mass-translation.hpp:60
aligator::CenterOfMassTranslationDataTpl::pin_data_
PinData pin_data_
Pinocchio data object.
Definition
center-of-mass-translation.hpp:64
aligator::CenterOfMassTranslationDataTpl::PinData
pinocchio::DataTpl< Scalar > PinData
Definition
center-of-mass-translation.hpp:61
aligator::CenterOfMassTranslationResidualTpl
This residual returns the Center of Mass translation for a centroidal model with state .
Definition
center-of-mass-translation.hpp:23
aligator::CenterOfMassTranslationResidualTpl::createData
shared_ptr< BaseData > createData() const
Instantiate a Data object.
Definition
center-of-mass-translation.hpp:49
aligator::CenterOfMassTranslationResidualTpl::ALIGATOR_UNARY_FUNCTION_INTERFACE
ALIGATOR_UNARY_FUNCTION_INTERFACE(Scalar)
aligator::CenterOfMassTranslationResidualTpl::setReference
void setReference(const Eigen::Ref< const Vector3s > &p_new)
Definition
center-of-mass-translation.hpp:43
aligator::CenterOfMassTranslationResidualTpl::Data
CenterOfMassTranslationDataTpl< Scalar > Data
Definition
center-of-mass-translation.hpp:31
aligator::CenterOfMassTranslationResidualTpl::getReference
const Vector3s & getReference() const
Definition
center-of-mass-translation.hpp:42
aligator::CenterOfMassTranslationResidualTpl::BaseData
typename Base::Data BaseData
Definition
center-of-mass-translation.hpp:28
aligator::CenterOfMassTranslationResidualTpl::pin_model_
Model pin_model_
Definition
center-of-mass-translation.hpp:33
aligator::CenterOfMassTranslationResidualTpl::SE3
pinocchio::SE3Tpl< Scalar > SE3
Definition
center-of-mass-translation.hpp:30
aligator::CenterOfMassTranslationResidualTpl::Scalar
_Scalar Scalar
Definition
center-of-mass-translation.hpp:25
aligator::CenterOfMassTranslationResidualTpl::computeJacobians
void computeJacobians(const ConstVectorRef &x, BaseData &data) const
aligator::CenterOfMassTranslationResidualTpl::CenterOfMassTranslationResidualTpl
CenterOfMassTranslationResidualTpl(const int ndx, const int nu, const Model &model, const Vector3s &frame_trans)
Definition
center-of-mass-translation.hpp:35
aligator::CenterOfMassTranslationResidualTpl::evaluate
void evaluate(const ConstVectorRef &x, BaseData &data) const
aligator::CenterOfMassTranslationResidualTpl::p_ref_
Vector3s p_ref_
Definition
center-of-mass-translation.hpp:54
aligator::CenterOfMassTranslationResidualTpl::ALIGATOR_DYNAMIC_TYPEDEFS
ALIGATOR_DYNAMIC_TYPEDEFS(Scalar)
aligator::CenterOfMassTranslationResidualTpl::Model
pinocchio::ModelTpl< Scalar > Model
Definition
center-of-mass-translation.hpp:29
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::UnaryFunctionTpl
Represents unary functions of the form , with no control (or next-state) arguments.
Definition
unary-function.hpp:12
aligator::UnaryFunctionTpl::Base
StageFunctionTpl< Scalar > Base
Definition
unary-function.hpp:15
aligator::frame_api
Definition
fwd.hpp:9
unary-function.hpp
include
aligator
modelling
multibody
center-of-mass-translation.hpp
Generated by
1.17.0