OXFORD UNIVERSITY  COMPUTING LABORATORY

The OxSim Planner Framework

Research into motion planning has occupied many researchers for some years; still commercial uses of automated motion planning are few and far between. Two reasons for this are as follows:

  • Speed. Motion planning has a reputation for being slow. Although motion planners have increased significantly in speed over the last few years, speed is still not at the level to make potential users embrace the technology.
  • Utility. Potential users are potential users because they have hard motion planning problems to solve. These problems are complex because of the clearances required - they can't easily solve the problem by looking at a motion simulation - or because of the sheer geometric complexity of the problem, or both. The practical needs of these users must be addressed if motion planning is to leave the research laboratory.
We contend that these problems can be addressed by separating out the issues of geometry and geometric calculation from those of planning. For example, a simple planning strategy for a robot manipulator first decides how we would like to move the payload, and then tackles the problem of moving the links of the manipulator in order to move the payload. In turn, when moving the manipulator we might come up with a strategy like "keep all of the links above the objects on the table, until we want to move the payload down, when we keep links 2 and 3 between objects 3 and 7". Further, this strategy should work for a reasonable range of complexity of the shapes of the interesting objects and links; only the geometric calculations involved will get harder.

We have designed the OxSim framework in order to test this contention. OxSim assumes that a high-level planner exists that is capable of planning strategies, and that to test the strategies the high-level planner will call a low-level planner within the core of OxSim. The figure here shows these components, and several different combinations of high-level and low-level planners have been tested within the framework. To handle the geometry, we import geometric models and rely on a module that can calculate efficiently the minimum distance between parts of the robot and parts of its environment to act as the glue between geometry and planning.

So far OxSim has proved to us the utility of separating geometry from planning in this way. New path planning systems can be quickly prototyped, and tested on scenes of realistic geometric complexity - here and here are two snapshots of the output of OxSim when planning paths for an unusual manipulator (a mechanical digger), and an MPEG movie is also available (64223 bytes) for a motion that took 20s to plan on an SGI Indy R4600. The motion goal is the red dot in the trench to the left of the picture. The steelwork around the digger has been especially chosen to make the planner's work difficult. A coarse sequence of via points is provided for the shovel; the planner attempts to find a path that takes the shovel near to the via points, whilst keeping the rest of the digger collision-free.

The planner above uses our virtural springs local planner. We have also been experimenting with other local and high-level planners, and MPEG movies are available that show planners based on simulated annealing [92232 bytes, 17s planning time] and on a directed search with backtracking [68839 bytes, 7s planning time]. These planners work fast when they succeed, but the plans would require smoothing before execution on a real robot.

Although our current system uses polyhedral models, all that should be required to move to scenes with curved geometry would be to provide new distance functions that work on that geometry. (Constructing such distance functions is an open research issue that we are starting to tackle.)

We expect to experiment more with OxSim over the coming few months, a to produce some form of public release in the late summer of 1996. OxSim is written in C++.

References

  • Towards Efficient Motion Planning for Manipulators with Complex Geometry, ISATP'95, August 1995. [isatp95.ps.gz: 131069 bytes compressed postscript].
  • Dealing with Geometric Complexity in Motion Planning, part of the Workshop on Practical Motion Planning in Robotics which was held in conjunction with ICRA 96, Minneapolis, 23rd April 1996. [icra96.ps.gz: 271592 bytes compressed postscript].
  • Building Bridges, a short essay on why we should be striving for simplicity in our robotic planning systems.
Random Image
Random Image
Random Image