RESOURCE

Robotics Toolbox

Introduction

Many videos in the Academy make use of MATLAB® examples, and many of those require extra (free) software such as the Robotics Toolbox for MATLAB.  

The videos were made in the period 2015-16 and are consistent with:

The most recent versions are

but there are some minor differences in the way the code operates — these are noted on the relevant lesson pages.

About the toolbox

The Toolbox represents over twenty years of development and a substantial level of maturity. This version supports Professor Corke’s book,  Robotics, Vision and Control and captures a large number of the changes and extensions generated over the last two years.

The Toolbox provides many functions that are useful for studying and simulating classical arm-type robotics, such as kinematics, dynamics, and trajectory generation. The Toolbox is based on a general method of representing the kinematics and dynamics of serial-link manipulators.

These parameters are encapsulated in MATLAB® objects. Robot objects can be created for any serial-link manipulator and a number of examples are provided for well-known robots, such as the Puma 560 and the Stanford arm. The Toolbox also provides functions for manipulating and converting between datatypes, such as vectors, homogeneous transformations, and unit-quaternions, which are necessary to represent 3-dimensional position and orientation.

This ninth release of the Toolbox has been significantly extended to support mobile robots. For ground robots, the Toolbox includes standard path-planning algorithms (bug, distance transform, D*, PRM), kinodynamic planning (RRT), localisation (EKF, particle filter), map building (EKF) and simultaneous localisation and mapping (EKF), and a Simulink model of a non-holonomic vehicle. The Toolbox also includes a detailed Simulink model for a quadrotor flying robot.

Advantages of the Toolbox                                    

  • The code is mature and provides a point of comparison for other implementations of the same algorithms.
  • The routines are generally written in a straightforward manner, which allows for easy understanding, perhaps at the expense of computational efficiency. If you feel strongly about computational efficiency then you can always rewrite the function to be more efficient, compile the M-file using the MATLAB® compiler, or create a MEX version.
  • Since source code is available, there is a benefit for understanding and teaching.

Downloading the Toolbox

  • Download the Robotics Toolbox in zip format (.zip).
  • The Toolbox is tested with MATLAB R2011a.
  • To install the Toolbox simply unpack the archive, which will create the directory (folder) rvctools and, within that, the directories robot, simulink, and common.
  • Adjust your MATLABPATH to include rvctools.
  • Execute the startup file rvctools/startup_rvc.m and this will place the correct directories in your MATLAB path.
  • Run the demo rtbdemo to see what it can do.
  • To get the MEX version of rne, visit the folder rvctools/robot/mex and follow the directions in the README file.

Documentation

  • Robotics, Vision and Control (Corke, 2011) is a detailed introduction to mobile robotics, navigation, localisation and arm robot kinematics, Jacobians and dynamics, illustrated using the Robotics Toolbox for MATLAB.
  • The manual robot.pdf is a printable document (around 100 pages). It is auto-generated from the comments in the MATLAB code and is fully hyperlinked: to external websites, the table of content to functions, and the “See also” functions to each other. You can find this in the Toolbox as rvctools/robot/robot.pdf.
  • The Toolbox documentation also appears in the MATLAB help browser.

Support

There is no support! This software is made freely available in the hope that you find it useful in solving whatever problems you have to hand. Professor Corke is happy to correspond with people who have found genuine bugs or deficiencies but response time can be long and there is no guarantee that Professor Corke will respond to your email. Contributions for inclusion in future versions of the toolbox will be considered and you will be suitably acknowledged.

Professor Corke specifically states: ‘I can guarantee that I will not respond to any requests for help with assignments or homework, no matter how urgent or important they might be to you. That’s what your teachers, tutors, lecturers and professors are paid to do’.

You might instead like to communicate with other users via the Google Group discussion. You need to sign up in order to post, and this is moderated by Professor Corke, allow a few days for this to happen. You will need to write a few words about why you want to join the list so you can be distinguished from a spammer or a web-bot.

There is also a frequently asked questions (FAQ) wiki page.