Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members  

Geom Class Reference

Geometric models and collision detection methods. More...

#include <geom.h>

Inheritance diagram for Geom:

GeomLedaPolygonal GeomPQP GeomLedaPolygonalRigid GeomPQP2D GeomPQP3DRigid GeomPQP2DPoint GeomPQP2DRigid GeomPQP3DRigidMulti GeomPQP2DRigidMulti List of all members.

Public Methods

 Geom (string path)
 Empty constructor in base class.

virtual ~Geom ()
 Empty destructor.

virtual bool CollisionFree (const vector &q) = 0
 Return true if the robot(s) and obstacles are not in collision.

virtual double DistanceComp (const vector &q) = 0
 Compute the distance of the closest point on the robot to the obstacle region.

virtual list<polygon> EnvironmentToLedaPolygons () = 0
 This is included for backwards compatibility, and will be removed one day.

virtual list<polygon> RobotToLedaPolygons (const vector &q) = 0
 This is included for backwards compatibility, and will be removed one day.

virtual vector ConfigurationDifference (const vector &q1, const vector &q2)
 Compute a vector based on q2-q1. In R^n, the configurations are simply subtracted to make the vector. This method exists to make things work correctly for other configuration-space topologies.


Public Attributes

int NumBodies
 The number of rigid bodies in the geometry model.

int GeomDim
 The dimension of the world geometry: 2 or 3.

vector MaxDeviates
 Maximum displacement of geometry with respect to change in each variable.


Protected Attributes

string FilePath

Detailed Description

Geometric models and collision detection methods.

These classes define the geometric representations of all obstacles in the world, and of each part of the robot. The methods allow planning algorithms to determine whether any of the robot parts are in collision with each other or with obstacles in the world. Currently, there are classes for 2D and 3D models, and two collision detection methods: one uses LEDA primitives, and the other uses the PQP collision detection package from the Univ. of North Carolina.

A configuration vector specifies the positions and orientation of each rigid body.


Constructor & Destructor Documentation

Geom::Geom ( string path = "" )
 

Empty constructor in base class.

Geom::~Geom ( ) [inline, virtual]
 

Empty destructor.


Member Function Documentation

bool Geom::CollisionFree ( const vector & q ) [pure virtual]
 

Return true if the robot(s) and obstacles are not in collision.

Reimplemented in GeomLedaPolygonal, GeomLedaPolygonalRigid, GeomPQP, GeomPQP2DPoint, GeomPQP2DRigid, GeomPQP2DRigidMulti, GeomPQP3DRigid, and GeomPQP3DRigidMulti.

vector Geom::ConfigurationDifference ( const vector & q1,
const vector & q2 ) [virtual]
 

Compute a vector based on q2-q1. In R^n, the configurations are simply subtracted to make the vector. This method exists to make things work correctly for other configuration-space topologies.

Reimplemented in GeomLedaPolygonalRigid, GeomPQP2DRigid, and GeomPQP3DRigid.

double Geom::DistanceComp ( const vector & q ) [pure virtual]
 

Compute the distance of the closest point on the robot to the obstacle region.

Reimplemented in GeomLedaPolygonal, GeomLedaPolygonalRigid, GeomPQP, GeomPQP2DPoint, GeomPQP2DRigid, GeomPQP2DRigidMulti, GeomPQP3DRigid, and GeomPQP3DRigidMulti.

list< polygon > Geom::EnvironmentToLedaPolygons ( ) [pure virtual]
 

This is included for backwards compatibility, and will be removed one day.

Reimplemented in GeomLedaPolygonal, GeomPQP, and GeomPQP2D.

list< polygon > Geom::RobotToLedaPolygons ( const vector & q ) [pure virtual]
 

This is included for backwards compatibility, and will be removed one day.

Reimplemented in GeomLedaPolygonal, GeomLedaPolygonalRigid, GeomPQP, and GeomPQP2DRigid.


Member Data Documentation

string Geom::FilePath [protected]
 

int Geom::GeomDim
 

The dimension of the world geometry: 2 or 3.

vector Geom::MaxDeviates
 

Maximum displacement of geometry with respect to change in each variable.

int Geom::NumBodies
 

The number of rigid bodies in the geometry model.


The documentation for this class was generated from the following files: Motion Strategy Library


Web page maintained by Steve LaValle
Partial support provided by NSF CAREER Award IRI-970228 (LaValle), Honda Research, and Iowa State University.
Contributors: Anna Atramentov, Peng Cheng, James Kuffner, Steve LaValle, and Libo Yang.