-
-
Notifications
You must be signed in to change notification settings - Fork 620
FAQ
Common issues encountered while using the toolbox, and their fixes.
The toolbox is under active development and can have breaking changes between minor releases. We follow the Semantic Versioning guidelines.
You can update the toolbox:
pip install --upgrade roboticstoolbox-python. This updates spatialmath-python
(a required dependency) automatically. swift-sim (the Swift
visualizer) is an optional extra, not a required dependency — if you installed it via
pip install roboticstoolbox-python[swift] (or [all]), re-run that same command with
[swift]/[all] to update it too; a plain pip install --upgrade roboticstoolbox-python
won't touch it.
If the toolbox is installed from Github (pip install -e .), spatialgeometry is pulled
directly from its GitHub repo as a pinned dependency (see pyproject.toml) rather than
from PyPI, so it tracks automatically on reinstall. If you also want the bleeding-edge
Swift or Spatial Math,
install those from GitHub separately and not from PyPI.
If you update the toolbox through git pull and reinstall (if not using an interactive install) you will also need to use the Github version of Swift and Spatial Math and pull the latest changes (and reinstall if required) from those.
Due to the C++ extensions built into the toolbox (compiled via nanobind), if those extensions have been modified, you will need to reinstall the corresponding package to rebuild them. This is required even if you did an interactive install.
When in doubt, do pip install . when you are located in the top level directory of the package. This will uninstall the package if installed, and then reinstall it. Use pip install -e . to do an interactive install/reinstall.
None of RTB's dependencies (nor MVTB's or bdsim's) pin an upper bound on matplotlib —
that's a deliberate choice, not an oversight: a static version cap needs ongoing upkeep to
stay accurate, and can't protect against whatever the next bad release turns out to be
anyway. The tradeoff is that an unlucky matplotlib release can occasionally break
something.
One concrete case: matplotlib ~3.9.0 changed the Slider widget API, which broke the
interactive sliders in panda.teach(panda.qz) and similar interactive demos (reported
with matplotlib 3.9.4; downgrading to 3.8.6 fixed it at the time — see
RVC3-python#21). That's several
matplotlib releases behind us now and appears fixed upstream (RVC3-python's own test suite
runs clean on matplotlib 3.11 as of 2026-08).
If you hit visual/widget glitches:
- Try a different matplotlib version — usually upgrading to the latest fixes it, since regressions like the one above tend to get fixed upstream fairly quickly.
- Install into a dedicated conda/venv environment, so the toolbox's dependency resolution never touches a matplotlib version you rely on elsewhere.
Try clearing the browser cache, see this link for help.
If you are using Safari on Mac, enable Metal (under experimental features).
- Try changing backend to QT
%matplotlib Qt - Try adding this
%matplotlib widgetsto the top of the notebook - Or try this
%matplotlib notbook
- Frequently asked questions (FAQ)
- Documentation Style Guide
- Background
- Key concepts
- Introduction to robot and link classes
- Working with Jupyter
- Working from the command line
- What about Simulink?
- How to contribute
- Contributors