31 #ifndef HPP_PINOCCHIO_DEVICE_HH
32 #define HPP_PINOCCHIO_DEVICE_HH
34 #include <boost/thread/condition_variable.hpp>
35 #include <boost/thread/mutex.hpp>
44 #include <hpp/util/debug.hh>
45 #include <hpp/util/serialization-fwd.hh>
91 const std::string&
name()
const {
return name_; }
127 d().geomData_ = geomDataPtr;
207 return configSpaceRnxSOn_;
217 return jointConstraints_;
243 extraConfigSpace_.setDimension(dimension);
305 virtual std::ostream&
print(std::ostream& os)
const;
323 void init(
const DeviceWkPtr_t& weakPtr);
360 HPP_SERIALIZABLE_SPLIT();
364 const std::vector<std::string>& geometryNames);
368 return device.
print(os);
Abstract class representing a Device.
Definition: device-sync.hh:41
Definition: center-of-mass-computation.hh:52
Definition: collision-object.hh:52
Definition: device-sync.hh:212
Robot with geometric and dynamic pinocchio.
Definition: device.hh:60
const LiegroupSpacePtr_t & configSpace() const
Returns a LiegroupSpace representing the configuration space.
Definition: device.hh:203
JointPtr_t getJointByName(const std::string &name) const
coal::AABB computeAABB() const
Configuration_t neutralConfiguration() const
Get the neutral configuration.
DevicePtr_t cloneConst() const
Clone as a CkwsDevice Both pinocchio objects model and data are copied. TODO: this method is not impl...
Definition: device.hh:86
CollisionObjectPtr_t objectAt(const size_type &i) const
void createGeomData()
Create Pinocchio geomData from model.
const std::string & name() const
Get name of device.
Definition: device.hh:91
void invalidate()
Definition: device.hh:341
Grippers_t & grippers()
Return list of grippers of the Device.
Definition: device.hh:256
DeviceData & d()
Definition: device.hh:338
Frame rootFrame() const
Get root frame.
void addGripper(const GripperPtr_t &gripper)
Add a gripper to the Device.
Definition: device.hh:253
const Grippers_t & grippers() const
Return list of grippers of the Device.
Definition: device.hh:259
const DistanceResults_t & distanceResults() const
Get result of distance computations.
void setData(DataPtr_t dataPtr)
Set Pinocchio data corresponding to model.
Definition: device.hh:118
JointPtr_t getJointByBodyName(const std::string &name) const
void init(const DeviceWkPtr_t &weakPtr)
Initialization.
ExtraConfigSpace extraConfigSpace_
Definition: device.hh:348
std::vector< JointLinearConstraint > jointConstraints_
Definition: device.hh:350
size_type nbJoints() const
void setModel(ModelPtr_t modelPtr)
Set pinocchio model.
Definition: device.hh:112
DeviceData d_
Definition: device.hh:336
std::list< CollisionPair_t > CollisionPairs_t
Definition: device.hh:70
void setGeomModel(GeomModelPtr_t geomModelPtr)
Set pinocchio geom.
Definition: device.hh:115
ExtraConfigSpace & extraConfigSpace()
Definition: device.hh:231
size_type numberDof() const
void createData()
Create Pinocchio data from model.
Frame getFrameByName(const std::string &name) const
JointPtr_t getJointAtVelocityRank(const size_type &r) const
LiegroupSpacePtr_t configSpace_
Definition: device.hh:346
std::pair< JointPtr_t, JointPtr_t > CollisionPair_t
Collision pairs between bodies.
Definition: device.hh:69
Device()
Definition: device.hh:357
virtual void removeJoints(const std::vector< std::string > &jointNames, Configuration_t referenceConfig)
Remove some joints from the configuration space.
DeviceWkPtr_t weakPtr_
Definition: device.hh:351
BodyPtr_t obstacles() const
static DevicePtr_t createCopy(const DevicePtr_t &device)
Copy of a device.
JointPtr_t getJointAtConfigRank(const size_type &r) const
virtual void setDimensionExtraConfigSpace(const size_type &dimension)
Set dimension of extra configuration space.
Definition: device.hh:242
const ExtraConfigSpace & extraConfigSpace() const
Definition: device.hh:239
Grippers_t grippers_
Definition: device.hh:345
void numberDeviceData(const size_type &s)
Set the maximum number of concurrent use of the Device.
JointPtr_t jointAt(const size_type &i) const
std::string name_
Definition: device.hh:343
bool collisionTest(const bool stopAtFirstCollision=true)
virtual DevicePtr_t clone() const
Clone as a CkwsDevice The pinocchio model is not copied (only copy the pointer). A new Pinocchio "dat...
Definition: device.hh:82
static DevicePtr_t createCopyConst(const DeviceConstPtr_t &device)
const LiegroupSpacePtr_t & RnxSOnConfigSpace() const
See Joint::RnxSOnConfigurationSpace.
Definition: device.hh:206
void setGeomData(GeomDataPtr_t geomDataPtr)
Set Pinocchio geomData corresponding to model.
Definition: device.hh:126
void addJointConstraint(JointLinearConstraint constraint)
Add a joint constraint.
size_type configSize() const
static DevicePtr_t create(const std::string &name)
Creation of a new device.
Device(const Device &device)
Copy Constructor.
size_type nbObjects() const
Number of objects.
void initCopy(const DeviceWkPtr_t &weakPtr, const Device &other)
Initialization of of a clone device.
JointPtr_t rootJoint() const
Get root joint.
size_type numberDeviceData() const
Get the number of DeviceData.
DeviceData const & d() const
Definition: device.hh:339
const std::vector< JointLinearConstraint > & jointConstraints() const
Definition: device.hh:216
Device(const std::string &name)
Constructor.
virtual std::ostream & print(std::ostream &os) const
Print object in a stream.
Robot frame.
Definition: frame.hh:42
Pool of objects.
Definition: pool.hh:57
#define HPP_PINOCCHIO_DLLAPI
Definition: config.hh:88
shared_ptr< Device > DevicePtr_t
Definition: fwd.hh:118
shared_ptr< Joint > JointPtr_t
Definition: fwd.hh:123
shared_ptr< GeomModel > GeomModelPtr_t
Definition: fwd.hh:133
void replaceGeometryByConvexHull(GeomModel &geomModel, const std::vector< std::string > &geometryNames)
std::ostream & operator<<(std::ostream &os, const hpp::pinocchio::Device &device)
Definition: device.hh:366
shared_ptr< GeomData > GeomDataPtr_t
Definition: fwd.hh:135
shared_ptr< LiegroupSpace > LiegroupSpacePtr_t
Definition: fwd.hh:150
matrix_t::Index size_type
Definition: fwd.hh:97
shared_ptr< Body > BodyPtr_t
Definition: fwd.hh:109
double value_type
Definition: fwd.hh:51
vector_t Configuration_t
Definition: fwd.hh:89
std::vector< GripperPtr_t > Grippers_t
Definition: fwd.hh:126
::pinocchio::GeometryModel GeomModel
Definition: fwd.hh:79
shared_ptr< const Device > DeviceConstPtr_t
Definition: fwd.hh:119
shared_ptr< Gripper > GripperPtr_t
Definition: fwd.hh:125
shared_ptr< Model > ModelPtr_t
Definition: fwd.hh:128
std::vector< coal::DistanceResult > DistanceResults_t
Definition: fwd.hh:120
shared_ptr< CollisionObject > CollisionObjectPtr_t
Definition: fwd.hh:116
shared_ptr< Data > DataPtr_t
Definition: fwd.hh:130
Utility functions.
Definition: body.hh:39
Definition: collision-object.hh:40
Definition: device-data.hh:51
void invalidate()
Definition: device-data.hh:55
Definition: device.hh:148
JointPtr_t joint
Definition: device.hh:150
value_type multiplier
Definition: device.hh:149