Duckietown Simulator#

We use simulations for both development and evaluation.

Gym Duckietown#

We have developed a simulation environment in OpenGL.

../../_images/simplesim_free.png

Fig. 2 A screenshot of our simple OpenGL based simulation environment#

This simulator is used as a development environment in many of the learning experiences. To test exercises in simulation, one simply adds the --sim flag to the dts code workbench command:

dts code workbench --sim

For more details about the dts code API that is used with the exercises please refer to the Learning Experiences Manual.

The simulator may also be used directly. For example, this is done in the object detection exercise to automate the process of collecting labeled data to train the model.

For full details about how to use the simulator, please refer to the page on simulation in the developer manual.

../../_images/finalmain.gif

Warning

If the simulator is used in standalone mode it is slightly different than the version of the simulator that is used for exercise evalution.

The reason for this is partly historical and partly practical. The Gym Duckietown simulation predates the automated evaluation infrastructure. It was originally used as a tool for training reinforcement learning agents. This is the reason that it adheres to the OpenAI Gym API. As such, the focus originally was on making the simulation extremely fast and lightweight, and this is the reason it was written in pure Python.

When we developed the Challenges infrastructure we determined that the simulation was not realistic enough since there were some missing pieces such as motion blur and momentum. For those very motivated to dig into the details, the extra pieces coded are in the challenge-aido_LF-simulator-gym repository.

DuckieMatrix#

We are in the process of developing a higher-fidelity simulation environment that we refer to as the DuckieMatrix. This simulation is built using Unity.

../../_images/duckiematrix.jpg

Fig. 3 The soon-to-be-released “DuckieMatrix” simulation environment#

For anyone interested in getting a sneak peek, please refer to the DuckieMatrix Development book.