hpp-corbaserver  4.9.0
Corba server for Humanoid Path Planner applications
hpp::corbaserver::Obstacle Interface Reference

Obstacle management. More...

import"/home/florent/devel/release/src/hpp-corbaserver/idl/hpp/corbaserver/obstacle.idl";

Public Member Functions

void loadObstacleModel (in string filename, in string prefix) raises (Error)
 
void loadPolyhedron (in string obstacleName, in string filename) raises (Error)
 Load a polyhedron as an obstacle from a file. More...
 
void loadObstacleModelFromString (in string urdfString, in string prefix) raises (Error)
 
void removeObstacle (in string objectName) raises (Error)
 Remove an obstacle. 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)
 
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)
 
Names_t getObstacleNames (in boolean collision, in boolean distance) raises (Error)
 
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)
 
void createCylinder (in string name, in double radius, in double length) raises (Error)
 
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

◆ addObstacle()

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.

◆ addPoint()

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.

◆ addTriangle()

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.

◆ createBox()

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

◆ createCylinder()

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

◆ createPolyhedron()

void hpp::corbaserver::Obstacle::createPolyhedron ( in string  polyName)
raises (Error
)

create an empty polyhedron.

Parameters
polyNamename of the polyhedron.
Exceptions
Error.

◆ createSphere()

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

◆ cutObstacle()

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.

◆ getObstacleNames()

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

◆ getObstaclePosition()

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.

◆ loadObstacleModel()

void hpp::corbaserver::Obstacle::loadObstacleModel ( 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, it may contain "package://"
prefixprefix added to object names in case the same file is loaded several times

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

◆ loadObstacleModelFromString()

void hpp::corbaserver::Obstacle::loadObstacleModelFromString ( in string  urdfString,
in string  prefix 
)
raises (Error
)

Load obstacle from urdf file

Parameters
packageName of the package containing the model.
urdfStringXML string to parse
prefixprefix added to object names in case the same file is loaded several times

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

◆ loadPolyhedron()

void hpp::corbaserver::Obstacle::loadPolyhedron ( in string  obstacleName,
in string  filename 
)
raises (Error
)

Load a polyhedron as an obstacle from a file.

Parameters
obstacleNamename of the polyhedron.
filenamename of the file.
Exceptions
Error.

◆ moveObstacle()

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.

◆ removeObstacle()

void hpp::corbaserver::Obstacle::removeObstacle ( in string  objectName)
raises (Error
)

Remove an obstacle.

Parameters
objectNamename of the object to remove

◆ removeObstacleFromJoint()

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.

The documentation for this interface was generated from the following file: