gtbook
The book can be found at https://www.roboticsbook.org and has the following chapters:
- Introduction
- A Trash Sorting Robot (
discrete) - A Robot Vacuum Cleaner (
vacuum) - Warehouse Robots in 2D (
logistics) - A Mobile Robot with Simple Kinematics (
diffdrive) - Autonomous Vehicles (
driving) - Autonomous Drones in 3D (
drone)
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 gtbookThe 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 VariablesFurther 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.
- Use the root
environment.ymlfor development and CI:conda env create -f environment.yml, thenconda activate nbdev2. - Run
pip install -e '.[dev]'to install gtbook and the nbdev tools. Package and development dependencies are maintained insettings.ini. CI uses the same setup. - to preview the docs do
nbdev_preview - to push a new version, use
nbdev_prepareand then push.
If VS code gives trouble:
export CONDA_PREFIX=/Users/dellaert/miniforge3/envs/nbdev2
conda activate nbdev2To release a new version:
nbdev_bump_versionnbdev_pypi