hpp-pinocchio 6.0.0
Wrapping of the kinematic/dynamic chain Pinocchio for HPP.
Loading...
Searching...
No Matches
joint-collection.hh
Go to the documentation of this file.
1//
2// Copyright (c) 2018 CNRS
3// Author: Joseph Mirabel
4//
5//
6
7// Redistribution and use in source and binary forms, with or without
8// modification, are permitted provided that the following conditions are
9// met:
10//
11// 1. Redistributions of source code must retain the above copyright
12// notice, this list of conditions and the following disclaimer.
13//
14// 2. Redistributions in binary form must reproduce the above copyright
15// notice, this list of conditions and the following disclaimer in the
16// documentation and/or other materials provided with the distribution.
17//
18// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22// HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
29// DAMAGE.
30
31#ifndef HPP_PINOCCHIO_JOINT_COLLECTION_HH
32#define HPP_PINOCCHIO_JOINT_COLLECTION_HH
33
34#include <boost/variant.hpp>
35#include <boost/variant/recursive_wrapper.hpp>
36
37#include "pinocchio/multibody/joint/fwd.hpp"
38#include "pinocchio/multibody/joint/joint-free-flyer.hpp"
39#include "pinocchio/multibody/joint/joint-planar.hpp"
40#include "pinocchio/multibody/joint/joint-prismatic-unaligned.hpp"
41#include "pinocchio/multibody/joint/joint-prismatic.hpp"
42#include "pinocchio/multibody/joint/joint-revolute-unaligned.hpp"
43#include "pinocchio/multibody/joint/joint-revolute-unbounded-unaligned.hpp"
44#include "pinocchio/multibody/joint/joint-revolute-unbounded.hpp"
45#include "pinocchio/multibody/joint/joint-revolute.hpp"
46// #include "pinocchio/multibody/joint/joint-spherical-ZYX.hpp"
47// #include "pinocchio/multibody/joint/joint-spherical.hpp"
48#include "pinocchio/multibody/joint/joint-translation.hpp"
49
50namespace hpp {
51namespace pinocchio {
52
53template <typename _Scalar, int _Options>
55 typedef _Scalar Scalar;
56 enum { Options = _Options };
57
58 // Joint Revolute
59 typedef ::pinocchio::JointModelRevoluteTpl<Scalar, Options, 0> JointModelRX;
60 typedef ::pinocchio::JointModelRevoluteTpl<Scalar, Options, 1> JointModelRY;
61 typedef ::pinocchio::JointModelRevoluteTpl<Scalar, Options, 2> JointModelRZ;
62
63 // Joint Revolute Unaligned
64 typedef ::pinocchio::JointModelRevoluteUnalignedTpl<Scalar, Options>
66
67 // Joint Revolute UBounded
68 typedef ::pinocchio::JointModelRevoluteUnboundedTpl<Scalar, Options, 0>
70 typedef ::pinocchio::JointModelRevoluteUnboundedTpl<Scalar, Options, 1>
72 typedef ::pinocchio::JointModelRevoluteUnboundedTpl<Scalar, Options, 2>
74
75 // Joint Revolute Unbounded Unaligned
76 typedef ::pinocchio::JointModelRevoluteUnboundedUnalignedTpl<Scalar, Options>
78
79 // Joint Prismatic
80 typedef ::pinocchio::JointModelPrismaticTpl<Scalar, Options, 0> JointModelPX;
81 typedef ::pinocchio::JointModelPrismaticTpl<Scalar, Options, 1> JointModelPY;
82 typedef ::pinocchio::JointModelPrismaticTpl<Scalar, Options, 2> JointModelPZ;
83
84 // Joint Prismatic Unaligned
85 typedef ::pinocchio::JointModelPrismaticUnalignedTpl<Scalar, Options>
87
88 // Joint Spherical
89 typedef ::pinocchio::JointModelSphericalTpl<Scalar, Options>
91
92 // Joint Spherical ZYX
93 typedef ::pinocchio::JointModelSphericalZYXTpl<Scalar, Options>
95
96 // Joint Translation
97 typedef ::pinocchio::JointModelTranslationTpl<Scalar, Options>
99
100 // Joint FreeFlyer
101 typedef ::pinocchio::JointModelFreeFlyerTpl<Scalar, Options>
103
104 // Joint Planar
105 typedef ::pinocchio::JointModelPlanarTpl<Scalar, Options> JointModelPlanar;
106
107 typedef boost::variant<
110#if PINOCCHIO_VERSION_AT_LEAST(3, 0, 0)
112#endif
117
118 // Joint Revolute
119 typedef ::pinocchio::JointDataRevoluteTpl<Scalar, Options, 0> JointDataRX;
120 typedef ::pinocchio::JointDataRevoluteTpl<Scalar, Options, 1> JointDataRY;
121 typedef ::pinocchio::JointDataRevoluteTpl<Scalar, Options, 2> JointDataRZ;
122
123 // Joint Revolute Unaligned
124 typedef ::pinocchio::JointDataRevoluteUnalignedTpl<Scalar, Options>
126
127 // Joint Revolute UBounded
128 typedef ::pinocchio::JointDataRevoluteUnboundedTpl<Scalar, Options, 0>
130 typedef ::pinocchio::JointDataRevoluteUnboundedTpl<Scalar, Options, 1>
132 typedef ::pinocchio::JointDataRevoluteUnboundedTpl<Scalar, Options, 2>
134
135 // Joint Revolute Unbounded Unaligned
136 typedef ::pinocchio::JointDataRevoluteUnboundedUnalignedTpl<Scalar, Options>
138
139 // Joint Prismatic
140 typedef ::pinocchio::JointDataPrismaticTpl<Scalar, Options, 0> JointDataPX;
141 typedef ::pinocchio::JointDataPrismaticTpl<Scalar, Options, 1> JointDataPY;
142 typedef ::pinocchio::JointDataPrismaticTpl<Scalar, Options, 2> JointDataPZ;
143
144 // Joint Prismatic Unaligned
145 typedef ::pinocchio::JointDataPrismaticUnalignedTpl<Scalar, Options>
147
148 // Joint Spherical
149 typedef ::pinocchio::JointDataSphericalTpl<Scalar, Options>
151
152 // Joint Spherical ZYX
153 typedef ::pinocchio::JointDataSphericalZYXTpl<Scalar, Options>
155
156 // Joint Translation
157 typedef ::pinocchio::JointDataTranslationTpl<Scalar, Options>
159
160 // Joint FreeFlyer
161 typedef ::pinocchio::JointDataFreeFlyerTpl<Scalar, Options>
163
164 // Joint Planar
165 typedef ::pinocchio::JointDataPlanarTpl<Scalar, Options> JointDataPlanar;
166
167 // Joint Composite
168 typedef ::pinocchio::JointDataCompositeTpl<Scalar, Options,
171
172 typedef boost::variant<
173 // JointDataVoid
176#if PINOCCHIO_VERSION_AT_LEAST(3, 0, 0)
178#endif
183};
184
187
188} // namespace pinocchio
189} // namespace hpp
190
191#endif // HPP_PINOCCHIO_JOINT_COLLECTION_HH
JointCollection::JointModelVariant JointModelVariant
Definition joint-collection.hh:185
JointCollection::JointDataVariant JointDataVariant
Definition joint-collection.hh:186
Utility functions.
Definition body.hh:39
Definition collision-object.hh:40
Definition joint-collection.hh:54
::pinocchio::JointDataRevoluteUnboundedTpl< Scalar, Options, 2 > JointDataRUBZ
Definition joint-collection.hh:133
_Scalar Scalar
Definition joint-collection.hh:55
::pinocchio::JointModelPrismaticTpl< Scalar, Options, 2 > JointModelPZ
Definition joint-collection.hh:82
::pinocchio::JointDataSphericalTpl< Scalar, Options > JointDataSpherical
Definition joint-collection.hh:150
::pinocchio::JointModelFreeFlyerTpl< Scalar, Options > JointModelFreeFlyer
Definition joint-collection.hh:102
::pinocchio::JointDataPrismaticTpl< Scalar, Options, 2 > JointDataPZ
Definition joint-collection.hh:142
::pinocchio::JointDataPrismaticTpl< Scalar, Options, 1 > JointDataPY
Definition joint-collection.hh:141
::pinocchio::JointDataRevoluteUnboundedTpl< Scalar, Options, 0 > JointDataRUBX
Definition joint-collection.hh:129
boost::variant< JointDataRX, JointDataRY, JointDataRZ, JointDataFreeFlyer, JointDataPlanar, JointDataRevoluteUnaligned, JointDataRevoluteUnboundedUnaligned, JointDataPX, JointDataPY, JointDataPZ, JointDataPrismaticUnaligned, JointDataTranslation, JointDataRUBX, JointDataRUBY, JointDataRUBZ > JointDataVariant
Definition joint-collection.hh:182
::pinocchio::JointModelPlanarTpl< Scalar, Options > JointModelPlanar
Definition joint-collection.hh:105
::pinocchio::JointDataRevoluteUnboundedUnalignedTpl< Scalar, Options > JointDataRevoluteUnboundedUnaligned
Definition joint-collection.hh:137
::pinocchio::JointDataRevoluteUnalignedTpl< Scalar, Options > JointDataRevoluteUnaligned
Definition joint-collection.hh:125
::pinocchio::JointDataTranslationTpl< Scalar, Options > JointDataTranslation
Definition joint-collection.hh:158
::pinocchio::JointDataRevoluteTpl< Scalar, Options, 0 > JointDataRX
Definition joint-collection.hh:119
::pinocchio::JointModelRevoluteUnalignedTpl< Scalar, Options > JointModelRevoluteUnaligned
Definition joint-collection.hh:65
::pinocchio::JointModelRevoluteTpl< Scalar, Options, 0 > JointModelRX
Definition joint-collection.hh:59
::pinocchio::JointDataRevoluteTpl< Scalar, Options, 1 > JointDataRY
Definition joint-collection.hh:120
::pinocchio::JointModelPrismaticTpl< Scalar, Options, 0 > JointModelPX
Definition joint-collection.hh:80
::pinocchio::JointModelSphericalZYXTpl< Scalar, Options > JointModelSphericalZYX
Definition joint-collection.hh:94
@ Options
Definition joint-collection.hh:56
::pinocchio::JointModelRevoluteTpl< Scalar, Options, 1 > JointModelRY
Definition joint-collection.hh:60
::pinocchio::JointDataPlanarTpl< Scalar, Options > JointDataPlanar
Definition joint-collection.hh:165
::pinocchio::JointDataPrismaticTpl< Scalar, Options, 0 > JointDataPX
Definition joint-collection.hh:140
::pinocchio::JointModelRevoluteUnboundedTpl< Scalar, Options, 2 > JointModelRUBZ
Definition joint-collection.hh:73
::pinocchio::JointModelRevoluteUnboundedTpl< Scalar, Options, 1 > JointModelRUBY
Definition joint-collection.hh:71
::pinocchio::JointModelPrismaticTpl< Scalar, Options, 1 > JointModelPY
Definition joint-collection.hh:81
::pinocchio::JointModelRevoluteTpl< Scalar, Options, 2 > JointModelRZ
Definition joint-collection.hh:61
boost::variant< JointModelRX, JointModelRY, JointModelRZ, JointModelFreeFlyer, JointModelPlanar, JointModelRevoluteUnaligned, JointModelRevoluteUnboundedUnaligned, JointModelPX, JointModelPY, JointModelPZ, JointModelPrismaticUnaligned, JointModelTranslation, JointModelRUBX, JointModelRUBY, JointModelRUBZ > JointModelVariant
Definition joint-collection.hh:116
::pinocchio::JointDataCompositeTpl< Scalar, Options, pinocchio::JointCollectionTpl > JointDataComposite
Definition joint-collection.hh:170
::pinocchio::JointDataSphericalZYXTpl< Scalar, Options > JointDataSphericalZYX
Definition joint-collection.hh:154
::pinocchio::JointDataRevoluteTpl< Scalar, Options, 2 > JointDataRZ
Definition joint-collection.hh:121
::pinocchio::JointModelRevoluteUnboundedUnalignedTpl< Scalar, Options > JointModelRevoluteUnboundedUnaligned
Definition joint-collection.hh:77
::pinocchio::JointDataRevoluteUnboundedTpl< Scalar, Options, 1 > JointDataRUBY
Definition joint-collection.hh:131
::pinocchio::JointModelSphericalTpl< Scalar, Options > JointModelSpherical
Definition joint-collection.hh:90
::pinocchio::JointDataPrismaticUnalignedTpl< Scalar, Options > JointDataPrismaticUnaligned
Definition joint-collection.hh:146
::pinocchio::JointModelPrismaticUnalignedTpl< Scalar, Options > JointModelPrismaticUnaligned
Definition joint-collection.hh:86
::pinocchio::JointDataFreeFlyerTpl< Scalar, Options > JointDataFreeFlyer
Definition joint-collection.hh:162
::pinocchio::JointModelTranslationTpl< Scalar, Options > JointModelTranslation
Definition joint-collection.hh:98
::pinocchio::JointModelRevoluteUnboundedTpl< Scalar, Options, 0 > JointModelRUBX
Definition joint-collection.hh:69