Rahul Kala, Code Repository http://rkala.in/codes.html
Code for Robot Path Planning using Probabilistic Roadmap
(Octave)
Rahul Kala
Robotics and Artificial Intelligence Laboratory,
Indian Institute of Information Technology, Allahabad
Devghat, Jhalwa, Allahabad, INDIA
Email: [email protected]m
Ph: +91-8174967783
Web: http://rkala.in/
Version 1, Released: 7th June, 2014
© Rahul Kala, IIIT Allahabad, Creative Commons Attribution-ShareAlike 4.0 International License. The use of this code, its parts and all the
materials in the text; creation of derivatives and their publication; and sharing the code publically is permitted without permission.
Please cite the work in all materials as: R. Kala (2014) Code for Robot Path Planning using Probabilistic Roadmap (Octave), Indian Institute of
Information Technology Allahabad, Available at: http://rkala.in/codes.html
1. Background
The code provided with this document uses Probabilistic Roadmap Algorithm for robot motion planning. Assume
that you have a robot arena with an overhead camera as shown in Figure 1. The camera can be easily calibrated and
the image coming from the camera can be used to create a robot map, as shown in the same figure. This is a
simplistic implementation of the real life scenarios where multiple cameras are used to capture different parts of the
entire workspace, and their outputs are fused to create an overall map used by the motion planning algorithms. This
tutorial would assume that such a map already exists and is given as an input to the map.
Figure 1: Overhead camera system and creation of robot map
The same camera can also be used to capture the location of the robot at the start of the planning and also as the
robot moves. This solves the problem of localization. An interesting looking region of interest becomes the goal of
the robot to be used in the motion planning algorithms. The robot is not shown in the map in Figure 1. This tutorial
assumes that the source and goal of the robot is explicitly supplied. The aim of the current tutorial is only to plan a
path for the robot; the code does not go forth with making the robot move on the desired path, for which a control
algorithm is needed.
For simplicity, the robot is taken as a point-sized object. This enables a quick implementation and understanding,
without delving into the libraries for collision detection and concepts of multi-dimensional configuration spaces.
2. Problem Solving using Probabilistic Roadmap
The readers should please familiarize themselves with the Probabilistic Roadmap (PRM) algorithm before reading
this tutorial. The algorithm has two stages: an offline roadmap (graph) building stage and an online planning/query
Overhead camera