The MPK suite includes a library (MPKlib),
a graphic user interface demo program (MPKgui), a benmark tool (MPKbench),
a set of VRML models for robot joints, obstacles,
and a set of predefined scenes (.mpk files).
The following figure shows the relation between them.
MPK library is the core of the suite. Conceptually,
the MPK library is divided into several interacting modules,
which are listed in Table I. This division of the system corresponds
to the generally accepted notion that motion planning can be broken
down into some sort of search and sampling of the configuration
space (C-space) of the robot.
The search or planning mechanism effectively places the samples,
and a collision detector acts as an evaluator, testing each sample for collision.
Table I. The modules of MPK library.
|| Contains information about the robot and environment
| Collision Detector
|| Acts as an intermediary between the planner and the universe; responds to collision queries posed by the planner
|| Contains the algorithm for path planning that will be implemented using the collision detector
|| Library of data structures and routines used by the universe to represent geometric data
A typical way in which a researcher would use the MPK would be
to create a universe object and then populate it with robots and obstacles.
During the testing stage of a new algorithm, populating the universe would
be done via some of the preexisting sample data.
Typically, only one robot would exist at a time,
but nothing prevents the existence of multiple robots.
A collision detection object would then be instantiated that used this
universe and performed whatever internal optimizations it needed to make
collision checking faster. Once a particular collision detector has been implemented,
a planner can subsequently be instantiated that uses that collision detector,
takes a start and goal configuration, and produces a path.
Updated on May 10, 2007 by Zhenwang Yao .