Robotics Toolbox for MATLAB
The Robotics Toolbox is MATLAB toolbox software that supports research and teaching into arm-type and mobile robotics. While the Robotics Toolbox is free software, it requires the proprietary MATLAB environment in order to execute. The Toolbox forms the basis of the exercises in several textbooks.
Purpose
The Toolbox provides functions for manipulating and converting between datatypes such as vectors, homogeneous transformations, roll-pitch-yaw and Euler angles, axis-angle representation, unit-quaternions, and twists, which are necessary to represent 3-dimensional position and orientation. It also plots coordinate frames, supports Plücker coordinates to represent lines, and provides support for Lie group operations such as logarithm, exponentiation, and conversions to and from skew-symmetric matrix form.
As the basis of the exercises in several textbooks, the Toolbox is useful for the study and simulation of:
- classical arm-type robotics: kinematics, dynamics, and trajectory generation. The Toolbox uses a very general method of representing the kinematics and dynamics of serial-link manipulators using Denavit-Hartenberg parameters or modified Denavit-Hartenberg parameters. These parameters are encapsulated in MATLAB objects. Robot objects can be created by the user for any serial-link manipulator; a number of examples are provided for well known robots such as the Puma 560 and the Stanford arm amongst others. Operations include forward kinematics, analytic and numerical inverse kinematics, graphical rendering, manipulator Jacobian, inverse dynamics, forward dynamics, and simple path planning. It can operate with symbolic values as well as numeric, and provides a Simulink blockset.
- Ground robots and includes: standard path planning algorithms (bug, distance transform, D*, and PRM), lattice planning, kinodynamic planning (RRT), localization (EKF, particle filter), map building (EKF) and simultaneous localization and mapping (using an EKF or graph-based method), and a Simulink model of a non-holonomic vehicle.
- Flying quadrotor robots, and includes a detailed Simulink model.
The Toolbox requires MATLAB, commercial software from MathWorks, in order to operate.
Relationship to other toolboxes
The Robotics System Toolbox for MATLAB is proprietary software published by MathWorks which includes support for robot manipulators and mobile robotics. Its functionality significantly overlaps that of the Robotics Toolbox for MATLAB but the programming model is quite different.
The Robotics Toolbox for Python is a reimplementation of the Robotics Toolbox for MATLAB for Python 3. Its functionality is a superset of the Robotics Toolbox for MATLAB, the programming model is similar, and it supports additional methods to define a serial link manipulator including URDF and elementary transform sequences.