RAMP header logo
::sfu>ensc>ramp>mpk
MPK-Home
Architecture
Components
Publications
Demo Program
Videos
Downloads
Contributors
Reference

Development

Architecture

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

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.

Module Function
Universe 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
Planner Contains the algorithm for path planning that will be implemented using the collision detector
Geometry 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 .
SFU logo
RAMP Lab vertical logo