hpp-pinocchio  4.12.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 // This file is part of hpp-pinocchio
7 // hpp-pinocchio is free software: you can redistribute it
8 // and/or modify it under the terms of the GNU Lesser General Public
9 // License as published by the Free Software Foundation, either version
10 // 3 of the License, or (at your option) any later version.
11 //
12 // hpp-pinocchio is distributed in the hope that it will be
13 // useful, but WITHOUT ANY WARRANTY; without even the implied warranty
14 // of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 // General Lesser Public License for more details. You should have
16 // received a copy of the GNU Lesser General Public License along with
17 // hpp-pinocchio If not, see
18 // <http://www.gnu.org/licenses/>.
19 
20 #ifndef HPP_PINOCCHIO_FWD_HH
21 # define HPP_PINOCCHIO_FWD_HH
22 
23 # ifndef PINOCCHIO_WITH_HPP_FCL
24 # error "hpp-fcl support in Pinocchio is mandatory."
25 # endif
26 
27 # include <vector>
28 # include <Eigen/Core>
29 
30 # include <hpp/util/pointer.hh>
31 # include <hpp/fcl/fwd.hh>
32 # include <hpp/fcl/collision_data.h> // DistanceResult
33 
34 # include <pinocchio/spatial/fwd.hpp>
35 # include <pinocchio/multibody/fwd.hpp>
36 # include <pinocchio/multibody/joint/fwd.hpp>
37 
38 namespace hpp {
39  namespace pinocchio {
40  typedef double value_type;
41 
47  HPP_PREDEF_CLASS (JointConfiguration);
50  class Frame;
51  class AbstractDevice;
52  class DeviceSync;
53  struct DeviceData;
54 
56  enum InOutType { INNER, OUTER };
57 
58  // Pinocchio typedefs
59  template <typename _Scalar, int _Options> struct JointCollectionTpl;
61 
65  typedef ::pinocchio::ModelTpl<value_type, 0, JointCollectionTpl> Model;
66  typedef ::pinocchio::DataTpl <value_type, 0, JointCollectionTpl> Data ;
67  typedef ::pinocchio::GeometryModel GeomModel;
68  typedef ::pinocchio::GeometryData GeomData;
71  typedef ::pinocchio::JointModelTpl<value_type, 0, JointCollectionTpl> JointModel;
72 
73  typedef Eigen::Array <bool, Eigen::Dynamic, 1> ArrayXb;
74 
75  typedef Eigen::Matrix <value_type, Eigen::Dynamic, 1> vector_t;
77  typedef Eigen::Ref <const Configuration_t> ConfigurationIn_t;
78  typedef Eigen::Ref <Configuration_t> ConfigurationOut_t;
79  typedef shared_ptr <Configuration_t> ConfigurationPtr_t;
80  typedef Eigen::Ref <const vector_t> vectorIn_t;
81  typedef Eigen::Ref <vector_t> vectorOut_t;
82  typedef Eigen::Matrix<value_type, Eigen::Dynamic, Eigen::Dynamic> matrix_t;
83  typedef Eigen::Ref <matrix_t> matrixOut_t;
84  typedef matrix_t::Index size_type;
85  typedef Eigen::Matrix<value_type, 3, 3> matrix3_t;
86  typedef Eigen::Matrix<value_type, 3, 1> vector3_t;
87  typedef Eigen::Matrix<value_type, 4, 1> vector4_t;
88  typedef Eigen::Matrix<value_type, 6, Eigen::Dynamic> JointJacobian_t;
89  typedef Eigen::Matrix<value_type, 3, Eigen::Dynamic> ComJacobian_t;
90  typedef Eigen::Block <JointJacobian_t, 3, Eigen::Dynamic> HalfJointJacobian_t;
91 
92  struct JointVector;
93  typedef JointVector JointVector_t;
94  struct ObjectVector;
95  typedef ObjectVector ObjectVector_t;
96  typedef shared_ptr<Body> BodyPtr_t;
97  typedef shared_ptr<const Body> BodyConstPtr_t;
98  //typedef std::vector<BodyPtr_t> BodyVector_t;
99  using fcl::CollisionGeometry;
100  using fcl::CollisionGeometryPtr_t;
101  typedef fcl::CollisionObject FclCollisionObject;
102  typedef fcl::CollisionObject * FclCollisionObjectPtr_t;
103  typedef const fcl::CollisionObject * FclConstCollisionObjectPtr_t;
104  typedef shared_ptr<CollisionObject> CollisionObjectPtr_t;
105  typedef shared_ptr<const CollisionObject> CollisionObjectConstPtr_t;
106  typedef shared_ptr <Device> DevicePtr_t;
107  typedef shared_ptr <const Device> DeviceConstPtr_t;
108  typedef std::vector <fcl::DistanceResult> DistanceResults_t;
109  typedef shared_ptr <HumanoidRobot> HumanoidRobotPtr_t;
110  typedef shared_ptr <CenterOfMassComputation> CenterOfMassComputationPtr_t;
111  typedef shared_ptr<Joint> JointPtr_t;
112  typedef shared_ptr<const Joint> JointConstPtr_t;
113  typedef shared_ptr <Gripper> GripperPtr_t;
114  typedef std::vector <GripperPtr_t> Grippers_t;
115 
116  typedef shared_ptr<Model> ModelPtr_t;
117  typedef shared_ptr<const Model> ModelConstPtr_t;
118  typedef shared_ptr<Data> DataPtr_t;
119  typedef shared_ptr<const Data> DataConstPtr_t;
120 
121  typedef shared_ptr<GeomModel> GeomModelPtr_t;
122  typedef shared_ptr<const GeomModel> GeomModelConstPtr_t;
123  typedef shared_ptr<GeomData> GeomDataPtr_t;
124  typedef shared_ptr<const GeomData> GeomDataConstPtr_t;
125 
126  template <typename vector_type> class LiegroupElementConstBase;
127  template <typename vector_type> class LiegroupElementBase;
134 
136  typedef shared_ptr <LiegroupSpace> LiegroupSpacePtr_t;
137  typedef shared_ptr <const LiegroupSpace> LiegroupSpaceConstPtr_t;
138  } // namespace pinocchio
139 } // namespace hpp
140 #endif // HPP_PINOCCHIO_FWD_HH
hpp::pinocchio::HumanoidRobot
Humanoid robot.
Definition: humanoid-robot.hh:34
hpp::pinocchio::DeviceSync
Definition: device-sync.hh:162
hpp::pinocchio::LiegroupSpaceConstPtr_t
shared_ptr< const LiegroupSpace > LiegroupSpaceConstPtr_t
Definition: fwd.hh:137
hpp::pinocchio::DataConstPtr_t
shared_ptr< const Data > DataConstPtr_t
Definition: fwd.hh:119
hpp::pinocchio::Grippers_t
std::vector< GripperPtr_t > Grippers_t
Definition: fwd.hh:114
hpp::pinocchio::ConfigurationOut_t
Eigen::Ref< Configuration_t > ConfigurationOut_t
Definition: fwd.hh:78
hpp::pinocchio::matrix_t
Eigen::Matrix< value_type, Eigen::Dynamic, Eigen::Dynamic > matrix_t
Definition: fwd.hh:82
hpp::pinocchio::vector4_t
Eigen::Matrix< value_type, 4, 1 > vector4_t
Definition: fwd.hh:87
hpp::pinocchio::Device
Robot with geometric and dynamic pinocchio.
Definition: device.hh:52
hpp::pinocchio::ConfigurationIn_t
Eigen::Ref< const Configuration_t > ConfigurationIn_t
Definition: fwd.hh:77
hpp::pinocchio::DevicePtr_t
shared_ptr< Device > DevicePtr_t
Definition: fwd.hh:106
hpp::pinocchio::Model
::pinocchio::ModelTpl< value_type, 0, JointCollectionTpl > Model
Definition: fwd.hh:65
hpp::pinocchio::ComJacobian_t
Eigen::Matrix< value_type, 3, Eigen::Dynamic > ComJacobian_t
Definition: fwd.hh:89
hpp::pinocchio::value_type
double value_type
Definition: fwd.hh:40
hpp::pinocchio::JointIndex
::pinocchio::JointIndex JointIndex
Definition: fwd.hh:62
hpp::pinocchio::JointCollectionTpl
Definition: fwd.hh:59
hpp::pinocchio::Transform3f
::pinocchio::SE3 Transform3f
Definition: fwd.hh:69
hpp::pinocchio::LiegroupSpace
Definition: liegroup-space.hh:93
hpp::pinocchio::COLLISION
@ COLLISION
Definition: fwd.hh:55
hpp::pinocchio::DISTANCE
@ DISTANCE
Definition: fwd.hh:55
hpp::pinocchio::FclConstCollisionObjectPtr_t
const typedef fcl::CollisionObject * FclConstCollisionObjectPtr_t
Definition: fwd.hh:103
hpp::pinocchio::JointPtr_t
shared_ptr< Joint > JointPtr_t
Definition: fwd.hh:111
hpp::pinocchio::CollisionObjectPtr_t
shared_ptr< CollisionObject > CollisionObjectPtr_t
Definition: fwd.hh:104
hpp::pinocchio::LiegroupSpacePtr_t
shared_ptr< LiegroupSpace > LiegroupSpacePtr_t
Definition: fwd.hh:136
hpp::pinocchio::HumanoidRobotPtr_t
shared_ptr< HumanoidRobot > HumanoidRobotPtr_t
Definition: fwd.hh:109
hpp::pinocchio::DeviceConstPtr_t
shared_ptr< const Device > DeviceConstPtr_t
Definition: fwd.hh:107
hpp::pinocchio::JointConstPtr_t
shared_ptr< const Joint > JointConstPtr_t
Definition: fwd.hh:112
hpp::pinocchio::GeomDataConstPtr_t
shared_ptr< const GeomData > GeomDataConstPtr_t
Definition: fwd.hh:124
hpp::pinocchio::INNER
@ INNER
Definition: fwd.hh:56
hpp::pinocchio::LiegroupElement
LiegroupElementBase< vector_t > LiegroupElement
Element of a Lie group.
Definition: fwd.hh:131
hpp::pinocchio::Joint
Definition: joint.hh:47
hpp::pinocchio::LiegroupElementConstBase
Definition: fwd.hh:126
hpp::pinocchio::ConfigurationPtr_t
shared_ptr< Configuration_t > ConfigurationPtr_t
Definition: fwd.hh:79
hpp::pinocchio::JointVector_t
JointVector JointVector_t
Definition: fwd.hh:92
hpp::pinocchio::DeviceData
Definition: device-data.hh:41
hpp::pinocchio::OUTER
@ OUTER
Definition: fwd.hh:56
hpp::pinocchio::LiegroupElementBase
Definition: fwd.hh:127
hpp::pinocchio::InOutType
InOutType
Definition: fwd.hh:56
hpp::pinocchio::size_type
matrix_t::Index size_type
Definition: fwd.hh:84
hpp::pinocchio::JointCollection
JointCollectionTpl< value_type, 0 > JointCollection
Definition: fwd.hh:59
hpp::pinocchio::ModelPtr_t
shared_ptr< Model > ModelPtr_t
Definition: fwd.hh:116
hpp
Utility functions.
Definition: body.hh:30
hpp::pinocchio::DistanceResults_t
std::vector< fcl::DistanceResult > DistanceResults_t
Definition: fwd.hh:108
hpp::pinocchio::GeomModel
::pinocchio::GeometryModel GeomModel
Definition: fwd.hh:67
hpp::pinocchio::LiegroupElementRef
LiegroupElementBase< vectorOut_t > LiegroupElementRef
Writable reference to a LiegroupElement.
Definition: fwd.hh:133
hpp::pinocchio::Configuration_t
vector_t Configuration_t
Definition: fwd.hh:76
hpp::pinocchio::vectorOut_t
Eigen::Ref< vector_t > vectorOut_t
Definition: fwd.hh:81
hpp::pinocchio::CenterOfMassComputationPtr_t
shared_ptr< CenterOfMassComputation > CenterOfMassComputationPtr_t
Definition: fwd.hh:110
hpp::pinocchio::vectorIn_t
Eigen::Ref< const vector_t > vectorIn_t
Definition: fwd.hh:80
hpp::pinocchio::Gripper
Definition: gripper.hh:37
hpp::pinocchio::GeomIndex
::pinocchio::GeomIndex GeomIndex
Definition: fwd.hh:64
hpp::pinocchio::HalfJointJacobian_t
Eigen::Block< JointJacobian_t, 3, Eigen::Dynamic > HalfJointJacobian_t
Definition: fwd.hh:90
hpp::pinocchio::vector3_t
Eigen::Matrix< value_type, 3, 1 > vector3_t
Definition: fwd.hh:86
hpp::pinocchio::Data
::pinocchio::DataTpl< value_type, 0, JointCollectionTpl > Data
Definition: fwd.hh:66
hpp::pinocchio::FclCollisionObject
fcl::CollisionObject FclCollisionObject
Definition: fwd.hh:101
hpp::pinocchio::DataPtr_t
shared_ptr< Data > DataPtr_t
Definition: fwd.hh:118
hpp::pinocchio::GripperPtr_t
shared_ptr< Gripper > GripperPtr_t
Definition: fwd.hh:113
hpp::pinocchio::Request_t
Request_t
Definition: fwd.hh:55
hpp::pinocchio::FclCollisionObjectPtr_t
fcl::CollisionObject * FclCollisionObjectPtr_t
Definition: fwd.hh:102
hpp::pinocchio::GeomModelPtr_t
shared_ptr< GeomModel > GeomModelPtr_t
Definition: fwd.hh:121
hpp::pinocchio::Body
Definition: body.hh:42
hpp::pinocchio::CenterOfMassComputation
Definition: center-of-mass-computation.hh:43
hpp::pinocchio::ArrayXb
Eigen::Array< bool, Eigen::Dynamic, 1 > ArrayXb
Definition: fwd.hh:73
hpp::pinocchio::GeomModelConstPtr_t
shared_ptr< const GeomModel > GeomModelConstPtr_t
Definition: fwd.hh:122
hpp::pinocchio::vector_t
Eigen::Matrix< value_type, Eigen::Dynamic, 1 > vector_t
Definition: fwd.hh:75
hpp::pinocchio::matrix3_t
Eigen::Matrix< value_type, 3, 3 > matrix3_t
Definition: fwd.hh:85
hpp::pinocchio::BodyPtr_t
shared_ptr< Body > BodyPtr_t
Definition: fwd.hh:96
hpp::pinocchio::matrixOut_t
Eigen::Ref< matrix_t > matrixOut_t
Definition: fwd.hh:83
hpp::pinocchio::AbstractDevice
Abstract class representing a Device.
Definition: device-sync.hh:29
hpp::pinocchio::LiegroupElementConstRef
LiegroupElementConstBase< vectorIn_t > LiegroupElementConstRef
Const reference to a LiegroupElement.
Definition: fwd.hh:127
hpp::pinocchio::SE3
::pinocchio::SE3 SE3
Definition: fwd.hh:70
hpp::pinocchio::Frame
Robot frame.
Definition: frame.hh:31
hpp::pinocchio::CollisionObjectConstPtr_t
shared_ptr< const CollisionObject > CollisionObjectConstPtr_t
Definition: fwd.hh:105
hpp::pinocchio::GeomDataPtr_t
shared_ptr< GeomData > GeomDataPtr_t
Definition: fwd.hh:123
hpp::pinocchio::ModelConstPtr_t
shared_ptr< const Model > ModelConstPtr_t
Definition: fwd.hh:117
hpp::pinocchio::ObjectVector_t
ObjectVector ObjectVector_t
Definition: fwd.hh:94
hpp::pinocchio::CollisionObject
Definition: collision-object.hh:44
hpp::pinocchio::JointModel
::pinocchio::JointModelTpl< value_type, 0, JointCollectionTpl > JointModel
Definition: fwd.hh:71
hpp::pinocchio::HPP_PREDEF_CLASS
HPP_PREDEF_CLASS(Body)
hpp::pinocchio::GeomData
::pinocchio::GeometryData GeomData
Definition: fwd.hh:68
hpp::pinocchio::JointJacobian_t
Eigen::Matrix< value_type, 6, Eigen::Dynamic > JointJacobian_t
Definition: fwd.hh:88
hpp::pinocchio::FrameIndex
::pinocchio::FrameIndex FrameIndex
Definition: fwd.hh:63
hpp::pinocchio::BodyConstPtr_t
shared_ptr< const Body > BodyConstPtr_t
Definition: fwd.hh:97
pinocchio
Definition: collision-object.hh:31