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
SerialLinkobjects 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)
- Load a robot model, e.g.
mdl_puma560. - Use the object (
p560) to compute forward kinematics (p560.fkine(q)) or inverse kinematics (p560.ikine6s(T)). - Generate a joint‑space trajectory (
jtraj) and animate it (p560.plot3d). - For mobile robots, define start/goal poses, call a planner (
ReedsShepp), then visualise withplot_vehicle. - 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-mathandtoolbox-common-matlabrepos, runmake -C robotto build MEX/Java files, then add the paths and callstartup_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