Parking is notoriously a hard task to master for many humans. Hence, students of the Autonomous Mobility on Demand course at ETH Zurich wanted to determine to what degree this applied to autonomous parking with Duckiebots.
The goal of the Autonomous Parking project was to design, implement, and test a complete autonomous parking solution compliant with the Duckietown ecosystem.
Duckiebots should be able to enter and exit a parking area, identify viable parking lots, actually park and exit their parking spot safely, and avoid collision with other Duckiebots during the entire process.
The vision is to integrate autonomous charging solutions into the parking area, so Duckiebots can charge themselves when needed.
Autonomous parking in Duckietown: the challenges
Leveraging the Duckietown lane following vision baseline provided a basic infrastructure to build upon.
Some technical challenges specific to this projects were:
Backward Lane Following: Duckiebots must drive backward to exit the parking lots but only have cameras on the front. It is required to adjust the Duckiebot’s control system for stable backward driving, by changing the pose estimation process and re-tuning the PID controller.
Dynamic Color Adaptation: the new parking lot design introduced additional appearance specifications to the Duckietown city setup, such as blue lines identifying parking areas. Modifying the Duckiebots’ native lane detector to recognize blue lines in addition to yellow, red, and white, allows for additional flexibility in lane following based on specified colors.
Time Slot Coordination: Managing the availability of parking spaces is crucial to minimize the probability of collisions between Duckiebots. This project tackled this challenge by implementing a time-slot system to manage parking exits to prevent collisions, using red LEDs for signaling to other Duckiebots.
Resulting parking lot area configuration within Duckietown. The parking lot is compliant with Duckietown appearance specifications, and features one entry/exit intersection. The parking lot closed-loop and modular configuration With the goal of enabling Duckiebots to autonomously enter, park, and exit parking spaces while avoiding collisions. This design exemplifies the project's focus on creating a functional and adaptable parking solution.
Design of a parking area within the Duckietown environment. Comprising various standardized tiles, this example showcases a modular layout suitable for accommodating Duckiebots. The design includes six straight tiles, four curved left tiles, one three-way center tile, and two empty tiles. Notably, the configuration incorporates a T-intersection positioned such that Duckiebots are required to execute specific maneuvers upon entry and exit, ensuring adherence to the predetermined functionality of the parking area.
Parking spaces are delimited by a blue line with specified geometry. This configuration is functional to allow the Duckietown lane filter to determine the pose of the robot and facilitate precise entrance and exit from the parking space.
Project Parking Results
(Turn on the sound for best experience!)
Project Authors
Trevor Phillips is a former Duckietown student, now a Machine Learning SWE at Apple in Switzerland.
Linus Lingg is a former Duckietown student, now the Co-Founder and CTO of bottleplus in Switzerland.
Learn more
Duckietown is a modular, customizable and state-of-the-art platform for creating and disseminating robotics and AI learning experiences.
It is designed to teach, learn, and do research: from exploring the fundamentals of computer science and automation to pushing the boundaries of knowledge.