gtbook

An nbdev powered toolbox for Frank and Seth’s robotics book.

The book can be found at https://www.roboticsbook.org and has the following chapters:

The structure of gtbook mirrors this organization, and then has a few more support modules for displaying graphs inside notebooks and for running the code in the book. The gtbook modules are listed above alongside the chapter.

How to use

In the book chapters, we should have a cell that fetches the latest version using pip:

%pip install -q -U gtbook

The above automatically installs other libraries on colab, e.g., gtsam and plotly.

You also needs a cell that imports what you need in a particular section, for example:

from gtbook.display import show
from gtbook.discrete import Variables

Further usage examples of these and more functions are given in the module documentation itself.

There are also some command line tools defined in the cli module.

Notes for development

Mostly for Frank as he adds to the library.

  • For version 2 of nbdev in a local conda environment called nbdev2. It can be re-created with conda env create -f environment.yml.
  • I used conda install -c fastai nbdev to install nbdev in there as well, but the github workflow uses pip install nbdev so I can just use one channel.
  • pip install -e . for local install of the remaining modules specified in the settings.ini file
  • to preview the docs do nbdev_preview
  • to push a new version, use nbdev_prepare and then push.

To release a new version:

  • nbdev_bump_version
  • nbdev_pypi