PID Control Lane Following in Duckietown

Autonomous Navigation and Parking in Duckietown

This project uses PID control, AprilTag-based turns, dead reckoning, and visual servoing to enable autonomous navigation and parking in Duckietown.

Autonomous Navigation and Parking in Duckietown

Project Resources

Project highlights

Static parameters in a dynamic environment are pre-programmed failure points.

Autonomous Navigation and Parking in Duckietown: the objectives

This includes the development of a closed-loop PID control mechanism for continuous lane following, the use of AprilTag detection for intersection decision-making, and a state-driven behavior architecture to transition between tasks such as stopping, turning, and parking. 

The system uses wheel encoder data for dead-reckoning-based motion execution in the absence of visual cues, and applies HSV-based color segmentation to detect and respond to static and dynamic obstacles. Visual servoing is used for parking alignment based on AprilTag localization. The control logic is modular and supports parameter tuning for hardware variability, with temporal filtering to suppress redundant detections and ensure stability.

The challenges and approach

The key technical issues included inconsistent AprilTag detection due to motion blur and multiple redundant detections, which were mitigated using temporal filtering. PID control was used for continuous lane following, with dead reckoning based on wheel encoder data for intersection traversal when visual input was unreliable. 

Obstacle detection and stopping mechanisms used HSV-based color segmentation to identify static and dynamic objects in the environment. In the parking stage, AprilTag-based localization and visual servoing were used to achieve stall alignment. The system was modular, with state-driven control logic managing transitions between lane following, intersection handling, obstacle detection, and parking.

Did this work spark your curiosity?

Autonomous Navigation and Parking in Duckietown: Authors

Eric Khumbata is working as a Computer Engineer at TELUS, a Canadian telecommunications company.

Jasper Eng is currently working as a Summer Research Intern at the BLINC Lab.

Cameron Hildebrandt is currently working as a Fullstack Developer at Bitcoin Well, Canada.

Learn more

Duckietown is a capable, affordable, and reliable platform for creating and disseminating robotics and AI learning experiences.

Duckietown is designed to teach, learn, and do research: from exploring the fundamentals of computer science and automation to pushing the boundaries of knowledge.

These spotlight projects are shared to exemplify Duckietown’s value for hands-on learning in robotics and AI, enabling students to apply theoretical concepts to practical challenges in autonomous robotics, boosting competence and job prospects.

If you liked this, you may also enjoy