From MAE/ECE 148 - Introduction to Autonomous Vehicles
Jump to navigation Jump to search

Project Team Members

  • David Hee - ECE
  • Nhat Tang - MAE
  • Guro Drange Veglo - UPS

ROS2 OpenCV Autonomous Laps



Donkey Autonomous Laps

Project Overview

This project develops an autonomous car that adds throttle when detecting red. The purpose of this project was to have two cars take turns leading the other car. The car in the back will have to detect that there is a car in front of it and try to overtake it. This process will keep repeating until stopped. Essentially, it will be something like the CES IAC head to head competition.This project has not been done before as the CES IAC head to head competition is rather new, so we will be the first to implement this sort of process. The system is implemented on our autonomously-driven car using a Jetson Nano and a camera.

Main Components

Physical Setup

Car 1

New.png Car1 07.jpg

Car 2

Car2 07.jpg Car2mount07.jpg




Software and Hardware List

The following are needed to complete this project.

  • Jetson Nano
  • 32GB MicroSD card
  • Camera
  • ROS2
  • OpenCV

Source code

The source code of the project can be found here: https://gitlab.com/ece148/ECE148

Steps Overview


In the end our team achieved to have two cars running, adding throttle when detecting red. As seen in the demonstrations, having equal throttle makes it harder for the cars to stay in separate lanes. This is due to the camera view, not having a wide enough range to detect the yellow lane detection when driving in a separate lane.

The detection of red was first done by HSV values and OpenCV. Later it was done by using machine learning.

Gantt chart



Two cars with different throttle

Two cars with same throttle

Red color detection with machine learning

Autonomously driving with SLAM algorithm


Challenge Solution
Use AprilTag to detect car Switched to detecting red instead
Calibrate cars to drive in separate lanes Shifted camera, or change of camera
Throttle not working while steering working Charge battery
Lightning errors when detecting red with HSV color detection Detecting red with machine learning
Lightning errors with lane detection SLAM algorithm (still in process)

Potential Improvement

  • Use SLAM for autonomous driving instead of lane detection
  • Change camera to have wider view / Buy new camera
  • Make new camera mount to easily change the camera angle and view
  • Make alternating procedure even smoother. For example by adding the time the throttle is increased after detecting red

Weekly Presentations

Final Project Proposal
Progress Week 7
Progress Week 8
Progress Week 9
Progress Week 10
Final Presentation


We would like to give special thanks to:

  • Professor Jack Silberman
  • TA Dominic Nightingale
  • TA Ivan Ferrier
  • ECE Makerspace