Skip to content

About

A very simple simulator for a 2 wheel differential drive robot on the Google Colab platform.

Resources

Stars

10 stars

Watchers

2 watching

Forks

Repository files navigation

Exploring a Minimal 2D Simulation of a Two-Wheeled Mobile Robot

Developed by: Paul O'Dowd & Hemma Philamore.

Welcome to the exercise sheets! All of these exercise sheets are intended to be used interactively within Google Colab. You should be able to save them into your own workspace. You may need a Google account to do so.

These exercise sheets are intended to provide a very quick introduction to the general frame of thinking required when working in robotics. This includes:

  • Developing control software which runs iteratively, and without end.
  • To anticipate that whilst a very good solution to a task is possible, the task can easily be made more challenging.
  • To appreciate that the complexity of a task and therefore suitable solutions can increase very quickly.

These exercise sheets challenge you to move through a set of tasks which build upon the last, with escalating complexity. These are:

  1. Obstacle Avoidance Behaviour
  2. Circumnavigation Behaviour
  3. Navigation for Mapping (coverage)
  4. Following another robot with noisy sensors.

These exercise sheets serve as a brief introduction, so you are given the freedom to be creative and to explore the nature of the problem space.

Open In Colab Test Sheet: You can quickly test you can access Google Colab and these exercise sheets by clicking the button on the left.



Info: Getting Started

If you have not used Python of Google Colab before, the following exercise sheets will help you to get started:

Open In Colab nbviewer Python: Operators

Performing basic calculations, Making comparisons between variables, Using comparisons and other Boolean True or False values to form logic statements.

Open In Colab nbviewer Python: Control Flow

Making decisions within a program to direct the flow of the program execution.

Open In Colab nbviewer Python: Loops

Controllably repeating operations within a program.

Open In Colab Google Colab

Colaboratory, or 'Colab' for short, allows you to write and execute Python in your browser, with Zero configuration required, Free access to GPUs, & Easy sharing. Whether you're a student, a data scientist or an AI researcher, Colab can make your work easier.

Jupyter / Anaconda:

If you cannot access Google Colab, then you may wish to install Jupyter/Anaconda on your own computer to run these files locally. You will also need to download the files from this github repository. Install Jupyter/Anaconda

A short how-to on running these sheets within Anaconda/Jupyter is available here.



Open In Colab Day 1: Obstacle Avoidance

In this worksheet we will develop a controller to make decisions for the simulated robot. You can investigate using python to read the simulated sensors and to steer the robot away from obstructions.



Open In Colab Day 2: Circumnavigation

In this worksheet we will develop a more advanced controller for the simulated robot. You can write behaviours for the robot to discover an obstruction and then to control the simulated robot to navigate around the obstruction at close proximity.



Open In Colab Day 3: Mapping

In this worksheet we will combine previous work to record a map of the simulated environment. You will need to develop a strategy and an advance controller to explore the environment efficiently.



Open In Colab Day 4: Sensor Noise

In this worksheet we explore the challenges of a real sensor, the Pololu SDS02A. The simulator has been updated and you are challenged to write a controller to follow another robot.



Day 5: Explore!

We've kept this day free of a new exercise sheet so that you can explore any of the previous sheets and take them further if you wish. You'll be able to ask for support on any related questions during the teaching session.

About

A very simple simulator for a 2 wheel differential drive robot on the Google Colab platform.

Resources

Stars

10 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages