pinocchio
3.3.1
A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives
joint-collection.hpp
1
//
2
// Copyright (c) 2018-2019 CNRS INRIA
3
//
4
5
#ifndef __pinocchio_multibody_joint_collection_hpp__
6
#define __pinocchio_multibody_joint_collection_hpp__
7
8
#include "pinocchio/multibody/joint/fwd.hpp"
9
#include "pinocchio/multibody/joint/joints.hpp"
10
11
#include <boost/variant.hpp>
12
#include <boost/variant/recursive_wrapper.hpp>
13
14
namespace
pinocchio
15
{
16
17
template
<
typename
_Scalar,
int
_Options>
18
struct
JointCollectionDefaultTpl
19
{
20
typedef
_Scalar Scalar;
21
enum
22
{
23
Options = _Options
24
};
25
26
// Joint Revolute
27
typedef
JointModelRevoluteTpl<Scalar, Options, 0>
JointModelRX
;
28
typedef
JointModelRevoluteTpl<Scalar, Options, 1>
JointModelRY
;
29
typedef
JointModelRevoluteTpl<Scalar, Options, 2>
JointModelRZ
;
30
31
typedef
JointModelMimic<JointModelRX>
JointModelMimicRX
;
32
typedef
JointModelMimic<JointModelRY>
JointModelMimicRY
;
33
typedef
JointModelMimic<JointModelRZ>
JointModelMimicRZ
;
34
35
// Joint Revolute Unaligned
36
typedef
JointModelRevoluteUnalignedTpl<Scalar, Options>
JointModelRevoluteUnaligned
;
37
38
// Joint Revolute UBounded
39
typedef
JointModelRevoluteUnboundedTpl<Scalar, Options, 0>
JointModelRUBX
;
40
typedef
JointModelRevoluteUnboundedTpl<Scalar, Options, 1>
JointModelRUBY
;
41
typedef
JointModelRevoluteUnboundedTpl<Scalar, Options, 2>
JointModelRUBZ
;
42
43
// Joint Revolute Unbounded Unaligned
44
typedef
JointModelRevoluteUnboundedUnalignedTpl<Scalar, Options>
45
JointModelRevoluteUnboundedUnaligned
;
46
47
// Joint Prismatic
48
typedef
JointModelPrismaticTpl<Scalar, Options, 0>
JointModelPX
;
49
typedef
JointModelPrismaticTpl<Scalar, Options, 1>
JointModelPY
;
50
typedef
JointModelPrismaticTpl<Scalar, Options, 2>
JointModelPZ
;
51
52
// Joint Prismatic Unaligned
53
typedef
JointModelPrismaticUnalignedTpl<Scalar, Options>
JointModelPrismaticUnaligned
;
54
55
// Joint Spherical
56
typedef
JointModelSphericalTpl<Scalar, Options>
JointModelSpherical
;
57
58
// Joint Spherical ZYX
59
typedef
JointModelSphericalZYXTpl<Scalar, Options>
JointModelSphericalZYX
;
60
61
// Joint Translation
62
typedef
JointModelTranslationTpl<Scalar, Options>
JointModelTranslation
;
63
64
// Joint FreeFlyer
65
typedef
JointModelFreeFlyerTpl<Scalar, Options>
JointModelFreeFlyer
;
66
67
// Joint Planar
68
typedef
JointModelPlanarTpl<Scalar, Options>
JointModelPlanar
;
69
70
// Joint Composite
71
typedef
JointModelCompositeTpl<Scalar, Options, ::pinocchio::JointCollectionDefaultTpl>
72
JointModelComposite
;
73
74
// Joint Helical
75
typedef
JointModelHelicalTpl<Scalar, Options, 0>
JointModelHx
;
76
typedef
JointModelHelicalTpl<Scalar, Options, 1>
JointModelHy
;
77
typedef
JointModelHelicalTpl<Scalar, Options, 2>
JointModelHz
;
78
79
// Joint Helical Unaligned
80
typedef
JointModelHelicalUnalignedTpl<Scalar, Options>
JointModelHelicalUnaligned
;
81
82
// Joint Universal
83
typedef
JointModelUniversalTpl<Scalar, Options>
JointModelUniversal
;
84
85
typedef
boost::variant<
86
// JointModelVoid,
87
JointModelRX
,
88
JointModelRY
,
89
JointModelRZ
,
90
JointModelMimicRX
,
91
JointModelMimicRY
,
92
JointModelMimicRZ
,
93
JointModelFreeFlyer
,
94
JointModelPlanar
,
95
JointModelRevoluteUnaligned
,
96
JointModelSpherical
,
97
JointModelSphericalZYX
,
98
JointModelPX
,
99
JointModelPY
,
100
JointModelPZ
,
101
JointModelPrismaticUnaligned
,
102
JointModelTranslation
,
103
JointModelRUBX
,
104
JointModelRUBY
,
105
JointModelRUBZ
,
106
JointModelRevoluteUnboundedUnaligned
,
107
JointModelHx
,
108
JointModelHy
,
109
JointModelHz
,
110
JointModelHelicalUnaligned
,
111
JointModelUniversal
,
112
boost::recursive_wrapper<JointModelComposite>>
113
JointModelVariant;
114
115
// Joint Revolute
116
typedef
JointDataRevoluteTpl<Scalar, Options, 0>
JointDataRX
;
117
typedef
JointDataRevoluteTpl<Scalar, Options, 1>
JointDataRY
;
118
typedef
JointDataRevoluteTpl<Scalar, Options, 2>
JointDataRZ
;
119
120
typedef
JointDataMimic<JointDataRX>
JointDataMimicRX
;
121
typedef
JointDataMimic<JointDataRY>
JointDataMimicRY
;
122
typedef
JointDataMimic<JointDataRZ>
JointDataMimicRZ
;
123
124
// Joint Revolute Unaligned
125
typedef
JointDataRevoluteUnalignedTpl<Scalar, Options>
JointDataRevoluteUnaligned
;
126
127
// Joint Revolute Unaligned
128
typedef
JointDataRevoluteUnboundedUnalignedTpl<Scalar, Options>
129
JointDataRevoluteUnboundedUnaligned
;
130
131
// Joint Revolute UBounded
132
typedef
JointDataRevoluteUnboundedTpl<Scalar, Options, 0>
JointDataRUBX
;
133
typedef
JointDataRevoluteUnboundedTpl<Scalar, Options, 1>
JointDataRUBY
;
134
typedef
JointDataRevoluteUnboundedTpl<Scalar, Options, 2>
JointDataRUBZ
;
135
136
// Joint Prismatic
137
typedef
JointDataPrismaticTpl<Scalar, Options, 0>
JointDataPX
;
138
typedef
JointDataPrismaticTpl<Scalar, Options, 1>
JointDataPY
;
139
typedef
JointDataPrismaticTpl<Scalar, Options, 2>
JointDataPZ
;
140
141
// Joint Prismatic Unaligned
142
typedef
JointDataPrismaticUnalignedTpl<Scalar, Options>
JointDataPrismaticUnaligned
;
143
144
// Joint Spherical
145
typedef
JointDataSphericalTpl<Scalar, Options>
JointDataSpherical
;
146
147
// Joint Spherical ZYX
148
typedef
JointDataSphericalZYXTpl<Scalar, Options>
JointDataSphericalZYX
;
149
150
// Joint Translation
151
typedef
JointDataTranslationTpl<Scalar, Options>
JointDataTranslation
;
152
153
// Joint FreeFlyer
154
typedef
JointDataFreeFlyerTpl<Scalar, Options>
JointDataFreeFlyer
;
155
156
// Joint Planar
157
typedef
JointDataPlanarTpl<Scalar, Options>
JointDataPlanar
;
158
159
// Joint Composite
160
typedef
JointDataCompositeTpl<Scalar, Options, ::pinocchio::JointCollectionDefaultTpl>
161
JointDataComposite
;
162
163
// Joint Helical
164
typedef
JointDataHelicalTpl<Scalar, Options, 0>
JointDataHx
;
165
typedef
JointDataHelicalTpl<Scalar, Options, 1>
JointDataHy
;
166
typedef
JointDataHelicalTpl<Scalar, Options, 2>
JointDataHz
;
167
168
// Joint Helical Unaligned
169
typedef
JointDataHelicalUnalignedTpl<Scalar, Options>
JointDataHelicalUnaligned
;
170
171
// Joint Universal
172
typedef
JointDataUniversalTpl<Scalar, Options>
JointDataUniversal
;
173
174
typedef
boost::variant<
175
// JointDataVoid
176
JointDataRX
,
177
JointDataRY
,
178
JointDataRZ
,
179
JointDataMimicRX
,
180
JointDataMimicRY
,
181
JointDataMimicRZ
,
182
JointDataFreeFlyer
,
183
JointDataPlanar
,
184
JointDataRevoluteUnaligned
,
185
JointDataSpherical
,
186
JointDataSphericalZYX
,
187
JointDataPX
,
188
JointDataPY
,
189
JointDataPZ
,
190
JointDataPrismaticUnaligned
,
191
JointDataTranslation
,
192
JointDataRUBX
,
193
JointDataRUBY
,
194
JointDataRUBZ
,
195
JointDataRevoluteUnboundedUnaligned
,
196
JointDataHx
,
197
JointDataHy
,
198
JointDataHz
,
199
JointDataHelicalUnaligned
,
200
JointDataUniversal
,
201
boost::recursive_wrapper<JointDataComposite>>
202
JointDataVariant;
203
};
204
205
typedef
JointCollectionDefault::JointModelVariant JointModelVariant;
206
typedef
JointCollectionDefault::JointDataVariant JointDataVariant;
207
208
}
// namespace pinocchio
209
210
#endif
// ifndef __pinocchio_multibody_joint_collection_hpp__
pinocchio
Main pinocchio namespace.
Definition:
treeview.dox:11
pinocchio::JointCollectionDefaultTpl
Definition:
joint-collection.hpp:19
pinocchio::JointDataCompositeTpl
Definition:
joint-composite.hpp:70
pinocchio::JointDataFreeFlyerTpl
Definition:
joint-free-flyer.hpp:212
pinocchio::JointDataHelicalTpl
Definition:
joint-helical.hpp:779
pinocchio::JointDataHelicalUnalignedTpl
Definition:
joint-helical-unaligned.hpp:569
pinocchio::JointDataMimic
Definition:
joint-mimic.hpp:363
pinocchio::JointDataPlanarTpl
Definition:
joint-planar.hpp:514
pinocchio::JointDataPrismaticTpl
Definition:
joint-prismatic.hpp:615
pinocchio::JointDataPrismaticUnalignedTpl
Definition:
joint-prismatic-unaligned.hpp:516
pinocchio::JointDataRevoluteTpl
Definition:
joint-revolute.hpp:703
pinocchio::JointDataRevoluteUnalignedTpl
Definition:
joint-revolute-unaligned.hpp:548
pinocchio::JointDataRevoluteUnboundedTpl
Definition:
joint-revolute-unbounded.hpp:68
pinocchio::JointDataRevoluteUnboundedUnalignedTpl
Definition:
joint-revolute-unbounded-unaligned.hpp:71
pinocchio::JointDataSphericalTpl
Definition:
joint-spherical.hpp:426
pinocchio::JointDataSphericalZYXTpl
Definition:
joint-spherical-ZYX.hpp:324
pinocchio::JointDataTranslationTpl
Definition:
joint-translation.hpp:523
pinocchio::JointDataUniversalTpl
Definition:
joint-universal.hpp:357
pinocchio::JointModelCompositeTpl
Definition:
joint-composite.hpp:179
pinocchio::JointModelFreeFlyerTpl
Free-flyer joint in .
Definition:
joint-free-flyer.hpp:283
pinocchio::JointModelHelicalTpl
Definition:
joint-helical.hpp:831
pinocchio::JointModelHelicalUnalignedTpl
Definition:
joint-helical-unaligned.hpp:631
pinocchio::JointModelMimic
Definition:
joint-mimic.hpp:574
pinocchio::JointModelPlanarTpl
Definition:
joint-planar.hpp:560
pinocchio::JointModelPrismaticTpl
Definition:
joint-prismatic.hpp:667
pinocchio::JointModelPrismaticUnalignedTpl
Definition:
joint-prismatic-unaligned.hpp:585
pinocchio::JointModelRevoluteTpl
Definition:
joint-revolute.hpp:755
pinocchio::JointModelRevoluteUnalignedTpl
Definition:
joint-revolute-unaligned.hpp:610
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::JointModelSphericalZYXTpl
Definition:
joint-spherical-ZYX.hpp:373
pinocchio::JointModelTranslationTpl
Definition:
joint-translation.hpp:570
pinocchio::JointModelUniversalTpl
Definition:
joint-universal.hpp:405
include
pinocchio
multibody
joint
joint-collection.hpp
Generated by
1.9.1