docs: restructure intro.rst, add JupyterLite deployment, rework README#551
Open
petercorke wants to merge 8 commits into
Open
docs: restructure intro.rst, add JupyterLite deployment, rework README#551petercorke wants to merge 8 commits into
petercorke wants to merge 8 commits into
Conversation
VehicleDriverBase.driveto() printed an unconditional status line on every call, unlike RandomPath._new_goal() right below it which correctly gates its print behind self._veh.verbose or self._verbose. Any simulation of more than a few steps floods stdout -- found while building a runblock example for docs/source/intro.rst's planned Mobile Robots section. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
… into docs/intro-restructure
These three 8-joint Interbotix arms (7-DOF + gripper) had qz sized as np.zeros(7), one short of qr's 8 elements, causing an IndexError on print(robot) / configurations_str(). rx200 had the same bug but was missed by an initial partial review; verified all three now construct and print cleanly.
contrained -> constrained, perfrom -> perform, instad -> instead, psuedo -> pseudo, calculcates/Hessisan -> calculates/Hessian, betwee -> between, and a duplicated "the the" in PlannerBase.plot's docstring (surfaced under DstarPlanner in the built docs since it inherits the method).
Reorganize intro.rst so arm-robot and mobile-robot content each get their own section (was one flat ICRA2021-paper-derived narrative), move the SMTB intro and history to the end, and add a new tested "Mobile robots" tutorial section. Convert citations from `.. [Label]` blocks to sphinxcontrib-bibtex `:cite:` roles backed by a new refs.bib. Also fixes blockname.py's hardcoded, wrong-branch GitHub raw URL for block-diagram icons in favour of a relative _static/ path.
Adds a docs/lite/ JupyterLite site built by ci.yml's docs-build job: fetches the cp312 wasm wheel already attached to each GitHub release (release.yml cross-compiles it via cibuildwheel, cp312 matches the jupyterlite-pyodide-kernel version pinned below), syncs and adapts docs/notebooks/*.ipynb into it, and deploys alongside the existing Sphinx docs on GitHub Pages. jupyterlite-pyodide-kernel is pinned to 0.6.1 deliberately: newer versions bundle a newer Pyodide runtime than the cp312 wheel targets, which manifests as a silent in-browser hang rather than a build error. Also: - give URDF_file a friendly, Pyodide-specific error when robot_descriptions' git-clone-based loading can't work in the browser sandbox, instead of a raw GitPython traceback - prepend a single piplite-install-and-version-print cell to every notebook's first cell (works unchanged in regular Jupyter too) - fix the Makefile's wheel-pyodide target/check to build and verify cp312 rather than a stale cp313 default - fix pyproject.toml's `nb` extra (pytest-nbmake doesn't exist on PyPI; the real package is nbmake) and add nbmake to `dev`, which a comment falsely claimed already included it
- Replace the old table-based header with a centred logo, two-line tagline, JupyterLite/PyPI/Docs badges, and a quick-links row; regroup existing badges under Status & Ecosystem / Powered by. - Turn "Toolbox ICRA Paper and Citation Info" into a References section with key papers, talks, and a related-book link; note why the Contents list stays a manually maintained TOC (this file also serves as PyPI's project description, which has no TOC widget). - Rewrite the wasm-wheel build section: explain what Pyodide is and why its CPython/version tag has to match the JupyterLite deployment consuming it, point people at the release asset (what CI itself uses) rather than building locally by default, and fix the stale cp313/PYODIDE_VERSION=0.28.3 example now that this repo's deployment targets cp312 and Pyodide's own versioning scheme has since changed.
…install src/spatialgeometry is vendored as a pure-Python copy inside this repo (to drop the NumPy-1-compiled-extension dependency), but ci.yml separately pip-installs the real external spatialgeometry from git under the same import name -- likely a no-op once RTB's own wheel installs afterwards. Records the ownership decision still needed: drop the redundant CI install, or un-vendor and get a real NumPy-2-compatible spatialgeometry release published to PyPI.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
intro.rstinto arm-robot / mobile-robot / spatial-math / history sections, with bibtex-backed citations (refs.bib,sphinxcontrib-bibtex).docs/lite/), built byci.ymlfrom the release-asset wasm wheel, with all notebooks given a shared piplite-install-and-version-print first cell.README.md(logo/tagline/badges), turn the citation section into a proper References section, and rewrite the wasm-wheel build docs to explain the CPython/Pyodide version-matching gotcha and point at the release asset first.px150/rx150/rx200(IndexError onprint(robot)), fix a batch of repeated typos across IK/DHRobot/RobotKinematics/mobile docstrings, and record a spatialgeometry vendoring tech-debt item.fix(mobile): gate driveto()'s per-step print behind verbose flag, merged in fromfix/driveto-unconditional-print(fix(mobile): gate driveto()'s per-step print behind verbose flag #550) — that PR can close once this merges.Test plan
pytest tests/ -q— 594 passed, 72 skipped, no failuresdocs && make SPHINXOPTS="--keep-going" html— build succeeded, same 4 pre-existing warnings, no new onespx150()/rx150()/rx200()construct and print without error🤖 Generated with Claude Code