aligator
0.19.0
A versatile and efficient C++ library for real-time constrained trajectory optimization.
Toggle main menu visibility
Loading...
Searching...
No Matches
dcm-position.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
DCMPositionDataTpl
;
11
12
template
<
typename
_Scalar>
13
struct
DCMPositionResidualTpl
:
UnaryFunctionTpl
<_Scalar>,
frame_api
{
14
public
:
15
using
Scalar
= _Scalar;
16
ALIGATOR_DYNAMIC_TYPEDEFS
(
Scalar
);
17
ALIGATOR_UNARY_FUNCTION_INTERFACE
(
Scalar
);
18
using
BaseData
=
typename
Base::Data
;
19
using
Model
= pinocchio::ModelTpl<Scalar>;
20
using
SE3
= pinocchio::SE3Tpl<Scalar>;
21
using
Data
=
DCMPositionDataTpl<Scalar>
;
22
23
Model
pin_model_
;
24
25
DCMPositionResidualTpl
(
const
int
ndx,
const
int
nu
,
const
Model
&model,
26
const
Vector3s &dcm_ref,
const
double
alpha)
27
:
Base
(ndx,
nu
, 3)
28
,
pin_model_
(model)
29
,
dcm_ref_
(dcm_ref)
30
,
alpha_
(alpha) {}
31
32
const
Vector3s &
getReference
()
const
{
return
dcm_ref_
; }
33
void
setReference
(
const
Eigen::Ref<const Vector3s> &new_ref) {
34
dcm_ref_
= new_ref;
35
}
36
37
void
evaluate
(
const
ConstVectorRef &x,
BaseData
&data)
const
;
38
39
void
computeJacobians
(
const
ConstVectorRef &x,
BaseData
&data)
const
;
40
41
shared_ptr<BaseData>
createData
()
const
{
42
return
std::make_shared<Data>(*
this
);
43
}
44
45
protected
:
46
Vector3s
dcm_ref_
;
47
double
alpha_
;
48
};
49
50
template
<
typename
Scalar>
51
struct
DCMPositionDataTpl
:
StageFunctionDataTpl
<Scalar> {
52
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
53
using
Base
=
StageFunctionDataTpl<Scalar>
;
54
using
PinData
= pinocchio::DataTpl<Scalar>;
55
57
PinData
pin_data_
;
59
typename
math_types<Scalar>::Matrix3Xs
fJf_
;
60
61
DCMPositionDataTpl
(
const
DCMPositionResidualTpl<Scalar>
&model);
62
};
63
64
#ifdef ALIGATOR_ENABLE_TEMPLATE_INSTANTIATION
65
extern
template
struct
DCMPositionResidualTpl<context::Scalar>
;
66
extern
template
struct
DCMPositionDataTpl<context::Scalar>
;
67
#endif
68
}
// namespace aligator
fwd.hpp
aligator
Main package namespace.
Definition
action-model-wrap.hpp:14
aligator::DCMPositionDataTpl
Definition
dcm-position.hpp:51
aligator::DCMPositionDataTpl::fJf_
math_types< Scalar >::Matrix3Xs fJf_
Jacobian of the error.
Definition
dcm-position.hpp:59
aligator::DCMPositionDataTpl::PinData
pinocchio::DataTpl< Scalar > PinData
Definition
dcm-position.hpp:54
aligator::DCMPositionDataTpl::pin_data_
PinData pin_data_
Pinocchio data object.
Definition
dcm-position.hpp:57
aligator::DCMPositionDataTpl::DCMPositionDataTpl
DCMPositionDataTpl(const DCMPositionResidualTpl< Scalar > &model)
aligator::DCMPositionDataTpl::Base
StageFunctionDataTpl< Scalar > Base
Definition
dcm-position.hpp:53
aligator::DCMPositionResidualTpl
Definition
dcm-position.hpp:13
aligator::DCMPositionResidualTpl::ALIGATOR_UNARY_FUNCTION_INTERFACE
ALIGATOR_UNARY_FUNCTION_INTERFACE(Scalar)
aligator::DCMPositionResidualTpl::BaseData
typename Base::Data BaseData
Definition
dcm-position.hpp:18
aligator::DCMPositionResidualTpl::ALIGATOR_DYNAMIC_TYPEDEFS
ALIGATOR_DYNAMIC_TYPEDEFS(Scalar)
aligator::DCMPositionResidualTpl::DCMPositionResidualTpl
DCMPositionResidualTpl(const int ndx, const int nu, const Model &model, const Vector3s &dcm_ref, const double alpha)
Definition
dcm-position.hpp:25
aligator::DCMPositionResidualTpl::Model
pinocchio::ModelTpl< Scalar > Model
Definition
dcm-position.hpp:19
aligator::DCMPositionResidualTpl::SE3
pinocchio::SE3Tpl< Scalar > SE3
Definition
dcm-position.hpp:20
aligator::DCMPositionResidualTpl::Data
DCMPositionDataTpl< Scalar > Data
Definition
dcm-position.hpp:21
aligator::DCMPositionResidualTpl::computeJacobians
void computeJacobians(const ConstVectorRef &x, BaseData &data) const
aligator::DCMPositionResidualTpl::setReference
void setReference(const Eigen::Ref< const Vector3s > &new_ref)
Definition
dcm-position.hpp:33
aligator::DCMPositionResidualTpl::createData
shared_ptr< BaseData > createData() const
Instantiate a Data object.
Definition
dcm-position.hpp:41
aligator::DCMPositionResidualTpl::alpha_
double alpha_
Definition
dcm-position.hpp:47
aligator::DCMPositionResidualTpl::evaluate
void evaluate(const ConstVectorRef &x, BaseData &data) const
aligator::DCMPositionResidualTpl::Scalar
_Scalar Scalar
Definition
dcm-position.hpp:15
aligator::DCMPositionResidualTpl::getReference
const Vector3s & getReference() const
Definition
dcm-position.hpp:32
aligator::DCMPositionResidualTpl::dcm_ref_
Vector3s dcm_ref_
Definition
dcm-position.hpp:46
aligator::DCMPositionResidualTpl::pin_model_
Model pin_model_
Definition
dcm-position.hpp:23
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
aligator::math_types
Typedefs for math (Eigen vectors, matrices) depending on scalar type.
Definition
math.hpp:123
unary-function.hpp
include
aligator
modelling
multibody
dcm-position.hpp
Generated by
1.17.0