> ## Documentation Index
> Fetch the complete documentation index at: https://aegean.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# How a TurtleBot Moves

> Check your understanding of differential-drive kinematics from Lynch and Park, chapters 2, 3 and 13, with small Newton simulation experiments.

A TurtleBot is a small differential-drive robot: two driven wheels on one axle and caster balls that keep it level. In this assignment you derive how such a robot moves, answer five short questions about the model, and test it against a physics simulation of a TurtleBot3 Waffle, the robot you drive in the class repository. The notebook opens with a Background section that gives everything the questions use, so you do not need any earlier kinematics.

The simulation runs on [Newton](https://github.com/newton-physics/newton), an open-source physics engine built on [NVIDIA Warp](https://github.com/NVIDIA/warp), with contact physics from [MuJoCo Warp](https://github.com/google-deepmind/mujoco_warp). You write only the kinematics. The notebook provides the robot and the simulation.

## Grading

| Questions | Topic | Points |
| - | - | - |
| 1 to 5 | Written questions | 50 |
| 6 | The kinematic model against the simulation | 15 |
| 7 | The body twist of a turning robot | 15 |
| 8 | Odometry | 20 |
| **Total** | | **100** |

Each coded question is graded on its check cell, which prints `passed` when your code is correct, and on one sentence about what you see. The sentence is worth 5 points; the code is worth the rest.

## Further reading

The Background section of the notebook is enough to answer every question. Lynch and Park, *Modern Robotics*, covers the same material in more depth:

* Chapter 2, sections 2.1, 2.3 and 2.4: degrees of freedom, configuration space, and velocity constraints. You can [download chapter 2 as a PDF](https://artifacts.aegeanai.com/pdf/lynch-mr/config-space.pdf).
* Chapter 3, section 3.1: rigid-body motion in the plane. You can [download chapter 3 as a PDF](https://artifacts.aegeanai.com/pdf/lynch-mr/body-motions.pdf).
* Chapter 13, subsection 13.3.1.2 (the differential-drive robot) and section 13.4 (odometry). You can [download chapter 13 as a PDF](https://artifacts.aegeanai.com/pdf/lynch-mr/wheeled-robots.pdf).
* For Question 4: the section [from velocity to motion](/aiml-common/lectures/motion-algebras/motion-representations/index#from-velocity-to-motion) in motion representations, where a pose is a matrix in SE(2) and a twist is a matrix in se(2).

## What you will need

The default Colab runtime is enough: the simulation runs on a CPU, and it uses a GPU if one is available. The first cell installs the simulation libraries. On the CPU runtime the whole notebook takes about ten minutes, almost all of it simulation, and the first simulation takes about two minutes because the simulator compiles it first. A GPU runtime is much faster.

### Assignment notebook

> **[Open Notebook in Colab](https://colab.research.google.com/github/pantelis/eng-ai-agents/blob/main/notebooks/assignments/topics/kinematics/turtlebot-kinematics/turtlebot-kinematics.ipynb)**
>
> TurtleBot kinematics notebook

## What you hand in

* The notebook, with the output from every cell saved.
* The `recordings` folder the notebook creates. It holds `turtlebot.rrd`, a recording of your simulation made with [Rerun](https://rerun.io), an open-source visualization tool for robotics data. You can check it in the [Rerun web viewer](https://app.rerun.io/version/0.37.0/) before you submit.

## Submitting

Commit the notebook and the `recordings` folder to your private clone of the [class repo](https://github.com/pantelis/turtlebot-maze) under `assignments/turtlebot-kinematics`. Save the output from every cell before you commit.

Submit the complete GitHub URL for that directory to Canvas. Do not submit the repository root.

***

Found an error on this page? [Report an issue](https://github.com/aegean-ai/eaia-feedback/issues/new?template=page-issue.yml\&page=/aiml-common/assignments/main/robotics-fall-2026/turtlebot-kinematics).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.