hpp::core::Problem Class Reference

Defines a path planning problem for one robot. More...

#include <hpp/core/problem.hh>

List of all members.

Public Member Functions

 Problem (DevicePtr_t robot)
 Create a path planning problem.
virtual ~Problem ()
virtual void checkProblem () const
 Check that problem is well formulated.
Problem definition
const DevicePtr_trobot () const
 return shared pointer to robot.
void robot (const DevicePtr_t &device)
 set robot Set steering method, distance function and path validation to default values
const ConfigurationPtr_tinitConfig () const
 Get shared pointer to initial configuration.
void initConfig (const ConfigurationPtr_t &inConfig)
 Set initial configuration.
const Configurations_tgoalConfigs () const
 Get number of goal configuration.
void addGoalConfig (const ConfigurationPtr_t &config)
 Add goal configuration.
void resetGoalConfigs ()
 Reset the set of goal configurations.
Steering method and distance function
void steeringMethod (const SteeringMethodPtr_t &sm)
 Set steering method.
SteeringMethodPtr_t steeringMethod () const
 Get steering method.
void distance (const DistancePtr_t &distance)
 Set distance between configurations.
const DistancePtr_tdistance () const
 Get distance between configuration.
Configuration validation
void configValidation (const ConfigValidationsPtr_t &configValidations)
 Set configuration validation methods Before starting tos solve a path planning problem, the initial and goal configurations are checked for validity.
const ConfigValidationsPtr_tconfigValidations () const
 Get configuration validation methods.
Path validation

Set path validation method

void pathValidation (const PathValidationPtr_t &pathValidation)
PathValidationPtr_t pathValidation () const
 Get path validation method.
Path projector

Set path projector method

void pathProjector (const PathProjectorPtr_t &pathProjector)
PathProjectorPtr_t pathProjector () const
 Get path projector method.
Constraints applicable to the robot
void constraints (const ConstraintSetPtr_t &constraints)
 Set constraint set.
const ConstraintSetPtr_tconstraints () const
 Get constraint set.
Obstacles
void addObstacle (const CollisionObjectPtr_t &object)
 Add obstacle to the list.
void removeObstacleFromJoint (const JointPtr_t &joint, const CollisionObjectPtr_t &obstacle)
 Remove a collision pair between a joint and an obstacle.
const ObjectVector_tcollisionObstacles () const
 Vector of objects considered for collision detection.
void collisionObstacles (const ObjectVector_t &collisionObstacles)
 Set the vector of objects considered for collision detection.

Detailed Description

Defines a path planning problem for one robot.

A path planning problem is defined by

  • a robot: instance of class hpp::model::Device,
  • a set of obstacles: a list of hpp::model::CollisionObject,
  • initial and goal configurations,
  • a SteeringMethod to handle the robot dynamics, Additional objects are stored in this object:
  • a method to validate paths,
  • a set of methods to validate configurations. Default methods are collision checking and joint bound checking.

Constructor & Destructor Documentation

hpp::core::Problem::Problem ( DevicePtr_t  robot)

Create a path planning problem.

Parameters:
robotrobot associated to the path planning problem.
virtual hpp::core::Problem::~Problem ( ) [virtual]

Member Function Documentation

void hpp::core::Problem::addGoalConfig ( const ConfigurationPtr_t config)

Add goal configuration.

void hpp::core::Problem::addObstacle ( const CollisionObjectPtr_t object)

Add obstacle to the list.

Parameters:
objecta new object.
virtual void hpp::core::Problem::checkProblem ( ) const [virtual]

Check that problem is well formulated.

const ObjectVector_t& hpp::core::Problem::collisionObstacles ( ) const

Vector of objects considered for collision detection.

void hpp::core::Problem::collisionObstacles ( const ObjectVector_t collisionObstacles)

Set the vector of objects considered for collision detection.

void hpp::core::Problem::configValidation ( const ConfigValidationsPtr_t configValidations) [inline]

Set configuration validation methods Before starting tos solve a path planning problem, the initial and goal configurations are checked for validity.

const ConfigValidationsPtr_t& hpp::core::Problem::configValidations ( ) const [inline]

Get configuration validation methods.

void hpp::core::Problem::constraints ( const ConstraintSetPtr_t constraints) [inline]

Set constraint set.

Parameters:
constraintsa set of constraints If problem contains a steering method, constraints are passed to the steering method.
const ConstraintSetPtr_t& hpp::core::Problem::constraints ( ) const [inline]

Get constraint set.

void hpp::core::Problem::distance ( const DistancePtr_t distance) [inline]

Set distance between configurations.

const DistancePtr_t& hpp::core::Problem::distance ( ) const [inline]

Get distance between configuration.

const Configurations_t& hpp::core::Problem::goalConfigs ( ) const

Get number of goal configuration.

const ConfigurationPtr_t& hpp::core::Problem::initConfig ( ) const [inline]

Get shared pointer to initial configuration.

void hpp::core::Problem::initConfig ( const ConfigurationPtr_t inConfig)

Set initial configuration.

void hpp::core::Problem::pathProjector ( const PathProjectorPtr_t pathProjector) [inline]
PathProjectorPtr_t hpp::core::Problem::pathProjector ( ) const [inline]

Get path projector method.

void hpp::core::Problem::pathValidation ( const PathValidationPtr_t pathValidation)
PathValidationPtr_t hpp::core::Problem::pathValidation ( ) const [inline]

Get path validation method.

void hpp::core::Problem::removeObstacleFromJoint ( const JointPtr_t joint,
const CollisionObjectPtr_t obstacle 
)

Remove a collision pair between a joint and an obstacle.

Parameters:
thejoint that holds the inner objects,
theobstacle to remove.
void hpp::core::Problem::resetGoalConfigs ( )

Reset the set of goal configurations.

const DevicePtr_t& hpp::core::Problem::robot ( ) const [inline]

return shared pointer to robot.

void hpp::core::Problem::robot ( const DevicePtr_t device)

set robot Set steering method, distance function and path validation to default values

void hpp::core::Problem::steeringMethod ( const SteeringMethodPtr_t sm) [inline]

Set steering method.

Parameters:
smsteering method. If problem contains constraints they are passed to the steering method.
SteeringMethodPtr_t hpp::core::Problem::steeringMethod ( ) const [inline]

Get steering method.