Code Monkey home page Code Monkey logo

robotics's Introduction

gtbook

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

robotics's People

Contributors

baykeremm avatar dellaert avatar rowanc1 avatar rustonshome avatar sethandrew61 avatar varunagrawal avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

robotics's Issues

LaTeX Creation and MyST Markdown Updates

This is an issue to track progress on automatically converting the book to LaTeX using https://mystmd.org. There are updates needed for (1) the mystmd processor, (2) configuration changes in this repository and minor content changes; (3) theme changes if/when mystmd is adopted for the HTML rendering (e.g. with hover previews).

Features needed for MyST Markdown CLI

  • Reading HTML (fig, image, figcaption, anchors with internal IDs) jupyter-book/mystmd#680
  • Removing/hiding cells jupyter-book/mystmd#681
  • Hide cells in latex (collab button) jupyter-book/mystmd#685
  • improve image writing jupyter-book/mystmd#721
  • Read HTML from outputs and render in latex
  • Reading headers when not in the first cell
  • Rendering out as "book/chapter" latex (with includes for each chapter)
  • multi/sub-figures, should work in latex as well (\begin{code}[h] bug)

LaTeX Improvements

Content Changes

  • Change figure IDs from <img> to <figure>, remove duplicates #42
  • add no-tex tag to all collab cells #42 #51
  • change to no-pdf tag to support typst
  • Run latex export and build in CI

Theme / User Interface Improvements

  • Table of contents rendering improvements (for myst-theme) jupyter-book/myst-theme#254
  • Open in collab button
  • auto thumbnail skips hidden blocks (open in collab is thumbnail everywhere)

Stretch Goals

What version of GTSAM is being used?

Seems like gtsam 4.2a9 is being used, I don't see discreteDistributions in 4.1.0(python version) which is a stable release. I think this should be mentioned as a footnote in readme?

Issue on page /S21_sorter_state.html

Small typo/error on the second paragraph of 2.1.4. Probability Distributions in Python: "GTSAM It also provides...":
Screenshot 2023-09-19 at 1 08 31 PM
Believe it should either be "GTSAM also provides..." or "It also provides...". Thank you.

Typo in 3.4.1?

In Section 3.4.1, the Bayes Net indicates the conditional $P(W | X, \textbf{Z}) $ whereas the table describing the posterior P(X, Y | w, z) uses conditional $P(W | X, \textbf{Y})$:

Bayes Net:
image

wxyz.add(W1, [X1, Z1], "1/1 1/1 1/1 1/1")
wxyz.add(X1, [Y1, Z1], "1/1 1/1 1/1 1/1")
wxyz.add(Y1, [Z1], "1/1 1/1")
wxyz.add(Z1, "1/1")

Table describing the posterior P(X, Y | w, z):

x y P(W=2, X=x, Y=y, Z=7)
1 1 P(W=2\X=1, Y=1)P(X=1\Y=1, Z=7)P(Y=1\Z=7)P(Z=7)
1 2 P(W=2\X=1, Y=2)P(X=1\Y=2, Z=7)P(Y=2\Z=7)P(Z=7)
... ... ...
10 9 P(W=2\X=10, Y=9)P(X=10\Y=9, Z=7)P(Y=9\Z=7)P(Z=7)
10 10 P(W=2\X=10, Y=10)P(X=10\Y=10, Z=7)P(Y=10\Z=7)P(Z=7)
$\sum_{x, y}$P(W=2, X=x, Y=y, Z=7)

And also in Exercise 1 (3.4.1.1),

  1. Show that in the example above, if we condition on known values for $\mathcal{Z}=(X,Y)$, the
    posterior $P(W,Z|X,Y)$ factors, and as a consequence we only have to
    enumerate two tables of length 10, instead of a large table of
    size 100.

If the Bayes Net is supposed to be $P(W | X, Y)$ then this makes sense / can factorize, but if it's supposed to be $P(W | X, Z)$, then I think the exercise should read "... $\mathcal{Z}=(X, Z)$, the posterior $P(W, Y | X, Z)$ factors..."

Perhaps I misunderstood the exercise, but I think I am correctly understanding (that conditioning on a separating set of variables disconnects the graph to allow efficient factorization) based on the "hint" in exercise 3:

  1. Show that if we are given the states, inferring the actions is actually quite efficient, even with the brute force enumeration. Hint: this is similar to the first exercise above.

Issue on page /S24_sorter_perception.html

Interactive elements do not work in notebook. Also getting below error in both Brave & plain Chromium.

Error x4:

Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'Queue')
at r (embed-amd.js:127:8886)
at embed-amd.js:127:10882

image

render plotly interactively

png works, but is not interactive. I know plotly can work with

import plotly.io as pio
pio.renderers.default = "notebook"

but I suspect some version issue with our environment.yml. Needs to be figured out by checking our dependencies one by one I think.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.