Rahul Kala, Code Repository http://rkala.in/codes.html
Code for Robot Path Planning using Rapidly-exploring Random
Trees
Rahul Kala
Robotics and Artificial Intelligence Laboratory,
Indian Institute of Information Technology, Allahabad
Devghat, Jhalwa, Allahabad, INDIA
Email: rkala001@gmail.com
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 Rapidly-exploring Random Trees, Indian Institute of
Information Technology Allahabad, Available at: http://rkala.in/codes.html
1. Background
The code provided with this document uses Rapidly-exploring Random Trees 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 Rapidly-exploring Random Trees
The readers should please familiarize themselves with the Rapidly-exploring Random Trees (RRT) algorithm before
reading this tutorial. The RRT algorithm grows and maintains a tree where each node of the tree is a point (state) in
Overhead camera
评论0