Additional planners for OOPSMP

Kostas Bekris at the University of Nevada at Reno has kindly provided two additional planners for use in OOPSMP:

  • Dynamic-domain RRTs (DDRRT). See:
    A. Yershova, L. Jaillet, T. Simeon, S.M. LaValle, Dynamic-Domain RRTs: Efficient Exploration by Controlling the Sampling Domain, Proceedings of the 2005 IEEE International Conference on Robotics and Automation (ICRA), pp. 3856-3861, 18-22 April 2005.
  • Visibility PRMs. See:
    T. Siméon, J.-P. Laumond. and C. Nissoux. Visibility based probabilistic roadmaps for motion planning. Advanced Robotics Journal 14(6), 2000.

Download

All the new and changed files are available in one zip file. Back up your original OOPSMP distribution first. Then extract the zip file on top of your existing code. Although we plan to incorporate this code in the next release of OOPSMP, this code is currently not officially supported.

[zip file with code]

Detailed explanation of the changes

Beyond the files for the three planners (DDRRT under RRT, VisPRM under PRM under VisPRM) the other changes include:

  • small changes in the RRT and PRM header files (etc. making parameters protected instead of private)
  • small changes in the PRM code (using Astar search instead of Depth first search)
  • files for graphical versions of the three planners
  • changes in the CMakeLists so as to include the planners
  • some input files that use the three planners

If you run VisPRM on the SE2 example you should get results similar to what is described in the presentation. The output roadmap of VisPRM is a very sparse roadmap but the resulting path is quite redundant. It should be taking less than 5 sec for VisPRM to finish.

The implementation of VisPRM is not making use of the state and edge iterators that PRM provides. Moreover, the input parameters for the algorithm are set in the "clear()" function of the algorithm instead of actually using the factory approach.