jhavl / robotacademy-code

Code Translations for Robot Academy
MIT License
2 stars 3 forks source link

QUT Robot Academy home page

The Robot Academy is a free teaching resource for robotics and computer vision. It contains over 200 short (less than 8 minute) lessons that are pitched at undergraduate engineering level. However, much of the material is accessible to a general audience and, to support this, the difficulty of each lesson is indicated.

Quick history

These videos were created in 2015 as part of two QUT MOOCs but since 2017 they are available in an anytime anywhere anyorder format. The search bar lets you search for topics and easily navigate to related topics.

The companion textbook was Robotics, Vision & Control: fundamental algorithms in MATLAB, first edition (2011) by Peter Corke which used MATLAB® to illustrate principles through screen casts. MATLAB is a proprietary language, you require a licence to use it, and was used in conjunction with two open-source toolboxes:

Changes in the software environment

Software continues to evolve, and atrophy, and this has implications for the screencasts embedded in the robot academy.

The changes

Open-source MATLAB Toolboxes

These toolboxes were updated in 2017 for Robotics, Vision & Control: fundamental algorithms in MATLAB, second edition (2017) by Peter Corke

and this necessitates minor changes to the screencast examples. Note that the Spatial Math Toolbox was factored out of both Toolboxes and is included as part of their installation packages.

These open-source toolboxes were written in the early 1990s and are no longer being actively maintained. They remain free and openly available on GitHib.

Closed-source MATLAB Toolboxes

The MathWorks®, publishers of MATLAB, have developed their own toolboxes that cover this same functionality and more, albeit with quite different syntax, and these are used in Robotics, Vision & Control: fundamental algorithms in MATLAB, third edition (2023) by Peter Corke, Witold Jachimczyk, and Remo Pillat.

Open-source Python Toolboxes

The MATLAB toolboxes were ported to Python over the period 2020-22 by Jesse Haviland, Dorian Tsai and Peter Corke, and are the foundation of an alternative third edition of the book Robotics, Vision & Control: fundamental algorithms in Python, third edition (2023) by Peter Corke.

Dealing with the changes

To accomodate these changes the Robot Academy user interface has been modified to include a Code transcript tab beneath the video window. That tab expands into four further tabs that provide the code under discussion in four different forms:

  1. RVC1 the code that is shown in the video, which corresponds to the first edition of the book.
  2. RVC2 the code that is shown in the video with minor modifications to correspond with the second edition of the book.
  3. Mathworks the code has been substantially modified to work with the current MathWorks Toolboxes for robotics and vision (which require a licence). This matches the MATLAB third edition of the book in MATLAB, and provides a fully-supported software environment for the desktop or browser (using MATLAB Online).
  4. Python the code has been translated to Python and makes use of the open-source Python toolboxes. This matches the Python third edition of the book, and provides an all open-source solution.