New look website, for issues...

Contact us

Software for robotics, vision and other things. This includes the robotics and machine vision toolboxes for MATLAB®.

These become a book, then two MOOCs, and then
the Robot Academy.

Everything is freeware so enjoy!

Robot Academy

The QUT Robot Academy provides free-to-use undergraduate-level learning resources for robotics and robotic vision. The content was developed for two 6-week MOOCs that ran in 2015 and 2016, which in turn was based on courses taught at QUT. The MOOC content is now available as individual lessons (over 200 videos, each less than 10 minutes long) or a masterclass (a collection of videos, around 1 hour in duration, previously a MOOC lecture). Unlike a MOOC, all lessons are available all the time. Although targeted at undergraduate-level around 20% of the lessons require no more than general knowledge, and the required knowledge (on a 5-point scale) is indicated for each lesson.

View More

Robotics Toolbox

Robotics Toolbox

This, the tenth release of the Toolbox, represents over twenty years of development and a substantial level of maturity. This version captures a large number of changes and extensions to support the second edition of my book “Robotics, Vision & Control”.

The Toolbox has always provided many functions that are useful for the study and simulation of classical arm-type robotics, for example such things as kinematics, dynamics, and trajectory generation.

The toolbox contains functions and classes to represent orientation and pose in 2D and 3D (SO(2), SE(2), SO(3), SE(3)) as matrices, quaternions, twists, triple angles, and matrix exponentials. 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.

View More

Machine Vision Toolbox

Machine Vision Toolbox

This, the fourth release of the Toolbox, represents over two decades of development. This version captures a large number of changes and extensions to support the second edition of my book “Robotics, Vision & Control”.

The Machine Vision Toolbox (MVTB) provides many functions that are useful in machine vision and vision-based control. It is a somewhat eclectic collection reflecting my personal interest in areas of photometry, photogrammetry, colorimetry. It includes over 100 functions spanning operations such as image file reading and writing, acquisition, display, filtering, blob, point and line feature extraction, mathematical morphology, homographies, visual Jacobians, camera calibration and color space conversion.

View More

Robotics, Vision & Control

Robotics Vsion and Control

The book has been extensively revised throughout and includes new figures, more consistent notation and new content including: Lie groups, matrix exponentials and twists; inertial navigation; differential drive robots; lattice planners; pose-graph SLAM and map making; restructured material on arm-robot kinematics and dynamics; series-elastic actuators and operational-space control; Lab color spaces; light field cameras; structured light, bundle adjustment and visual odometry; and photometric visual servoing.

View More

Latest Posts

Some resources for learning robotics online

Here is a curated list of resources available for learning robotics online.  ...

Read

Gory details of the Unimate Puma 560 controller

I stumbled across this old old report from 1991.  I wrote it in the early days of my second job, where I was trying to get a Puma 560 robot to do force control.  I got a bit carried away in reverse engineering the control box. Unimate Puma servo sy...

Read

Franka-Emika control interface: libfranka

Introduction The Franka-Emika Panda is a high-performance 7DOF robot arm.  It is produced by a Munich-based startup with a design heritage traceable to Germany’s DLR institute which also found its way into KUKA’s LWR robot series.  The ...

Read

Franka-Emika Panda kinematics and singularities

The FE Panda is an increasingly popular robot for research and teaching.  It has 7 joints which make it a redundant robot, that is, it has more joints than it needs to achieve an arbitrary position and orientation in the Cartesian workspace. Its kin...

Read

Integrating Python into MATLAB

We often need to create code using a mixture of languages such as C++, Python and MATLAB.  Each language has its own strengths and weaknesses but creating a single program in a mix of languages is typically difficult.  MATLAB has had, forever, a ...

Read

Integrating C++ into MATLAB

We often need to create programs using a mixture of languages such as C++ and MATLAB.  Each has its own strengths and weaknesses but creating a single program in a mix of languages is typically difficult.  MATLAB has had, forever, a MEX int...

Read