hpp-constraints 6.1.0
Definition of basic geometric constraints for motion planning
Loading...
Searching...
No Matches
fwd.hh
Go to the documentation of this file.
1
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_CONSTRAINTS_FWD_HH
32#define HPP_CONSTRAINTS_FWD_HH
33
35#include <hpp/pinocchio/fwd.hh>
36#include <list>
37
38namespace Eigen {
39struct BlockIndex;
40} // namespace Eigen
41
42namespace hpp {
43namespace constraints {
44HPP_PREDEF_CLASS(DifferentiableFunction);
45HPP_PREDEF_CLASS(DifferentiableFunctionSet);
54typedef Eigen::Matrix<value_type, 6, 6> matrix6_t;
55typedef Eigen::Matrix<value_type, 8, 1> vector8_t;
57typedef Eigen::Ref<const matrix_t> matrixIn_t;
58typedef Eigen::Ref<matrix_t> matrixOut_t;
71namespace eigen {
72typedef Eigen::Matrix<value_type, 3, 3> matrix3_t;
73typedef Eigen::Matrix<value_type, 3, 1> vector3_t;
74} // namespace eigen
75typedef Eigen::Matrix<value_type, 5, 1> vector5_t;
76typedef Eigen::Matrix<value_type, 6, 1> vector6_t;
77typedef Eigen::Matrix<value_type, 7, 1> vector7_t;
78typedef Eigen::Quaternion<value_type> Quaternion_t;
79
82
83typedef std::pair<size_type, size_type> segment_t;
84typedef std::pair<value_type, value_type> interval_t;
85typedef std::vector<segment_t> segments_t;
86
87HPP_PREDEF_CLASS(DistanceBetweenBodies);
89HPP_PREDEF_CLASS(RelativeCom);
90HPP_PREDEF_CLASS(ComBetweenFeet);
91HPP_PREDEF_CLASS(StaticStability);
92HPP_PREDEF_CLASS(QPStaticStability);
93class ConvexShape;
94typedef std::vector<ConvexShape> ConvexShapes_t;
95HPP_PREDEF_CLASS(ConvexShapeContact);
97HPP_PREDEF_CLASS(ConvexShapeContactHold);
98HPP_PREDEF_CLASS(ConfigurationConstraint);
99HPP_PREDEF_CLASS(Identity);
100HPP_PREDEF_CLASS(AffineFunction);
101HPP_PREDEF_CLASS(ConstantFunction);
102
114typedef shared_ptr<DifferentiableFunction> DifferentiableFunctionPtr_t;
115typedef shared_ptr<DifferentiableFunctionSet> DifferentiableFunctionSetPtr_t;
116typedef shared_ptr<ActiveSetDifferentiableFunction>
118typedef shared_ptr<DistanceBetweenBodies> DistanceBetweenBodiesPtr_t;
119typedef shared_ptr<DistanceBetweenPointsInBodies>
121typedef shared_ptr<RelativeCom> RelativeComPtr_t;
122typedef shared_ptr<ComBetweenFeet> ComBetweenFeetPtr_t;
125typedef std::vector<vector3_t> Shape_t;
126typedef std::pair<JointPtr_t, Shape_t> JointAndShape_t;
127typedef std::vector<JointAndShape_t> JointAndShapes_t;
128typedef shared_ptr<ConvexShapeContact> ConvexShapeContactPtr_t;
129typedef shared_ptr<ConvexShapeContactComplement>
131typedef shared_ptr<ConvexShapeContactHold> ConvexShapeContactHoldPtr_t;
132typedef shared_ptr<StaticStability> StaticStabilityPtr_t;
133typedef shared_ptr<QPStaticStability> QPStaticStabilityPtr_t;
134typedef shared_ptr<ConfigurationConstraint> ConfigurationConstraintPtr_t;
135typedef shared_ptr<Identity> IdentityPtr_t;
136typedef shared_ptr<AffineFunction> AffineFunctionPtr_t;
137typedef shared_ptr<ConstantFunction> ConstantFunctionPtr_t;
138
139template <int _Options>
141
143const int RelativeBit = 0x1;
144const int PositionBit = 0x2;
145const int OrientationBit = 0x4;
146const int OutputR3xSO3Bit = 0x8;
157typedef GenericTransformation<RelativeBit | PositionBit | OrientationBit |
158 OutputR3xSO3Bit>
163
164typedef shared_ptr<Position> PositionPtr_t;
165typedef shared_ptr<Orientation> OrientationPtr_t;
166typedef shared_ptr<Transformation> TransformationPtr_t;
167typedef shared_ptr<RelativePosition> RelativePositionPtr_t;
168typedef shared_ptr<RelativeOrientation> RelativeOrientationPtr_t;
169typedef shared_ptr<RelativeTransformation> RelativeTransformationPtr_t;
170
172
173HPP_PREDEF_CLASS(Implicit);
174typedef shared_ptr<Implicit> ImplicitPtr_t;
175typedef shared_ptr<const Implicit> ImplicitConstPtr_t;
176typedef std::vector<constraints::ImplicitPtr_t> NumericalConstraints_t;
177HPP_PREDEF_CLASS(ImplicitConstraintSet);
178typedef shared_ptr<ImplicitConstraintSet> ImplicitConstraintSetPtr_t;
179
181typedef std::vector<ComparisonType> ComparisonTypes_t;
182
183HPP_PREDEF_CLASS(Explicit);
184typedef shared_ptr<Explicit> ExplicitPtr_t;
185typedef shared_ptr<const Explicit> ExplicitConstPtr_t;
186
187// Map to replace constraints by their copies when copying solvers
188typedef std::map<ImplicitPtr_t, ImplicitPtr_t> ConstraintReplacement_t;
190namespace solver {
192class BySubstitution;
193} // namespace solver
194
195namespace explicit_ {
196class Function;
197HPP_PREDEF_CLASS(RelativePose);
198typedef shared_ptr<RelativePose> RelativePosePtr_t;
199HPP_PREDEF_CLASS(RelativeTransformation);
200typedef shared_ptr<RelativeTransformation> RelativeTransformationPtr_t;
201HPP_PREDEF_CLASS(ImplicitFunction);
202typedef shared_ptr<ImplicitFunction> ImplicitFunctionPtr_t;
203HPP_PREDEF_CLASS(ConvexShapeContact);
204typedef shared_ptr<ConvexShapeContact> ConvexShapeContactPtr_t;
205} // namespace explicit_
206
207HPP_PREDEF_CLASS(LockedJoint);
208typedef shared_ptr<LockedJoint> LockedJointPtr_t;
209typedef shared_ptr<const LockedJoint> LockedJointConstPtr_t;
210typedef std::vector<LockedJointPtr_t> LockedJoints_t;
211
212namespace function {
213HPP_PREDEF_CLASS(OfParameterSubset);
214typedef shared_ptr<OfParameterSubset> OfParameterSubsetPtr_t;
215} // namespace function
216} // namespace constraints
217} // namespace hpp
218
219#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:76
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:204
shared_ptr< RelativePose > RelativePosePtr_t
Definition fwd.hh:198
shared_ptr< RelativeTransformation > RelativeTransformationPtr_t
Definition fwd.hh:200
shared_ptr< ImplicitFunction > ImplicitFunctionPtr_t
Definition fwd.hh:202
shared_ptr< OfParameterSubset > OfParameterSubsetPtr_t
Definition fwd.hh:214
pinocchio::LiegroupElement LiegroupElement
Definition fwd.hh:65
shared_ptr< ComBetweenFeet > ComBetweenFeetPtr_t
Definition fwd.hh:122
pinocchio::Configuration_t Configuration_t
Definition fwd.hh:106
shared_ptr< const LockedJoint > LockedJointConstPtr_t
Definition fwd.hh:209
std::vector< ComparisonType > ComparisonTypes_t
Definition fwd.hh:181
pinocchio::CollisionObjectConstPtr_t CollisionObjectConstPtr_t
Definition fwd.hh:105
std::vector< JointAndShape_t > JointAndShapes_t
Definition fwd.hh:127
pinocchio::ObjectVector_t ObjectVector_t
Definition fwd.hh:103
pinocchio::matrix3_t matrix3_t
Definition fwd.hh:53
GenericTransformation< PositionBit > Position
Definition fwd.hh:149
Eigen::Matrix< value_type, 5, 1 > vector5_t
Definition fwd.hh:75
std::vector< LockedJointPtr_t > LockedJoints_t
Definition fwd.hh:210
pinocchio::CollisionObjectPtr_t CollisionObjectPtr_t
Definition fwd.hh:104
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:148
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:184
pinocchio::Transform3s Transform3s
Definition fwd.hh:64
shared_ptr< AffineFunction > AffineFunctionPtr_t
Definition fwd.hh:136
pinocchio::DevicePtr_t DevicePtr_t
Definition fwd.hh:110
shared_ptr< RelativeTransformation > RelativeTransformationPtr_t
Definition fwd.hh:169
GenericTransformation< RelativeBit|OrientationBit|OutputR3xSO3Bit > RelativeOrientationSO3
Definition fwd.hh:162
GenericTransformation< PositionBit|OrientationBit|OutputR3xSO3Bit > TransformationR3xSO3
Definition fwd.hh:156
pinocchio::LiegroupSpaceConstPtr_t LiegroupSpaceConstPtr_t
Definition fwd.hh:70
pinocchio::DeviceConstPtr_t DeviceConstPtr_t
Definition fwd.hh:111
pinocchio::LiegroupSpace LiegroupSpace
Definition fwd.hh:68
pinocchio::LiegroupSpacePtr_t LiegroupSpacePtr_t
Definition fwd.hh:69
shared_ptr< DifferentiableFunction > DifferentiableFunctionPtr_t
Definition fwd.hh:114
std::pair< size_type, size_type > segment_t
Definition fwd.hh:83
shared_ptr< Transformation > TransformationPtr_t
Definition fwd.hh:166
shared_ptr< ConstantFunction > ConstantFunctionPtr_t
Definition fwd.hh:137
shared_ptr< Implicit > ImplicitPtr_t
Definition fwd.hh:174
std::pair< value_type, value_type > interval_t
Definition fwd.hh:84
shared_ptr< DifferentiableFunctionSet > DifferentiableFunctionSetPtr_t
Definition fwd.hh:115
shared_ptr< Position > PositionPtr_t
Definition fwd.hh:164
shared_ptr< QPStaticStability > QPStaticStabilityPtr_t
Definition fwd.hh:133
pinocchio::Joint Joint
Definition fwd.hh:51
shared_ptr< RelativeOrientation > RelativeOrientationPtr_t
Definition fwd.hh:168
pinocchio::size_type size_type
Definition fwd.hh:47
shared_ptr< ConvexShapeContact > ConvexShapeContactPtr_t
Definition fwd.hh:128
shared_ptr< ImplicitConstraintSet > ImplicitConstraintSetPtr_t
Definition fwd.hh:178
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:126
shared_ptr< ConvexShapeContactComplement > ConvexShapeContactComplementPtr_t
Definition fwd.hh:130
std::map< ImplicitPtr_t, ImplicitPtr_t > ConstraintReplacement_t
Definition fwd.hh:188
shared_ptr< ConvexShapeContactHold > ConvexShapeContactHoldPtr_t
Definition fwd.hh:131
shared_ptr< DistanceBetweenPointsInBodies > DistanceBetweenPointsInBodiesPtr_t
Definition fwd.hh:120
shared_ptr< StaticStability > StaticStabilityPtr_t
Definition fwd.hh:132
Eigen::BlockIndex BlockIndex
Definition fwd.hh:171
GenericTransformation< RelativeBit|OrientationBit > RelativeOrientation
Definition fwd.hh:154
std::vector< vector3_t > Shape_t
Definition fwd.hh:125
pinocchio::vectorIn_t vectorIn_t
Definition fwd.hh:60
pinocchio::ConfigurationIn_t ConfigurationIn_t
Definition fwd.hh:107
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:117
shared_ptr< Orientation > OrientationPtr_t
Definition fwd.hh:165
GenericTransformation< RelativeBit|PositionBit|OrientationBit|OutputR3xSO3Bit > RelativeTransformationR3xSO3
Definition fwd.hh:159
pinocchio::CenterOfMassComputationPtr_t CenterOfMassComputationPtr_t
Definition fwd.hh:113
GenericTransformation< OrientationBit|OutputR3xSO3Bit > OrientationSO3
Definition fwd.hh:160
shared_ptr< ConfigurationConstraint > ConfigurationConstraintPtr_t
Definition fwd.hh:134
shared_ptr< const Implicit > ImplicitConstPtr_t
Definition fwd.hh:175
shared_ptr< LockedJoint > LockedJointPtr_t
Definition fwd.hh:208
shared_ptr< RelativePosition > RelativePositionPtr_t
Definition fwd.hh:167
std::vector< segment_t > segments_t
Definition fwd.hh:85
GenericTransformation< OrientationBit > Orientation
Definition fwd.hh:150
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:109
GenericTransformation< RelativeBit|PositionBit > RelativePosition
Definition fwd.hh:153
std::vector< constraints::ImplicitPtr_t > NumericalConstraints_t
Definition fwd.hh:176
pinocchio::vector_t vector_t
Definition fwd.hh:59
shared_ptr< RelativeCom > RelativeComPtr_t
Definition fwd.hh:121
pinocchio::LiegroupElementConstRef LiegroupElementConstRef
Definition fwd.hh:67
pinocchio::CenterOfMassComputation CenterOfMassComputation
Definition fwd.hh:112
shared_ptr< DistanceBetweenBodies > DistanceBetweenBodiesPtr_t
Definition fwd.hh:118
shared_ptr< const Explicit > ExplicitConstPtr_t
Definition fwd.hh:185
pinocchio::LiegroupElementRef LiegroupElementRef
Definition fwd.hh:66
std::vector< ConvexShape > ConvexShapes_t
Definition fwd.hh:94
ComparisonType
Definition fwd.hh:180
@ Inferior
Definition fwd.hh:180
@ Superior
Definition fwd.hh:180
@ EqualToZero
Definition fwd.hh:180
@ Equality
Definition fwd.hh:180
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:152
pinocchio::ConfigurationOut_t ConfigurationOut_t
Definition fwd.hh:108
pinocchio::JointConstPtr_t JointConstPtr_t
Definition fwd.hh:50
shared_ptr< Identity > IdentityPtr_t
Definition fwd.hh:135
shared_ptr< Device > DevicePtr_t
shared_ptr< CenterOfMassComputation > CenterOfMassComputationPtr_t
shared_ptr< const CollisionObject > CollisionObjectConstPtr_t
shared_ptr< Joint > JointPtr_t
ObjectVector ObjectVector_t
Eigen::Matrix< value_type, Eigen::Dynamic, 1 > vector_t
Eigen::Ref< vector_t > vectorOut_t
shared_ptr< const LiegroupSpace > LiegroupSpaceConstPtr_t
Eigen::Matrix< value_type, 3, 1 > vector3_t
Eigen::Matrix< value_type, Eigen::Dynamic, Eigen::Dynamic > matrix_t
shared_ptr< LiegroupSpace > LiegroupSpacePtr_t
matrix_t::Index size_type
Eigen::Matrix< value_type, 6, Eigen::Dynamic > JointJacobian_t
::pinocchio::SE3 Transform3s
Eigen::Ref< Configuration_t > ConfigurationOut_t
vector_t Configuration_t
Eigen::Matrix< value_type, 3, 3 > matrix3_t
shared_ptr< const Joint > JointConstPtr_t
Eigen::Array< bool, Eigen::Dynamic, 1 > ArrayXb
Eigen::Matrix< value_type, 3, Eigen::Dynamic > ComJacobian_t
shared_ptr< const Device > DeviceConstPtr_t
Eigen::Ref< const vector_t > vectorIn_t
shared_ptr< CollisionObject > CollisionObjectPtr_t
Eigen::Ref< const Configuration_t > ConfigurationIn_t
Definition matrix-view.hh:49
Definition affine-function.hh:147