Project Templates#

While DTProjects are open to all sorts of customizations to accommodate for virtually any need, Duckietown provides a set of templated projects that cover the most common use cases. For each project template we provide a templated repository.

Coding project templates#

These project templates are designed for projects implementing robot behaviors (e.g., lane following), back-end systems (e.g., REST APIs), etc.

Table 2 Coding project templates#

Name

Features

Link

basic

  • Ubuntu 20.04 base image

  • Support for Python packages in packages/

duckietown/template-basic

ros

  • Same as basic

  • Support for ROS

  • Support for catkin packages in packages/

duckietown/template-ros

core

  • Same as ros

  • Duckietown autonomous driving modules baked in

duckietown/template-core

Documentation project templates#

These project templates are designed for projects implementing documentation books and manuals such as the one you are looking at right now.

Table 3 Documentation project templates#

Name

Features

Link

book

  • Based on Jupyter Book

  • Compiles into HTML and PDF

  • Easy cross-reference with Duckietown books library

duckietown/template-book

Duckietown Learning Experiences (LXs) project templates#

These project templates are designed for the development of web-based dashboards based on \compose\. A project based on this template is the robot dashboard.

Table 4 Duckietown Learning Experiences (LXs) project templates #

Name

Link

lx

duckietown/template-lx

lx-recipe

duckietown/template-lx-recipe

Dashboard project templates#

These project templates are designed for the development of web-based dashboards based on \compose\. A project based on this template is the robot dashboard.

Table 5 Dashboard project templates#

Name

Link

compose

duckietown/template-compose