Releases: petercorke/robotics-toolbox-python
Release list
v1.4.2
1.4.2 (2026-08-26)
Features
- ets: fkine/jacob0/jacobe/hessian0/hessiane accept compact q (#653) (d5b6990)
- examples: add ikine_XX (C++ and pure-Python ETS) to ik_speed.py (2f41a71)
- examples: add ikine_XX timing columns to ik_speed.py (#654) (2f41a71)
Bug Fixes
- blocks: FDyn_X.output() crashed/asserted on unset xdd before deriv() ran (#647) (8caa363)
- examples,dhrobot: repair broken ikine_LMS/ikine_min example references (#650) (6691113)
- ik: _random_q() silently produces garbage for non-finite joint limits (#648) (2f43a3c)
- ik: unify ik_XX/ikine_XX return types and fix IK docs (#652) (07a60f4)
- kinematics: fkine_all() computes wrong poses for links past a nominal end-effector (#643) (25eedcd)
- mobile: restore missing distance-transform diagonal (835457e)
- models,ik: correct YuMi gripper parents and IK failure-path q compaction (#649) (7c40242)
- pyplot: robot.plot(..., movie=...) crashes on save (#645) (2e2bfe2)
- pyplot: scalar plot options (jointaxislength, eelength) crash on override (a4aea19)
- pyplot: scalar plot options crash on override (#642) (a4aea19)
Documentation
Miscellaneous
- release 1.4.2 (440a9ec)
v1.4.1
1.4.1 (2026-08-25)
Headline: user contributed PRs, fixes to CI release process, now build a pure Python wheel to sidestep issues with wasm/pyodide versions.
Features
- ets: add trchain and trchain2 transform evaluators (8cde6c6)
Bug Fixes
- ci: add CIBW_ENABLE=pyodide-eol, required to build the cp312 pyodide target (2243fc2)
- ci: drop the explicit pyodide-version override, let cibuildwheel 3.4.1 self-resolve (394d258)
- ci: keep JupyterLite wasm build on JSPI-safe cp312, not cibuildwheel's new cp313 default (a315095)
- ci: pin cibuildwheel 3.4.1 for the pyodide build job, not 4.1.1 (e428935)
- ci: stop skip-cascade from release-please poisoning downstream jobs (f252325)
- compute accel_x with analytical Jacobian derivative (1c4ffe6)
- plot: use matplotlib colormaps registry instead of removed cm.get_cmap (ad14468)
- two real bugs found by running the suite against the pure-Python path (d4d2af3)
Build System
- add RTB_PURE_WHEEL to build a genuine py3-none-any wheel (d61729c)
v1.4.0
1.4.0 (2026-08-22)
Highlights: using significantly reworked versions of Swift (v2.0.0) and Spatial Geometry (v1.3.0) -- lots of bug fixes, new features and documentation. Collision detection changed from PyBullet (no longer well maintained to Coal. Integrates with Robot Descriptions for access to over 150 URDF models, loaded dynamically and cached locally -- this means that RTB can now ship with a very minimum set of mesh models. Significant work on RNE models (DH Python, DH C, ETS Featherstone) all consistent and checked against analytic model. Additional work on docs, build system, and testing.
Significant amount of tech debt identified, these are now tracked in Issues. Happy for help from first time contributors, projects from bite size to a full meal.
Features
- bundle spatialgeometry as pure-Python (removes external dep) (1b522e6)
- change collision backend from PyBullet to Coal (f99c154)
- docs: add JupyterLite in-browser "Try it Now" deployment (d383f55)
- dynamics: add armature inertia and friction to Robot.rne() (1d55edf)
- et: accept a string joint descriptor in param (jindex/flip parsing) (ab0f794)
- et: rename axis -> kind, add ax for the x/y/z-only concept (8ffc493)
- et: rename eta -> param, keep eta as a deprecated alias (7f0df78)
- ets: rigorous dh/mdh split() convention, sum() support, terser tests (a0674e7)
- models: add Panda DH link centre-of-mass parameters (fc2fe20)
- refactor URDF loading, add Jaco model, fix collision and deepcopy (d8f9289)
- robot model listing cleanup, extended display, sorting option (40c4882)
- robot: add BaseRobot.graph() for multi-format link graph text (fca095c)
- robot: add Robot.fkine_geometry(q) for pure per-part FK (8dbb44e)
- rtbtool: add --test smoke-test flag, fix SG version bug (ae3ba73)
- rtbtool: add 'tool' extra for IPython/pygments, fail with clear message when missing (b791bc8)
- swift: support teach() teach panel for Swift-backed robots (1be412d)
Bug Fixes
- 343 array ordering causing fkine traj error (083cdc4)
- 355 add qlim setters (bae653b)
- 361 flipped joint causing Jacobian error (f0ec2f8)
- 366 symbolic printing handled (eeedeae)
- 377 add setitem method to ETS class (3c0e463)
- bdsim blocks and tests (43e89cf)
- ci: stopgap the JupyterLite piplite index wheel-overwrite bug (11a3f29)
- ci: stopgap the JupyterLite piplite index wheel-overwrite bug (695af7b)
- deprecate Bicycle block's vlim/slim kwargs instead of erroring (8d7449c)
- deprecate RangeBearingSensor's animate kwarg instead of erroring (#599) (1885394)
- deps: add coal/trimesh to dev extras (#528) (3bb5847)
- deps: add missing robot_descriptions dependency (#534) (66c40d4)
- deps: don't require coal on Windows, fix stale install docs (#531) (667084a)
- deps: pin robot_descriptions<3.0, UR5 broke on the unpinned major bump (48715b3)
- deps: pin robot_descriptions<3.0, UR5 broke on the unpinned major bump (b00b46b)
- docs: fix intro.rst syntax errors, dangling section, and stale claims (#549) (29ee42b)
- docs: pick a collision-checking example that actually collides (3240822)
- docs: resolve reST syntax and structural Sphinx build warnings (#540) (cd4e997)
- docstrings in robot models (912cc4b)
- drop stale ax= kwarg from ArmPlot's robot.plot() call (#590) (09dba28)
- dynamics: auto-detect symbolic models, fix rne_python()'s per-call dtype selection (c9db413)
- dynamics: fix three bugs in rne_python()'s modified-DH branch (6b28899)
- dynamics: guard Robot.rne() against standard-DH DHRobot instances (13e62a7)
- dynamics: Robot.rne() dropped the rotational inertia tensor (8434fc9)
- dynamics: rotate gravity by robot base in rne(), move handling into ne.c (9a800e0)
- examples: repair ik_speed.py after fknm/frne refactor and API renames (227f854)
- forward name/base/tool/etc through Robot's clone-from-Robot constructor (16b8974)
- ik: pin seed and tighten tol in flaky ikine tests, document quadratic tol (bc3770a)
- ik: return pre-step q on convergence, not unverified post-step q (3606c3b)
- install swift/spatialgeometry from jhavl upstream, not petercorke's stale forks (#601) (4fd2dff)
- Mesh filename handling ([#443](https://github.com/petercorke/robotics-toolbo...
v1.3.1
1.3.1 (2026-07-03)
Manual out-of-band release from the v1.3.0 tag (not via release-please —
main has since diverged with in-progress, breaking work). See
tech-debt.md ("Release process: single-branch release-please + stacked
PRs on a red main") for why.
Bug Fixes
- deps: pin
rtb-data<2to protect this release line from an upcoming
breakingrtb-datareorganisation (renamed/deleted model folders) that
will ship asrtb-data2.0 alongside the nextroboticstoolbox-python
major/minor release. Without this pin, any freshpip install roboticstoolbox-pythonwould silently pick up the incompatible new
rtb-dataand fail to load bundled robot models.
v1.3.0
1.3.0 (2026-06-14)
Features
- bundle
spatialgeometryas pure-Python (removes external dep which is bound to NumPy 1.x) (1b522e6)
Build System
-
setup proper release process (d0e0559)
-
added new install-time extras:
qp,pybullet.qpbrings inquadprogwhich has C++ extensions, and may not be suitable for some environments, eg. pyodide.pybulletdoes not support Apple Silicon so it has been moved to an extra
v1.2.0
Modernization
- First release in 2 years
- Bring dependencies up to date, eliminate requirement for Numpy 1.x
- Remove dependency on Swift for visualisation
- Significant work on PyPlot graphics and animations so they work in Jupyter
- move to
srclayout - use
hatchlingandscikit-buildfor packaging - added
make wheel-pyodidewhich allows toolbox to run in the browser with JupyterLite (and animations)
v1.1.0
v1.0.3
v1.0.2
v1.0.1
Fix script bug
Full Changelog: v1.0.0...v1.0.1