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