petercorke/robotics-toolbox-python

Robotics Toolbox for Python

What it solves

This project provides a high-productivity framework for robotics research and education, removing the "cruft" from robotics development. It simplifies the representation of kinematics and dynamics for serial-link manipulators and mobile robots, providing a standardized way to handle complex robotic calculations without starting from scratch.

How it works

The toolbox leverages the Python ecosystem (NumPy, SciPy, Matplotlib) and the Spatial Maths Toolbox for Python to handle linear algebra and spatial vectors. It allows users to create robots in Denavit-Hartenberg form or import URDF files. For manipulators, it implements fast kinematic operations, including forward and inverse kinematics. For mobile robots, it provides motion models (unicycle, bicycle), path planning algorithms (D*, PRM, RRT), localization (EKF, particle filter), and SLAM.

Who it’s for

It is designed for robotics researchers, students, and educators who need a mature, readable, and portable framework for prototyping algorithms and teaching robotics theory.

Highlights

  • Extensive Robot Library: Includes over 50 supplied models for contemporary robots (e.g., Franka-Emika, Kinova, Universal Robotics) and classical robots.
  • High Performance: Computes forward kinematics and manipulator Jacobians in less than 1 microsecond.
  • Comprehensive Tooling: Supports both manipulator kinematics and mobile robot navigation, including localization and map building.
  • Integrated Visualization: Works with the Swift simulator for browser-based 3D simulation and Matplotlib for 2D/GIF animations.

Related

  • Project
  • Project
  • Project
  • Project
  • Project