2022SpringTeam7
Project Team Members
- David Hee - ECE
- Nhat Tang - MAE
- Guro Drange Veglo - UPS
ROS2 OpenCV Autonomous Laps
Indoor
Outdoor
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
Car 2
Schematic
Implementation
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
- Jetson Nano setup
- Set up ROS2 environment or pull docker image: djnighti/ucsd_robocar
- Clone git repo https://gitlab.com/ece148/ECE148
Results
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
Demonstrations
Two cars with different throttle
Two cars with same throttle
Red color detection with machine learning
Autonomously driving with SLAM algorithm
Challenges
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
Reference
We would like to give special thanks to:
- Professor Jack Silberman
- TA Dominic Nightingale
- TA Ivan Ferrier
- ECE Makerspace