Shape servoing · interactive tutorial All demos

User guide

How to use the demos

Each demo pairs a short lesson from the tutorial with an interactive simulation of its running example: two robot arms deform an elastic rod observed by a camera. The simulation runs in your browser, in a JavaScript port of the shape_servoing Python package, so every change you make is computed live.

Go to the demos ▶

The landing page

A demo page

  1. Top bar. Back to all demos, the current part and demo, Previous and Next, and the guide, music, and theme buttons. The button switches to a color-blind palette, and the ⋯ menu cites the demo, saves its canvases as a PNG figure or a short video, switches to teaching mode (a larger view without the lesson, for lectures; or add &present to a demo's address, e.g. demo.html?id=loop&present; Esc leaves), and opens the glossary and the useful definitions.
  2. Lesson. The tutorial content with its equations, a Try this list of experiments to do in order, and the takeaway. Some lessons end with collapsible notes.
  3. Scene. The running example, computed live. The shaded hint above it says what to try; the legend below names the colors: rod blue, tracked points yellow, target dashed with grey rings, left gripper violet, right gripper orange.
  4. Toolbar. Run/Pause, Step (one iteration), Reset, and buttons that choose a case or a feature representation.
  5. Controls. Sliders and switches, each with a one-line description of what it changes, and readouts of the current values.
  6. Plots. Histories of errors and other signals. Earlier runs stay faded for comparison. Some demos have tabs above the workspace for further experiments.

Ways to interact

✥
Drag a gripper

Drag the violet (left) or orange (right) gripper; the rod settles to its new equilibrium. Demos 01–04 and 08.

⟳
Rotate a wrist

Drag the small ring above a gripper to turn its wrist. Demos 01–04 and 08.

⇔
Move both grippers

Drag the rod itself to translate both grippers together. Demo 01.

◎
Drag a target

Drag a grey target ring to edit the target shape (Demo 05) or the green marker to set a gripper goal (Demo 11).

▦
Click a matrix or table

Click a column of the Jacobian heat map (Demo 02) or a singular-triplet row (Demo 08) to select and animate it.

⊷
Move sliders, flip switches

Gains, step sizes, damping, perturbations, and options; the scene and readouts update at once.

▶
Run, step, reset

Run the loop continuously, one iteration at a time, or start again from the initial configuration.

☰
Choose and compare

Segmented buttons and tabs choose a case, a representation, or an experiment; Compare buttons run several at once.

⤾
Orbit and zoom

In the 3-D view, drag to orbit and use the mouse wheel to zoom. Demo 12.

Hover over a button or control for a short tooltip. The pointer changes over anything you can drag.