Good approximate solutions for problems framed as Partially Observable Markov Decision Processes (POMDPs) can now be computed on-line, with a few classes of problems being solved in near real-time. However, an easy to use software tool for on-line POMDP-based motion planning is still lacking. Software tools for solving POMDPs do exist. However, most, if not all, requires the user to program the problem directly in the solver's software, which increases the difficulty because the user will likely need to know and adjust their problem encoding to specific implementation details, such as the data structures used.
In this project, we develop On-line POMDP Planning Toolkit (OPPT) that allows users to specify POMDP model of motion planing problems via a configuration file and 3D models of the robot and environment. It also provides an API for ROS and Gazebo. Further, for more complex problems, users can use plug-in architectures to implement the core components of the POMDP model.
OPPT also aims to ease sensitivity analysis by allowing users to separate the POMDP model (including the robot’s environment) for planning and for simulated execution. It is known that developing a faithful POMDP model is often the main bottleneck in applications of POMDP based planning, today. However, it is also known that strategies computed with imperfect POMDP models can still generate relatively good robot behaviours. The ability to separate planning and execution environments will better facilitate sensitivity analysis studies of on-line POMDP solvers and allow users to better predict the performance of on-line POMDP solvers in the physical world.
For testing new solvers, OPPT provides an abstract and general POMDP solver class that is not restricted to specific data structures. The user has access to a rich framework that provides functionalities common for many motion planning problems, such as kinematic computations, physical simulation of the robot and the environment it operates in and collision detection. This enables the user to focus on implementing new POMDP solvers.
An example of OPPT in action:
OPPT can be downloaded from our github repo.
A simple grasping demo of using OPPT with Kinova Movo can be downloaded from our github repo.
Details of the design and architecture are in the references below.