Open Source RoboticsRobots, software & learning

Principles of Robot Autonomy — Exercises

Software

Python notebooks for learning robot dynamics, control, planning, perception and state estimation; published source with unresolved reuse licensing. [5] [6]

Installation & first result →Official websiteSource codeGetting started

For
Students learning robot autonomy; Engineers refreshing numerical control and estimation skills [3] [4]
Source rights
Some licenses are unresolved. Review licenses
Unknowns
operating system not fully established. Review gaps

Source researched · Not tested by us
Sources checked · Research details

Licenses & related hardware
License
not fully assessed for software, documentation · Details by part

Requirements · Research details and dates

On this page

Overview

PoRA's companion repository offers Python notebooks for studying robot autonomy, from dynamics and control to planning, perception and state estimation. The reviewed snapshot contains 40 notebooks across 15 chapter directories. Use it as a learning collection: some notebooks demonstrate a calculation, while others require you to implement missing methods. Public source is available, but a project-wide reuse license was not identified. [3] [4] [5] [6]

Is this for you?

Workflows
  • Inspect a worked LQR computation
  • Implement missing planner methods
  • Explore chapter-linked notebook exercises

Editorial interpretation of source; no runtime testing.

[3] [4] [6] · Editorial assessment

Known limitations
  • Exercise source contains deliberate NotImplementedError tasks.
  • No project-wide code or documentation license grant identified.
  • Most environment dependencies are unpinned; complete install and runtime behavior were not tested.

Editorial interpretation of source; no runtime testing.

[2] [4] [5] · Editorial assessment

What you need

Languages / runtimes
  • Python

[3] [4]

Dependencies
  • Python 3.11, Jupyter, NumPy, SciPy and Matplotlib
  • JAX, PyTorch, CVXPY, Gymnasium Box2D and vision packages in the shared environment

[2]

Compute for the workload
  • Compute needs vary by exercise; CPU/GPU, RAM and storage minima were not established.

Editorial interpretation of source; no runtime testing.

[2] · Editorial assessment

Skills
  • Python notebooks
  • Linear algebra and basic control theory

Editorial interpretation of source; no runtime testing.

[3] · Editorial assessment

Installation & first result

Open the upstream getting-started guide [1] · Project documentation [7]

  • Read the relevant book chapter and select a worked example or exercise.
  • For local use, inspect environment.yml, install the README system prerequisites and create the pora conda environment.
  • Start Jupyter from the relevant chapter folder so helper imports and relative assets resolve.
  • Complete the marked student tasks before expecting exercise outputs.

Editorial interpretation of source; no runtime testing.

[1] [2] [3] [4] · Editorial assessment

Installation

README uses sudo apt install swig ffmpeg xvfb, conda env create -f environment.yml, then conda activate pora.

[1]

Hardware, models & data

Inputs and outputs

Example dynamics, observations and exercise parameters feed numerical computations, plots and simulations; some student methods require implementation first.

Editorial interpretation of source; no runtime testing.

[3] [4] · Editorial assessment

File formats
  • Jupyter notebooks (.ipynb)
  • Python helper modules
  • Conda environment YAML

[2] [3] [4]

Algorithms and models
  • LQR control
  • A-star planning
  • Filtering and SLAM exercises

[3] [4] [6]

Project notes

Choose a worked example or an implementation exercise

For a small first inspection, open ch03/lqr.ipynb. It sets up a double-integrator system, solves the continuous algebraic Riccati equation with SciPy, computes a feedback gain and prints the closed-loop eigenvalues. This gives a learner a concrete calculation to follow alongside the control chapter. OSR has not executed this notebook. [3]

The A-star material has a different purpose. Its helper module, ch04/exercises/a_star.py, contains marked student-code sections that raise NotImplementedError. A notebook importing that module is therefore an implementation assignment, rather than a completed planner to deploy. Inspect those methods before choosing it as your first exercise. The collection's value includes these teaching tasks, not a claim that every notebook runs to completion unchanged. [4]

The official exercise page links notebooks to Google Colab and groups them by book chapter. Its topics include robot dynamics, trajectory optimization, control, planning, camera calibration, perception, filtering, localization and SLAM. The textbook provides the mathematical context; this catalog entry covers the exercise software and links the book as its companion. [6] [7]

Local setup and practical requirements

The repository README gives a local route: install swig, ffmpeg and xvfb with apt, create the environment from environment.yml, then activate the pora conda environment and run Jupyter. The environment requests Python 3.11 and a broad collection of packages: NumPy, SciPy, Matplotlib, JAX, PyTorch, CVXPY, Gymnasium with Box2D, OpenCV and Open3D among others. Most package versions are not pinned. The apt command establishes a Linux-oriented setup example; it does not establish tested support for every operating system. [1] [2]

Start Jupyter from the relevant chapter directory and inspect its helper imports and relative asset paths. For the LQR example, the visible computation uses NumPy and SciPy; other exercises bring larger vision or learning dependencies. Minimum RAM, storage and GPU requirements have not been established for the complete collection. OSR has not installed the environment or verified the Colab execution path. [2] [3] [4]

Review limits

Reviewed October 23, 2026 against exercise commit 02ee1421786b73ae4810b086cd1f59882ab972bc and website commit a0c5620b10c2d9fd1519ab76ab80f0840d276813. These are source snapshots, not claims of a stable release. The review inspected notebook contents, representative helper code, setup declarations and licensing evidence. It did not execute notebooks, reproduce algorithm outputs or test robot hardware. The optional AI study assistant described on the book site is separate from the exercise workflow and is not required for this profile's suggested starting point. [1] [2] [3] [4] [5] [7]

What we checked

Source research only; no notebook execution, hardware test or performance validation. No reused upstream images or code downloads hosted by OSR. No affiliate links.

Not yet established

  • Requirements: operating system, host computer
  • Version-specific hardware compatibility (ecosystem tags alone do not establish it)

Updates

Upstream last updated
Not established
Latest release
Not established
Profile updated
Oct 23, 2026
Sources last checked
Oct 23, 2026
Next review
Nov 23, 2026
Reviewed revision
02ee142

Source files and licenses

Distinct inspectable educational robotics contribution with worked numerical examples and substantive student exercises. Missing project-wide reuse terms are explicit; no open-source or redistribution clearance is asserted.

LayerAvailability / license
softwareavailable · License not fully assessed
Publicly accessible; project-wide reuse license not identified. Separate dependencies retain their own terms. [5]
documentationavailable · License not fully assessed
Website/book publicly readable. arXiv preprint carries a non-exclusive distribution grant to arXiv; general public adaptation, redistribution and commercial reuse rights were not established. [7] [8]

Profile covers teaching code, not a model-weight or dataset release; exercise-specific external assets retain separate rights.

Source access and licensing

The exercise repository and the book website are publicly accessible. At the pinned exercise revision, a review of the tracked tree and source text did not identify a project-wide license grant or a LICENSE, COPYING, copyright or notice file. A corresponding search of the preserved website snapshot did not establish reuse terms for its code or textbook content. These findings leave reuse rights unresolved; public access alone does not establish permission to redistribute, adapt or use the materials commercially. The linked arXiv book preprint is posted with publisher permission under a non-exclusive distribution grant to arXiv, which does not establish a general public reuse grant. Dependencies and external exercise assets require their own rights checks. [5] [7] [8]

This profile consequently classifies PoRA as source-available with unresolved licensing. We link readers to the original materials and do not host copies of the notebooks, book text or cover artwork. Our eligibility rules allow a bounded educational profile when its contribution and rights gaps can be described honestly.

References

Each source links to the exact revision we read. “Used for” shows where this page relies on it.

Correction guidance · Discussion is not enabled · Profile format 0.7.0-draft.5

Change history

2026-10-23 — Initial pinned source and licensing review.