hpp::corbaserver::Obstacle Interface Reference

Obstacle management. More...

import "/local/robotpkg/var/tmp/robotpkg/path/hpp-corbaserver/work/hpp-corbaserver-3.1.0/idl/hpp/corbaserver/obstacle.idl";

List of all members.

Public Member Functions

void loadObstacleModel (in string package, in string filename, in string prefix) raises (Error)
 Load obstacle from urdf file.
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.
void addObstacle (in string objectName, in boolean collision, in boolean distance) raises (Error)
 Add an obstacle to the set of obstacles.
void moveObstacle (in string objectName, in Transform_ cfg) raises (Error)
 Move an obstacle to a given configuration.
void getObstaclePosition (in string objectName, out Transform_ cfg) raises (Error)
 Get the position of an obstacle.
Names_t getObstacleNames (in boolean collision, in boolean distance) raises (Error)
 Get list of obstacles.
Polyhedra
void createPolyhedron (in string polyName) raises (Error)
 create an empty polyhedron.
void createBox (in string inBoxName, in double x, in double y, in double z) raises (Error)
 Create a box.
short addPoint (in string polyName, in double x, in double y, in double z) raises (Error)
 Add a point to a polyhedron.
short addTriangle (in string polyName, in unsigned long pt1, in unsigned long pt2, in unsigned long pt3) raises (Error)
 Add a point to a polyhedron.

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.
short 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.
short 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::createPolyhedron ( in string  polyName) raises (Error)

create an empty polyhedron.

Parameters:
polyNamename of the polyhedron.
Exceptions:
Error.
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  filename,
in string  prefix 
) raises (Error)

Load obstacle from urdf file.

Parameters:
packageName of the package containing the model
filenamename 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 computed,
distancewhether distance to object should be computed.
Exceptions:
Error.