hpp-constraints  6.0.0
Definition of basic geometric constraints for motion planning
fwd.hh
Go to the documentation of this file.
1 
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_CONSTRAINTS_FWD_HH
32 #define HPP_CONSTRAINTS_FWD_HH
33 
35 #include <hpp/pinocchio/fwd.hh>
36 #include <list>
37 
38 namespace Eigen {
39 struct BlockIndex;
40 } // namespace Eigen
41 
42 namespace hpp {
43 namespace constraints {
54 typedef Eigen::Matrix<value_type, 6, 6> matrix6_t;
55 typedef Eigen::Matrix<value_type, 8, 1> vector8_t;
57 typedef Eigen::Ref<const matrix_t> matrixIn_t;
58 typedef Eigen::Ref<matrix_t> matrixOut_t;
71 namespace eigen {
72 typedef Eigen::Matrix<value_type, 3, 3> matrix3_t;
73 typedef Eigen::Matrix<value_type, 3, 1> vector3_t;
74 } // namespace eigen
75 typedef Eigen::Matrix<value_type, 5, 1> vector5_t;
76 typedef Eigen::Matrix<value_type, 6, 1> vector6_t;
77 typedef Eigen::Matrix<value_type, 7, 1> vector7_t;
78 typedef Eigen::Quaternion<value_type> Quaternion_t;
79 
82 
83 typedef std::pair<size_type, size_type> segment_t;
84 typedef std::vector<segment_t> segments_t;
85 
92 class ConvexShape;
93 typedef std::vector<ConvexShape> ConvexShapes_t;
101 
113 typedef shared_ptr<DifferentiableFunction> DifferentiableFunctionPtr_t;
114 typedef shared_ptr<DifferentiableFunctionSet> DifferentiableFunctionSetPtr_t;
115 typedef shared_ptr<ActiveSetDifferentiableFunction>
117 typedef shared_ptr<DistanceBetweenBodies> DistanceBetweenBodiesPtr_t;
118 typedef shared_ptr<DistanceBetweenPointsInBodies>
120 typedef shared_ptr<RelativeCom> RelativeComPtr_t;
121 typedef shared_ptr<ComBetweenFeet> ComBetweenFeetPtr_t;
124 typedef std::vector<vector3_t> Shape_t;
125 typedef std::pair<JointPtr_t, Shape_t> JointAndShape_t;
126 typedef std::vector<JointAndShape_t> JointAndShapes_t;
127 typedef shared_ptr<ConvexShapeContact> ConvexShapeContactPtr_t;
128 typedef shared_ptr<ConvexShapeContactComplement>
130 typedef shared_ptr<ConvexShapeContactHold> ConvexShapeContactHoldPtr_t;
131 typedef shared_ptr<StaticStability> StaticStabilityPtr_t;
132 typedef shared_ptr<QPStaticStability> QPStaticStabilityPtr_t;
133 typedef shared_ptr<ConfigurationConstraint> ConfigurationConstraintPtr_t;
134 typedef shared_ptr<Identity> IdentityPtr_t;
135 typedef shared_ptr<AffineFunction> AffineFunctionPtr_t;
136 typedef shared_ptr<ConstantFunction> ConstantFunctionPtr_t;
137 
138 template <int _Options>
140 
142 const int RelativeBit = 0x1;
143 const int PositionBit = 0x2;
144 const int OrientationBit = 0x4;
145 const int OutputR3xSO3Bit = 0x8;
156 typedef GenericTransformation<RelativeBit | PositionBit | OrientationBit |
157  OutputR3xSO3Bit>
162 
163 typedef shared_ptr<Position> PositionPtr_t;
164 typedef shared_ptr<Orientation> OrientationPtr_t;
165 typedef shared_ptr<Transformation> TransformationPtr_t;
166 typedef shared_ptr<RelativePosition> RelativePositionPtr_t;
167 typedef shared_ptr<RelativeOrientation> RelativeOrientationPtr_t;
168 typedef shared_ptr<RelativeTransformation> RelativeTransformationPtr_t;
169 
171 
173 typedef shared_ptr<Implicit> ImplicitPtr_t;
174 typedef shared_ptr<const Implicit> ImplicitConstPtr_t;
175 typedef std::vector<constraints::ImplicitPtr_t> NumericalConstraints_t;
177 typedef shared_ptr<ImplicitConstraintSet> ImplicitConstraintSetPtr_t;
178 
180 typedef std::vector<ComparisonType> ComparisonTypes_t;
181 
183 typedef shared_ptr<Explicit> ExplicitPtr_t;
184 typedef shared_ptr<const Explicit> ExplicitConstPtr_t;
185 
187 namespace solver {
189 class BySubstitution;
190 } // namespace solver
191 
192 namespace explicit_ {
193 class Function;
195 typedef shared_ptr<RelativePose> RelativePosePtr_t;
197 typedef shared_ptr<RelativeTransformation> RelativeTransformationPtr_t;
199 typedef shared_ptr<ImplicitFunction> ImplicitFunctionPtr_t;
201 typedef shared_ptr<ConvexShapeContact> ConvexShapeContactPtr_t;
202 } // namespace explicit_
203 
205 typedef shared_ptr<LockedJoint> LockedJointPtr_t;
206 typedef shared_ptr<const LockedJoint> LockedJointConstPtr_t;
207 typedef std::vector<LockedJointPtr_t> LockedJoints_t;
208 
209 namespace function {
211 typedef shared_ptr<OfParameterSubset> OfParameterSubsetPtr_t;
212 } // namespace function
213 } // namespace constraints
214 } // namespace hpp
215 
216 #endif // HPP_CONSTRAINTS_FWD_HH
Definition: active-set-differentiable-function.hh:48
Definition: affine-function.hh:81
Definition: com-between-feet.hh:67
Square distance between input configuration and reference configuration.
Definition: configuration-constraint.hh:44
Definition: convex-shape-contact.hh:280
Definition: convex-shape-contact.hh:347
Definition: convex-shape-contact.hh:94
Definition: convex-shape.hh:73
Definition: differentiable-function-set.hh:45
Definition: differentiable-function.hh:63
Definition: distance-between-bodies.hh:50
Definition: distance-between-points-in-bodies.hh:48
Definition: explicit-constraint-set.hh:99
Definition: explicit.hh:143
Definition: generic-transformation.hh:135
Definition: affine-function.hh:47
Definition: implicit-constraint-set.hh:45
Definition: implicit.hh:119
Definition: locked-joint.hh:66
Definition: qp-static-stability.hh:54
Definition: relative-com.hh:67
Definition: static-stability.hh:44
Definition: convex-shape-contact.hh:38
Definition: implicit-function.hh:49
Definition: relative-pose.hh:75
Definition: relative-transformation.hh:58
Definition: of-parameter-subset.hh:51
Definition: by-substitution.hh:73
Definition: hierarchical-iterative.hh:240
Definition: fwd.hh:38
Eigen::Matrix< value_type, 3, 1 > vector3_t
Definition: fwd.hh:73
Eigen::Matrix< value_type, 3, 3 > matrix3_t
Definition: fwd.hh:72
shared_ptr< ConvexShapeContact > ConvexShapeContactPtr_t
Definition: fwd.hh:201
HPP_PREDEF_CLASS(RelativePose)
shared_ptr< RelativePose > RelativePosePtr_t
Definition: fwd.hh:195
shared_ptr< RelativeTransformation > RelativeTransformationPtr_t
Definition: fwd.hh:197
shared_ptr< ImplicitFunction > ImplicitFunctionPtr_t
Definition: fwd.hh:199
HPP_PREDEF_CLASS(OfParameterSubset)
shared_ptr< OfParameterSubset > OfParameterSubsetPtr_t
Definition: fwd.hh:211
pinocchio::LiegroupElement LiegroupElement
Definition: fwd.hh:65
shared_ptr< ComBetweenFeet > ComBetweenFeetPtr_t
Definition: fwd.hh:121
pinocchio::Configuration_t Configuration_t
Definition: fwd.hh:105
shared_ptr< const LockedJoint > LockedJointConstPtr_t
Definition: fwd.hh:206
std::vector< ComparisonType > ComparisonTypes_t
Definition: fwd.hh:180
pinocchio::CollisionObjectConstPtr_t CollisionObjectConstPtr_t
Definition: fwd.hh:104
std::vector< JointAndShape_t > JointAndShapes_t
Definition: fwd.hh:126
pinocchio::ObjectVector_t ObjectVector_t
Definition: fwd.hh:102
pinocchio::matrix3_t matrix3_t
Definition: fwd.hh:53
GenericTransformation< PositionBit > Position
Definition: fwd.hh:148
Eigen::Matrix< value_type, 5, 1 > vector5_t
Definition: fwd.hh:75
std::vector< LockedJointPtr_t > LockedJoints_t
Definition: fwd.hh:207
HPP_PREDEF_CLASS(DifferentiableFunction)
pinocchio::CollisionObjectPtr_t CollisionObjectPtr_t
Definition: fwd.hh:103
pinocchio::vector3_t vector3_t
Definition: fwd.hh:52
pinocchio::JointJacobian_t JointJacobian_t
Definition: fwd.hh:63
DEVEL typedef GenericTransformation< PositionBit|OrientationBit > Transformation
Definition: fwd.hh:139
Eigen::Matrix< value_type, 6, 1 > vector6_t
Definition: fwd.hh:76
Eigen::Quaternion< value_type > Quaternion_t
Definition: fwd.hh:78
shared_ptr< Explicit > ExplicitPtr_t
Definition: fwd.hh:183
pinocchio::Transform3s Transform3s
Definition: fwd.hh:64
shared_ptr< AffineFunction > AffineFunctionPtr_t
Definition: fwd.hh:135
pinocchio::DevicePtr_t DevicePtr_t
Definition: fwd.hh:109
shared_ptr< RelativeTransformation > RelativeTransformationPtr_t
Definition: fwd.hh:168
GenericTransformation< RelativeBit|OrientationBit|OutputR3xSO3Bit > RelativeOrientationSO3
Definition: fwd.hh:161
GenericTransformation< PositionBit|OrientationBit|OutputR3xSO3Bit > TransformationR3xSO3
Definition: fwd.hh:155
pinocchio::LiegroupSpaceConstPtr_t LiegroupSpaceConstPtr_t
Definition: fwd.hh:70
pinocchio::DeviceConstPtr_t DeviceConstPtr_t
Definition: fwd.hh:110
pinocchio::LiegroupSpace LiegroupSpace
Definition: fwd.hh:68
pinocchio::LiegroupSpacePtr_t LiegroupSpacePtr_t
Definition: fwd.hh:69
shared_ptr< DifferentiableFunction > DifferentiableFunctionPtr_t
Definition: fwd.hh:113
std::pair< size_type, size_type > segment_t
Definition: fwd.hh:83
shared_ptr< Transformation > TransformationPtr_t
Definition: fwd.hh:165
shared_ptr< ConstantFunction > ConstantFunctionPtr_t
Definition: fwd.hh:136
shared_ptr< Implicit > ImplicitPtr_t
Definition: fwd.hh:173
shared_ptr< DifferentiableFunctionSet > DifferentiableFunctionSetPtr_t
Definition: fwd.hh:114
shared_ptr< Position > PositionPtr_t
Definition: fwd.hh:163
shared_ptr< QPStaticStability > QPStaticStabilityPtr_t
Definition: fwd.hh:132
pinocchio::Joint Joint
Definition: fwd.hh:51
shared_ptr< RelativeOrientation > RelativeOrientationPtr_t
Definition: fwd.hh:167
pinocchio::size_type size_type
Definition: fwd.hh:47
shared_ptr< ConvexShapeContact > ConvexShapeContactPtr_t
Definition: fwd.hh:127
shared_ptr< ImplicitConstraintSet > ImplicitConstraintSetPtr_t
Definition: fwd.hh:177
Eigen::Matrix< value_type, 7, 1 > vector7_t
Definition: fwd.hh:77
pinocchio::ArrayXb ArrayXb
Definition: fwd.hh:80
pinocchio::ComJacobian_t ComJacobian_t
Definition: fwd.hh:62
pinocchio::value_type value_type
Definition: fwd.hh:48
std::pair< JointPtr_t, Shape_t > JointAndShape_t
Definition: fwd.hh:125
shared_ptr< ConvexShapeContactComplement > ConvexShapeContactComplementPtr_t
Definition: fwd.hh:129
shared_ptr< ConvexShapeContactHold > ConvexShapeContactHoldPtr_t
Definition: fwd.hh:130
shared_ptr< DistanceBetweenPointsInBodies > DistanceBetweenPointsInBodiesPtr_t
Definition: fwd.hh:119
shared_ptr< StaticStability > StaticStabilityPtr_t
Definition: fwd.hh:131
Eigen::BlockIndex BlockIndex
Definition: fwd.hh:170
GenericTransformation< RelativeBit|OrientationBit > RelativeOrientation
Definition: fwd.hh:153
std::vector< vector3_t > Shape_t
Definition: fwd.hh:124
pinocchio::vectorIn_t vectorIn_t
Definition: fwd.hh:60
pinocchio::ConfigurationIn_t ConfigurationIn_t
Definition: fwd.hh:106
pinocchio::matrix_t matrix_t
Definition: fwd.hh:56
Eigen::Ref< matrix_t > matrixOut_t
Definition: fwd.hh:58
shared_ptr< ActiveSetDifferentiableFunction > ActiveSetDifferentiableFunctionPtr_t
Definition: fwd.hh:116
shared_ptr< Orientation > OrientationPtr_t
Definition: fwd.hh:164
GenericTransformation< RelativeBit|PositionBit|OrientationBit|OutputR3xSO3Bit > RelativeTransformationR3xSO3
Definition: fwd.hh:158
pinocchio::CenterOfMassComputationPtr_t CenterOfMassComputationPtr_t
Definition: fwd.hh:112
GenericTransformation< OrientationBit|OutputR3xSO3Bit > OrientationSO3
Definition: fwd.hh:159
shared_ptr< ConfigurationConstraint > ConfigurationConstraintPtr_t
Definition: fwd.hh:133
shared_ptr< const Implicit > ImplicitConstPtr_t
Definition: fwd.hh:174
shared_ptr< LockedJoint > LockedJointPtr_t
Definition: fwd.hh:205
shared_ptr< RelativePosition > RelativePositionPtr_t
Definition: fwd.hh:166
std::vector< segment_t > segments_t
Definition: fwd.hh:84
GenericTransformation< OrientationBit > Orientation
Definition: fwd.hh:149
Eigen::Ref< const matrix_t > matrixIn_t
Definition: fwd.hh:57
ArrayXb bool_array_t
Definition: fwd.hh:81
pinocchio::vectorOut_t vectorOut_t
Definition: fwd.hh:61
pinocchio::Device Device
Definition: fwd.hh:108
GenericTransformation< RelativeBit|PositionBit > RelativePosition
Definition: fwd.hh:152
std::vector< constraints::ImplicitPtr_t > NumericalConstraints_t
Definition: fwd.hh:175
pinocchio::vector_t vector_t
Definition: fwd.hh:59
shared_ptr< RelativeCom > RelativeComPtr_t
Definition: fwd.hh:120
pinocchio::LiegroupElementConstRef LiegroupElementConstRef
Definition: fwd.hh:67
pinocchio::CenterOfMassComputation CenterOfMassComputation
Definition: fwd.hh:111
shared_ptr< DistanceBetweenBodies > DistanceBetweenBodiesPtr_t
Definition: fwd.hh:117
shared_ptr< const Explicit > ExplicitConstPtr_t
Definition: fwd.hh:184
pinocchio::LiegroupElementRef LiegroupElementRef
Definition: fwd.hh:66
std::vector< ConvexShape > ConvexShapes_t
Definition: fwd.hh:92
ComparisonType
Definition: fwd.hh:179
@ Inferior
Definition: fwd.hh:179
@ Superior
Definition: fwd.hh:179
@ EqualToZero
Definition: fwd.hh:179
@ Equality
Definition: fwd.hh:179
Eigen::Matrix< value_type, 6, 6 > matrix6_t
Definition: fwd.hh:54
pinocchio::JointPtr_t JointPtr_t
Definition: fwd.hh:49
Eigen::Matrix< value_type, 8, 1 > vector8_t
Definition: fwd.hh:55
GenericTransformation< RelativeBit|PositionBit|OrientationBit > RelativeTransformation
Definition: fwd.hh:151
pinocchio::ConfigurationOut_t ConfigurationOut_t
Definition: fwd.hh:107
pinocchio::JointConstPtr_t JointConstPtr_t
Definition: fwd.hh:50
shared_ptr< Identity > IdentityPtr_t
Definition: fwd.hh:134
Definition: active-set-differentiable-function.hh:36
Definition: matrix-view.hh:49
Definition: affine-function.hh:147