hpp-pinocchio  5.2.0
Wrapping of the kinematic/dynamic chain Pinocchio for HPP.
fwd.hh
Go to the documentation of this file.
1 //
2 // Copyright (c) 2016 CNRS
3 // Author: NMansard, Joseph Mirabel from Florent Lamiraux
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_FWD_HH
32 #define HPP_PINOCCHIO_FWD_HH
33 
34 #ifndef PINOCCHIO_WITH_HPP_FCL
35 #error "hpp-fcl support in Pinocchio is mandatory."
36 #endif
37 
38 #include <hpp/fcl/collision_data.h> // DistanceResult
39 
40 #include <Eigen/Core>
41 #include <hpp/fcl/fwd.hh>
43 #include <hpp/util/pointer.hh>
44 #include <pinocchio/multibody/fwd.hpp>
45 #include <pinocchio/multibody/joint/fwd.hpp>
46 #include <pinocchio/spatial/fwd.hpp>
47 #include <vector>
48 
49 namespace hpp {
50 namespace pinocchio {
51 typedef double value_type;
52 
58 HPP_PREDEF_CLASS(JointConfiguration);
61 class Frame;
62 class AbstractDevice;
63 class DeviceSync;
64 struct DeviceData;
65 
67 enum InOutType { INNER, OUTER };
68 
69 // Pinocchio typedefs
70 template <typename _Scalar, int _Options>
73 
77 typedef ::pinocchio::ModelTpl<value_type, 0, JointCollectionTpl> Model;
78 typedef ::pinocchio::DataTpl<value_type, 0, JointCollectionTpl> Data;
79 typedef ::pinocchio::GeometryModel GeomModel;
80 typedef ::pinocchio::GeometryData GeomData;
83 typedef ::pinocchio::JointModelTpl<value_type, 0, JointCollectionTpl>
85 
86 typedef Eigen::Array<bool, Eigen::Dynamic, 1> ArrayXb;
87 
88 typedef Eigen::Matrix<value_type, Eigen::Dynamic, 1> vector_t;
90 typedef Eigen::Ref<const Configuration_t> ConfigurationIn_t;
91 typedef Eigen::Ref<Configuration_t> ConfigurationOut_t;
92 typedef shared_ptr<Configuration_t> ConfigurationPtr_t HPP_PINOCCHIO_DEPRECATED;
93 typedef Eigen::Ref<const vector_t> vectorIn_t;
94 typedef Eigen::Ref<vector_t> vectorOut_t;
95 typedef Eigen::Matrix<value_type, Eigen::Dynamic, Eigen::Dynamic> matrix_t;
96 typedef Eigen::Ref<matrix_t> matrixOut_t;
97 typedef matrix_t::Index size_type;
98 typedef Eigen::Matrix<value_type, 3, 3> matrix3_t;
99 typedef Eigen::Matrix<value_type, 3, 1> vector3_t;
100 typedef Eigen::Matrix<value_type, 4, 1> vector4_t;
101 typedef Eigen::Matrix<value_type, 6, Eigen::Dynamic> JointJacobian_t;
102 typedef Eigen::Matrix<value_type, 3, Eigen::Dynamic> ComJacobian_t;
103 typedef Eigen::Block<JointJacobian_t, 3, Eigen::Dynamic> HalfJointJacobian_t;
104 
105 struct JointVector;
106 typedef JointVector JointVector_t;
107 struct ObjectVector;
108 typedef ObjectVector ObjectVector_t;
109 typedef shared_ptr<Body> BodyPtr_t;
110 typedef shared_ptr<const Body> BodyConstPtr_t;
111 using fcl::CollisionGeometry;
112 typedef shared_ptr<CollisionGeometry> CollisionGeometryPtr_t;
113 typedef fcl::CollisionObject FclCollisionObject;
114 typedef fcl::CollisionObject* FclCollisionObjectPtr_t;
115 typedef const fcl::CollisionObject* FclConstCollisionObjectPtr_t;
116 typedef shared_ptr<CollisionObject> CollisionObjectPtr_t;
117 typedef shared_ptr<const CollisionObject> CollisionObjectConstPtr_t;
118 typedef shared_ptr<Device> DevicePtr_t;
119 typedef shared_ptr<const Device> DeviceConstPtr_t;
120 typedef std::vector<fcl::DistanceResult> DistanceResults_t;
121 typedef shared_ptr<HumanoidRobot> HumanoidRobotPtr_t;
122 typedef shared_ptr<CenterOfMassComputation> CenterOfMassComputationPtr_t;
123 typedef shared_ptr<Joint> JointPtr_t;
124 typedef shared_ptr<const Joint> JointConstPtr_t;
125 typedef shared_ptr<Gripper> GripperPtr_t;
126 typedef std::vector<GripperPtr_t> Grippers_t;
127 
128 typedef shared_ptr<Model> ModelPtr_t;
129 typedef shared_ptr<const Model> ModelConstPtr_t;
130 typedef shared_ptr<Data> DataPtr_t;
131 typedef shared_ptr<const Data> DataConstPtr_t;
132 
133 typedef shared_ptr<GeomModel> GeomModelPtr_t;
134 typedef shared_ptr<const GeomModel> GeomModelConstPtr_t;
135 typedef shared_ptr<GeomData> GeomDataPtr_t;
136 typedef shared_ptr<const GeomData> GeomDataConstPtr_t;
137 
138 template <typename vector_type>
140 template <typename vector_type>
148 
150 typedef shared_ptr<LiegroupSpace> LiegroupSpacePtr_t;
151 typedef shared_ptr<const LiegroupSpace> LiegroupSpaceConstPtr_t;
152 } // namespace pinocchio
153 } // namespace hpp
154 #endif // HPP_PINOCCHIO_FWD_HH
hpp::pinocchio::HumanoidRobot
Humanoid robot.
Definition: humanoid-robot.hh:44
hpp::pinocchio::DeviceSync
Definition: device-sync.hh:212
hpp::pinocchio::LiegroupSpaceConstPtr_t
shared_ptr< const LiegroupSpace > LiegroupSpaceConstPtr_t
Definition: fwd.hh:151
hpp::pinocchio::DataConstPtr_t
shared_ptr< const Data > DataConstPtr_t
Definition: fwd.hh:131
hpp::pinocchio::HPP_PINOCCHIO_DEPRECATED
shared_ptr< Configuration_t > ConfigurationPtr_t HPP_PINOCCHIO_DEPRECATED
Definition: fwd.hh:92
hpp::pinocchio::Grippers_t
std::vector< GripperPtr_t > Grippers_t
Definition: fwd.hh:126
hpp::pinocchio::ConfigurationOut_t
Eigen::Ref< Configuration_t > ConfigurationOut_t
Definition: fwd.hh:91
hpp::pinocchio::matrix_t
Eigen::Matrix< value_type, Eigen::Dynamic, Eigen::Dynamic > matrix_t
Definition: fwd.hh:95
hpp::pinocchio::vector4_t
Eigen::Matrix< value_type, 4, 1 > vector4_t
Definition: fwd.hh:100
hpp::pinocchio::Device
Robot with geometric and dynamic pinocchio.
Definition: device.hh:60
hpp::pinocchio::ConfigurationIn_t
Eigen::Ref< const Configuration_t > ConfigurationIn_t
Definition: fwd.hh:90
hpp::pinocchio::DevicePtr_t
shared_ptr< Device > DevicePtr_t
Definition: fwd.hh:118
hpp::pinocchio::Model
::pinocchio::ModelTpl< value_type, 0, JointCollectionTpl > Model
Definition: fwd.hh:77
hpp::pinocchio::ComJacobian_t
Eigen::Matrix< value_type, 3, Eigen::Dynamic > ComJacobian_t
Definition: fwd.hh:102
hpp::pinocchio::value_type
double value_type
Definition: fwd.hh:51
hpp::pinocchio::JointIndex
::pinocchio::JointIndex JointIndex
Definition: fwd.hh:74
hpp::pinocchio::JointCollectionTpl
Definition: fwd.hh:71
hpp::pinocchio::Transform3f
::pinocchio::SE3 Transform3f
Definition: fwd.hh:81
hpp::pinocchio::LiegroupSpace
Definition: liegroup-space.hh:101
hpp::pinocchio::COLLISION
@ COLLISION
Definition: fwd.hh:66
hpp::pinocchio::DISTANCE
@ DISTANCE
Definition: fwd.hh:66
hpp::pinocchio::FclConstCollisionObjectPtr_t
const typedef fcl::CollisionObject * FclConstCollisionObjectPtr_t
Definition: fwd.hh:115
hpp::pinocchio::JointPtr_t
shared_ptr< Joint > JointPtr_t
Definition: fwd.hh:123
hpp::pinocchio::CollisionObjectPtr_t
shared_ptr< CollisionObject > CollisionObjectPtr_t
Definition: fwd.hh:116
hpp::pinocchio::LiegroupSpacePtr_t
shared_ptr< LiegroupSpace > LiegroupSpacePtr_t
Definition: fwd.hh:150
hpp::pinocchio::HumanoidRobotPtr_t
shared_ptr< HumanoidRobot > HumanoidRobotPtr_t
Definition: fwd.hh:121
hpp::pinocchio::DeviceConstPtr_t
shared_ptr< const Device > DeviceConstPtr_t
Definition: fwd.hh:119
hpp::pinocchio::JointConstPtr_t
shared_ptr< const Joint > JointConstPtr_t
Definition: fwd.hh:124
hpp::pinocchio::GeomDataConstPtr_t
shared_ptr< const GeomData > GeomDataConstPtr_t
Definition: fwd.hh:136
hpp::pinocchio::INNER
@ INNER
Definition: fwd.hh:67
hpp::pinocchio::Joint
Definition: joint.hh:57
hpp::pinocchio::LiegroupElementConstBase
Definition: fwd.hh:139
deprecated.hh
hpp::pinocchio::JointVector_t
JointVector JointVector_t
Definition: fwd.hh:105
hpp::pinocchio::DeviceData
Definition: device-data.hh:51
hpp::pinocchio::OUTER
@ OUTER
Definition: fwd.hh:67
hpp::pinocchio::LiegroupElementBase
Definition: fwd.hh:141
hpp::pinocchio::InOutType
InOutType
Definition: fwd.hh:67
hpp::pinocchio::size_type
matrix_t::Index size_type
Definition: fwd.hh:97
hpp::pinocchio::JointCollection
JointCollectionTpl< value_type, 0 > JointCollection
Definition: fwd.hh:71
hpp::pinocchio::ModelPtr_t
shared_ptr< Model > ModelPtr_t
Definition: fwd.hh:128
hpp
Utility functions.
Definition: body.hh:39
hpp::pinocchio::DistanceResults_t
std::vector< fcl::DistanceResult > DistanceResults_t
Definition: fwd.hh:120
hpp::pinocchio::GeomModel
::pinocchio::GeometryModel GeomModel
Definition: fwd.hh:79
hpp::pinocchio::CollisionGeometryPtr_t
shared_ptr< CollisionGeometry > CollisionGeometryPtr_t
Definition: fwd.hh:112
hpp::pinocchio::LiegroupElementRef
LiegroupElementBase< vectorOut_t > LiegroupElementRef
Writable reference to a LiegroupElement.
Definition: fwd.hh:147
hpp::pinocchio::Configuration_t
vector_t Configuration_t
Definition: fwd.hh:89
hpp::pinocchio::LiegroupElementConstRef
LiegroupElementConstBase< vectorIn_t > LiegroupElementConstRef
Const reference to a LiegroupElement.
Definition: fwd.hh:141
hpp::pinocchio::vectorOut_t
Eigen::Ref< vector_t > vectorOut_t
Definition: fwd.hh:94
hpp::pinocchio::CenterOfMassComputationPtr_t
shared_ptr< CenterOfMassComputation > CenterOfMassComputationPtr_t
Definition: fwd.hh:122
hpp::pinocchio::vectorIn_t
Eigen::Ref< const vector_t > vectorIn_t
Definition: fwd.hh:93
hpp::pinocchio::Gripper
Definition: gripper.hh:48
hpp::pinocchio::GeomIndex
::pinocchio::GeomIndex GeomIndex
Definition: fwd.hh:76
hpp::pinocchio::HalfJointJacobian_t
Eigen::Block< JointJacobian_t, 3, Eigen::Dynamic > HalfJointJacobian_t
Definition: fwd.hh:103
hpp::pinocchio::vector3_t
Eigen::Matrix< value_type, 3, 1 > vector3_t
Definition: fwd.hh:99
hpp::pinocchio::Data
::pinocchio::DataTpl< value_type, 0, JointCollectionTpl > Data
Definition: fwd.hh:78
hpp::pinocchio::FclCollisionObject
fcl::CollisionObject FclCollisionObject
Definition: fwd.hh:113
hpp::pinocchio::DataPtr_t
shared_ptr< Data > DataPtr_t
Definition: fwd.hh:130
hpp::pinocchio::GripperPtr_t
shared_ptr< Gripper > GripperPtr_t
Definition: fwd.hh:125
hpp::pinocchio::Request_t
Request_t
Definition: fwd.hh:66
hpp::pinocchio::FclCollisionObjectPtr_t
fcl::CollisionObject * FclCollisionObjectPtr_t
Definition: fwd.hh:114
hpp::pinocchio::GeomModelPtr_t
shared_ptr< GeomModel > GeomModelPtr_t
Definition: fwd.hh:133
hpp::pinocchio::Body
Definition: body.hh:51
hpp::pinocchio::CenterOfMassComputation
Definition: center-of-mass-computation.hh:52
hpp::pinocchio::ArrayXb
Eigen::Array< bool, Eigen::Dynamic, 1 > ArrayXb
Definition: fwd.hh:86
hpp::pinocchio::GeomModelConstPtr_t
shared_ptr< const GeomModel > GeomModelConstPtr_t
Definition: fwd.hh:134
hpp::pinocchio::vector_t
Eigen::Matrix< value_type, Eigen::Dynamic, 1 > vector_t
Definition: fwd.hh:88
hpp::pinocchio::matrix3_t
Eigen::Matrix< value_type, 3, 3 > matrix3_t
Definition: fwd.hh:98
hpp::pinocchio::LiegroupElement
LiegroupElementBase< vector_t > LiegroupElement
Element of a Lie group.
Definition: fwd.hh:145
hpp::pinocchio::BodyPtr_t
shared_ptr< Body > BodyPtr_t
Definition: fwd.hh:109
hpp::pinocchio::matrixOut_t
Eigen::Ref< matrix_t > matrixOut_t
Definition: fwd.hh:96
hpp::pinocchio::AbstractDevice
Abstract class representing a Device.
Definition: device-sync.hh:41
hpp::pinocchio::SE3
::pinocchio::SE3 SE3
Definition: fwd.hh:82
hpp::pinocchio::Frame
Robot frame.
Definition: frame.hh:42
hpp::pinocchio::CollisionObjectConstPtr_t
shared_ptr< const CollisionObject > CollisionObjectConstPtr_t
Definition: fwd.hh:117
hpp::pinocchio::GeomDataPtr_t
shared_ptr< GeomData > GeomDataPtr_t
Definition: fwd.hh:135
hpp::pinocchio::ModelConstPtr_t
shared_ptr< const Model > ModelConstPtr_t
Definition: fwd.hh:129
hpp::pinocchio::ObjectVector_t
ObjectVector ObjectVector_t
Definition: fwd.hh:107
hpp::pinocchio::CollisionObject
Definition: collision-object.hh:52
hpp::pinocchio::JointModel
::pinocchio::JointModelTpl< value_type, 0, JointCollectionTpl > JointModel
Definition: fwd.hh:84
hpp::pinocchio::HPP_PREDEF_CLASS
HPP_PREDEF_CLASS(Body)
hpp::pinocchio::GeomData
::pinocchio::GeometryData GeomData
Definition: fwd.hh:80
hpp::pinocchio::JointJacobian_t
Eigen::Matrix< value_type, 6, Eigen::Dynamic > JointJacobian_t
Definition: fwd.hh:101
hpp::pinocchio::FrameIndex
::pinocchio::FrameIndex FrameIndex
Definition: fwd.hh:75
hpp::pinocchio::BodyConstPtr_t
shared_ptr< const Body > BodyConstPtr_t
Definition: fwd.hh:110
pinocchio
Definition: collision-object.hh:40