pinocchio
3.3.0
A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives
liegroup.hpp
1
//
2
// Copyright (c) 2016-2019 CNRS INRIA
3
//
4
5
#ifndef __pinocchio_lie_group_hpp__
6
#define __pinocchio_lie_group_hpp__
7
8
#include "pinocchio/multibody/liegroup/vector-space.hpp"
9
#include "pinocchio/multibody/liegroup/cartesian-product.hpp"
10
#include "pinocchio/multibody/liegroup/special-orthogonal.hpp"
11
#include "pinocchio/multibody/liegroup/special-euclidean.hpp"
12
13
#include "pinocchio/multibody/joint/fwd.hpp"
14
15
namespace
pinocchio
16
{
17
struct
LieGroupMap
18
{
19
template
<
typename
Jo
int
Model>
20
struct
operation
21
{
22
typedef
VectorSpaceOperationTpl
<
23
JointModel::NQ,
24
typename
JointModel::Scalar,
25
JointModel::Options>
26
type
;
27
};
28
};
29
30
template
<
typename
Jo
int
Model>
31
struct
LieGroup
32
{
33
typedef
typename
LieGroupMap::operation<JointModel>::type
type
;
34
};
35
36
template
<
typename
Scalar,
int
Options,
template
<
typename
S,
int
O>
class
JointCollectionTpl>
37
struct
LieGroupMap::operation
<
JointModelCompositeTpl
<Scalar, Options, JointCollectionTpl>>
38
{
39
};
40
41
template
<
typename
Scalar,
int
Options>
42
struct
LieGroupMap::operation
<
JointModelSphericalTpl
<Scalar, Options>>
43
{
44
typedef
SpecialOrthogonalOperationTpl<3, Scalar, Options>
type
;
45
};
46
47
template
<
typename
Scalar,
int
Options>
48
struct
LieGroupMap::operation
<
JointModelFreeFlyerTpl
<Scalar, Options>>
49
{
50
typedef
SpecialEuclideanOperationTpl<3, Scalar, Options>
type
;
51
};
52
53
template
<
typename
Scalar,
int
Options>
54
struct
LieGroupMap::operation
<
JointModelPlanarTpl
<Scalar, Options>>
55
{
56
typedef
SpecialEuclideanOperationTpl<2, Scalar, Options>
type
;
57
};
58
59
template
<
typename
Scalar,
int
Options,
int
axis>
60
struct
LieGroupMap::operation
<
JointModelRevoluteUnboundedTpl
<Scalar, Options, axis>>
61
{
62
typedef
SpecialOrthogonalOperationTpl<2, Scalar, Options>
type
;
63
};
64
65
template
<
typename
Scalar,
int
Options>
66
struct
LieGroupMap::operation
<
JointModelRevoluteUnboundedUnalignedTpl
<Scalar, Options>>
67
{
68
typedef
SpecialOrthogonalOperationTpl<2, Scalar, Options>
type
;
69
};
70
71
}
// namespace pinocchio
72
73
#endif
// ifndef __pinocchio_lie_group_hpp__
pinocchio
Main pinocchio namespace.
Definition:
treeview.dox:11
pinocchio::JointModelCompositeTpl
Definition:
joint-composite.hpp:179
pinocchio::JointModelFreeFlyerTpl
Free-flyer joint in .
Definition:
joint-free-flyer.hpp:283
pinocchio::JointModelPlanarTpl
Definition:
joint-planar.hpp:560
pinocchio::JointModelRevoluteUnboundedTpl
Definition:
joint-revolute-unbounded.hpp:120
pinocchio::JointModelRevoluteUnboundedUnalignedTpl
Definition:
joint-revolute-unbounded-unaligned.hpp:134
pinocchio::JointModelSphericalTpl
Definition:
joint-spherical.hpp:473
pinocchio::LieGroupMap::operation
Definition:
liegroup.hpp:21
pinocchio::LieGroupMap
Definition:
liegroup.hpp:18
pinocchio::LieGroup
Definition:
liegroup.hpp:32
pinocchio::SpecialEuclideanOperationTpl
Definition:
special-euclidean.hpp:26
pinocchio::SpecialOrthogonalOperationTpl
Definition:
special-orthogonal.hpp:19
pinocchio::VectorSpaceOperationTpl
Definition:
vector-space.hpp:33
include
pinocchio
multibody
liegroup
liegroup.hpp
Generated by
1.9.1