hpp::corbaserver::Obstacle Interface Reference

Obstacle management. More...

import"/home/jmirabel/devel/demo/src/hpp-corbaserver/idl/hpp/corbaserver/obstacle.idl";

Public Member Functions

void loadObstacleModel (in string package, in string file, in string prefix) raises (Error)
 Load obstacle from urdf file. More...
 
void removeObstacleFromJoint (in string objectName, in string jointName, in boolean collision, in boolean distance) raises (Error)
 Remove an obstacle from outer objects of a joint body. More...
 
void cutObstacle (in string objectName, in floatSeq aabb) raises (Error)
 Cut the obstacle with the given AABB. More...
 
void addObstacle (in string objectName, in boolean collision, in boolean distance) raises (Error)
 Add an obstacle to the set of obstacles. More...
 
void moveObstacle (in string objectName, in Transform_ cfg) raises (Error)
 Move an obstacle to a given configuration. More...
 
void getObstaclePosition (in string objectName, out Transform_ cfg) raises (Error)
 Get the position of an obstacle. More...
 
Names_t getObstacleNames (in boolean collision, in boolean distance) raises (Error)
 Get list of obstacles. More...
 
Polyhedra
void createPolyhedron (in string polyName) raises (Error)
 create an empty polyhedron. More...
 
void createBox (in string inBoxName, in double x, in double y, in double z) raises (Error)
 Create a box. More...
 
void createSphere (in string name, in double radius) raises (Error)
 Create a sphere. More...
 
void createCylinder (in string name, in double radius, in double length) raises (Error)
 Create a cylinder. More...
 
unsigned long addPoint (in string polyName, in double x, in double y, in double z) raises (Error)
 Add a point to a polyhedron. More...
 
unsigned long addTriangle (in string polyName, in unsigned long pt1, in unsigned long pt2, in unsigned long pt3) raises (Error)
 Add a point to a polyhedron. More...
 

Detailed Description

Obstacle management.

Member Function Documentation

void hpp::corbaserver::Obstacle::addObstacle ( in string  objectName,
in boolean  collision,
in boolean  distance 
)
raises (Error
)

Add an obstacle to the set of obstacles.

Parameters
objectNamename of the object.
collisionwhether collision with object should be computed
distancewhether distance to object should be computed
Exceptions
Error.
Note
The obstacle should have been built using one of methods
  • hpp::Obstacle::createPolyhedron,
  • hpp::Obstacle::createBox
  • hpp::Obstacle::addPoint
  • hpp::Obstacle::addTriangle.
Build the bounding volume hierarchy of the object if needed.
unsigned long hpp::corbaserver::Obstacle::addPoint ( in string  polyName,
in double  x,
in double  y,
in double  z 
)
raises (Error
)

Add a point to a polyhedron.

Parameters
polyNamethe name of the polyhedron.
xcoordinate of the point.
ycoordinate of the point.
zcoordinate of the point.
Returns
rank of point in polyhedron.
unsigned long hpp::corbaserver::Obstacle::addTriangle ( in string  polyName,
in unsigned long  pt1,
in unsigned long  pt2,
in unsigned long  pt3 
)
raises (Error
)

Add a point to a polyhedron.

Parameters
polyNamethe name of the polyhedron.
pt1rank of first point in polyhedron.
pt2rank of second point in polyhedron.
pt3rank of third point in polyhedron.
Returns
rank of triangle in polyhedron.
void hpp::corbaserver::Obstacle::createBox ( in string  inBoxName,
in double  x,
in double  y,
in double  z 
)
raises (Error
)

Create a box.

Parameters
inBoxNamename of the box
x,y,zSize of the box
void hpp::corbaserver::Obstacle::createCylinder ( in string  name,
in double  radius,
in double  length 
)
raises (Error
)

Create a cylinder.

Parameters
namename of the cylinder
radiusradius of the cylinder
lengthlength of the cylinder
void hpp::corbaserver::Obstacle::createPolyhedron ( in string  polyName)
raises (Error
)

create an empty polyhedron.

Parameters
polyNamename of the polyhedron.
Exceptions
Error.
void hpp::corbaserver::Obstacle::createSphere ( in string  name,
in double  radius 
)
raises (Error
)

Create a sphere.

Parameters
namename of the sphere
radiusradius of the sphere
void hpp::corbaserver::Obstacle::cutObstacle ( in string  objectName,
in floatSeq  aabb 
)
raises (Error
)

Cut the obstacle with the given AABB.

Parameters
aabba vector of 6 floats. The 3 first represent one corner and the 3 last represent the opposite corner.
Names_t hpp::corbaserver::Obstacle::getObstacleNames ( in boolean  collision,
in boolean  distance 
)
raises (Error
)

Get list of obstacles.

Parameters
collisionwhether to return obstacle for collision,
distancewhether to return obstacles for distance computation
Returns
list of obstacles
void hpp::corbaserver::Obstacle::getObstaclePosition ( in string  objectName,
out Transform_  cfg 
)
raises (Error
)

Get the position of an obstacle.

Parameters
objectNamename of the polyhedron.
Return values
cfgPosition of the obstacle.
Exceptions
Error.
void hpp::corbaserver::Obstacle::loadObstacleModel ( in string  package,
in string  file,
in string  prefix 
)
raises (Error
)

Load obstacle from urdf file.

Parameters
packageName of the package containing the model.
fileIf package is empty, this is the XML string to parse otherwise, this is the filename of the urdf file in the package (without suffix .urdf)
prefixprefix added to object names in case the same file is loaded several times

The ros url is built as follows: "package://${package}/urdf/${filename}.urdf"

The kinematic structure of the urdf file is ignored. Only the geometric objects are loaded as obstacles.

void hpp::corbaserver::Obstacle::moveObstacle ( in string  objectName,
in Transform_  cfg 
)
raises (Error
)

Move an obstacle to a given configuration.

Parameters
objectNamename of the polyhedron.
cfgthe configuration of the obstacle.
Exceptions
Error.
Note
The obstacle is not added to local map impl::Obstacle::collisionListMap.
Build the collision entity of polyhedron for KCD.
void hpp::corbaserver::Obstacle::removeObstacleFromJoint ( in string  objectName,
in string  jointName,
in boolean  collision,
in boolean  distance 
)
raises (Error
)

Remove an obstacle from outer objects of a joint body.

Parameters
objectNamename of the object to remove,
jointNamename of the joint owning the body,
collisionwhether collision with object should be ignored,
distancewhether distance to object should be ignored.
Exceptions
Error.