Wandering in the Robot PlayGround

Christopher Just
CPRE575x Final Project

  1. Introduction
  2. Robot PlayGround is a virtual environment for experimenting with motion planning algorithms for three-dimensional robots. The user can arrange a set of obstacles to create a challenging environment in which the robot attempts to perform a simple task. The chosen task in the current system is to pick up a cargo object and deliver it to a target destination.

    The inspiration for Robot PlayGround was a desire on the part of the developer to combine two disciplines, virtual reality(VR) and motion strategies, into a single project. Because Robot PlayGround was designed to be the final project in two classes, it has two separate goals. For VR, it had to be highly interactive and graphically interesting. For motion strategies, it had to efficiently calculate paths for a robot with movement in four dimensions (translating freely in space, and turning about its vertical axis).

  3. An Overview of Robot PlayGround
  4. The Robot PlayGround environment is a space with a 12' square floor, extending 9' upwards. These values were chosen to match the size of the ICEMT C2 device, allowing the user to walk around and position objects anywhere in the C2 interior without dealing with a navigation interface. The environment size can be changed with little effort, although the use of larger environments will impact performance.

    Inside of the environment are numerous objects: a robot, a cargo block, a target, and several obstacles. Using a glove supported by the CAVE library, the user can pick up objects by touching them with a closed hand. The object moves with the user's hand as long as the hand is closed. Objects may be placed anywhere in the environment, and may be rotated about their vertical axes by turning the hand.

    There is no physics modeling for objects when the user moves them. An object released in midair will not fall, and objects can be positioned so that they intersect each other. It was decided that obstacles were easier to position if they could intersect, but a future release may disallow intersections with targets, cargos, and robots, as this can confuse the motion planning algorithms.

    The usual loop of actions for a user in the Robot PlayGround environment is to position the obstacles, target, and cargo as desired and then start up the robot to see if it can find its way around. However, it is also possible to change the environment while the robot is moving - repositioning blocks, or even moving the robot if it gets stuck. The robot ignores objects that are being carried by the user, but when they are set down again the robot will adjust its course to compensate.

  5. Implementation
  6. Limitations and Future Work
  7. Certain features were planned for Robot PlayGround, but dropped due to time constraints and programming complexities. Most importantly, the initial plan was to evaluate multiple motion strategies. While the support structure has been implemented, all the current robots use randomized roadmaps.

    Initial use of Robot PlayGround has shown that a load/save feature to store object positions would be a very helpful feature. Setting up obstacles can be time consuming, especially in the CAVE Library's simulator mode.

    Pains were taken to ensure that the pathfinding algorithm executed with the best possible speed, but it still creates a significant glitch in the displays when it happens. Fortunately, this only happens when the environment changes. But, if other strategies are implemented, they may be more time consuming. Ideally, the motion planning should be decoupled from the display process.

    Finally, the current implementation has shared memory issues that may keep it from working properly on multiple screens, or a full C2 setup. This has not been tested.

    The developer would also like to port the Robot PlayGround to a more advanced VR development environment, such as that provided by VR Juggler, when it becomes available.

  8. Conclusion
  9. The Robot PlayGround was designed to be both interesting and entertaining; I, at least, have found it to be both. There are many additions and changes that could be made to it, time permitting, but its fundamentals are sound. I hope to have the opportunity to use it as a demonstration program for VR Juggler, and to expand on the motion strategies it uses.

  10. Bibliography

  11. Christopher Just
    Last modified: Sun May 3 22:23:55 CDT 1998