petercorke/robotics-toolbox-matlab

Robotics Toolbox for MATLAB

Robotics Toolbox for MATLAB – Overview

What it is – A mature, open‑source MATLAB toolbox that adds classic robotics algorithms to the MATLAB environment. It provides MATLAB‑class representations of serial‑link manipulators, mobile‑robot kinematics, dynamics, path planning, localisation, SLAM and a few Simulink models (e.g. a quadrotor). The code dates back to 1993 and predates MathWorks’ own Robotics System Toolbox.

Key capabilities

  • Manipulator modelling – Create SerialLink objects for any serial robot (e.g. Puma 560, Kinova, UR). Functions for forward kinematics, inverse kinematics, dynamics (RNE), Jacobians, etc.
  • Mobile‑robot models – Unicycle, bicycle, car‑like vehicles; planners such as Bug, D*, PRM, Reeds‑Shepp, lattice and RRT; localisation via EKF or particle filter; map building and EKF‑SLAM.
  • Simulation & visualisation – 2‑D/3‑D animation (plot3d, plot_vehicle), GIF/movie export, and Simulink blocks for non‑holonomic vehicles and a quadrotor.
  • Extensibility – Source is fully available; users can rewrite functions for speed, compile to MEX, or add new algorithms.

Typical workflow (from the README)

  1. Load a robot model, e.g. mdl_puma560.
  2. Use the object (p560) to compute forward kinematics (p560.fkine(q)) or inverse kinematics (p560.ikine6s(T)).
  3. Generate a joint‑space trajectory (jtraj) and animate it (p560.plot3d).
  4. For mobile robots, define start/goal poses, call a planner (ReedsShepp), then visualise with plot_vehicle.
  5. Run localisation demos such as a particle filter (ParticleFilter) that outputs an animation.

Installation

  • MATLAB‑Drive method – Share a pre‑packed folder, run startup_rvc.m.
  • GitHub method – Clone this repo plus the required spatial-math and toolbox-common-matlab repos, run make -C robot to build MEX/Java files, then add the paths and call startup_rvc.

Who it’s for

  • Researchers and students who need a clear, readable reference implementation of classic robotics algorithms.
  • Educators teaching robot kinematics, dynamics, planning, SLAM, or control in a MATLAB‑centric curriculum.
  • Hobbyists who want to prototype robot simulations without buying commercial toolboxes.

License – GNU LGPL v3, allowing use in both academic and commercial projects (subject to LGPL terms).

Where to get help – Google group forum, FAQ page, and the author’s email (rvc@petercorke.com).

Related

  • Project
  • Project
  • Project
  • Project