computational robotics

from tasks to motions

Educational and Research Software

Object-Oriented Programming System for Motion Planning (OOPSMP)

I developed OOPSMP during my Ph.D. at Rice University as an extensive package for motion planning that is easy to extend, robust, and efficient. OOPSMP can be used for motion-planning research and as a teaching tool in robotics. OOPSMP has become an integral part of robotics at CUA, Rice University, Johns Hopkins University, and is being used by a growing number of researchers, professors, students, and robotics enthusiasts worldwide.

CURRENT RELEASE: version 1.1.1, February 2009 (changes since version 1.0)

  • Implementations of popular motion planners

    Probabilistic RoadMap (PRM), Rapidly-exploring Random Tree (RRT), Expansive Spaces Tree (EST), bi-directional tree planners, and others.

  • Solution of problems involving one or multiple robots

    Each robot can freely rotate and translate or kinodynamic constraints can be imposed that restrict the possible motions.

  • General purpose utilities and data structures

    Nearest neighbors; numerical integration; SE(2), SO(3) [quaternions], SE(3); sets, maps, disjoint sets, updatable heaps, graphs; DFS, BFS, Dijkstra, A*; and others.

  • Plug-and-play

    One of the most distinctive features of OOPSMP is that it allows to plug-and-play existing code or new code via XML specifications.