Academic · Project

Imitation Learning for Autonomous Driving in Duckietown

Period
Sep 2022 – Jan 2023
Organisation
Budapest University of Technology and Economics, team DSD
Location
BME Faculty of Electrical Engineering and Informatics (buildings Q and I)Magyar tudósok körútja 2, 1117 Budapest, Hungary
Posted

Team project (three students) training and testing a self-driving agent in the Duckietown simulator with TensorFlow-based behaviour cloning. Included automatic data generation with a pure-pursuit controller, hyper-parameter optimisation and an AI Driving Olympics submission.

  • Manual and automatic (pure-pursuit) training-data generation
  • CNN behaviour-cloning models with random-search hyper-parameter tuning
  • Containerised submission to the AI Driving Olympics challenge

Duckietown is an open platform for teaching autonomous driving: small robots, a modular town of roads, and a simulator used for the AI Driving Olympics (AI-DO). In this course project our three-person team, DSD (Dávid Ódor, Szabolcs Weyde and me), trained a lane-following agent with imitation learning.

Pipeline

  1. Data generation. We recorded driving data either by driving manually in the simulator or automatically with a pure-pursuit controller, and stored it in a common log schema. We wrote tools to combine and visualise the logs.
  2. Maps. Custom training and test maps came from our own map generator, so that evaluation ran on roads the model had not seen.
  3. Training. Convolutional behaviour-cloning networks in TensorFlow, based on the official baseline and extended with our own architectures. Random-search hyper-parameter optimisation picked the variants, and we kept the best checkpoints by training and validation loss.
  4. Evaluation and submission. An evaluation script on the held-out dataset, and a Dockerised solution in the format required by the AI-DO challenge.

Takeaway

This was a direct contrast to the hand-written controllers of my Nokia robot cars. A learned policy is quick to get working on the training distribution and hard to trust outside it, which is a good argument for systematic scenario-based testing.

References

  1. Duckietown: Behavior Cloning baseline for the AI-DO lane-following challenge. github.com/duckietown/challenge-aido_LF-baseline-behavior-cloning