Imagine a classroom where students aren’t just learning about technology, they’re building it. That’s exactly what Jeremy Ellis, a teacher at St. Andrew’s College in Aurora, Ontario, did with his grade 12 computer science class. Ellis embarked on an ambitious project to teach his students about microcontrollers, computer vision, and machine learning by building self-driving RC cars. The results were nothing short of amazing.
The Project: Building Blocks of Autonomous Cars
The project involved modifying an off-the-shelf RC car with DC motors. The students added an iRobota Portenta H7 as the microcontroller, a VNH5019 Motor Driver Carrier to control the motors, a servo motor for steering, and a Portenta H7 + Vision Shield with a 1.5″ OLED module. This setup provided the necessary hardware platform for the car’s autonomous capabilities.
Training the Car’s Vision: Object Detection
To enable the car to navigate its environment, the students needed to train it to recognize specific markers. They collected approximately 300 images of double-ringed markers on the floor and uploaded them to Edge Impulse, a platform for developing machine learning models. The images were labeled with bounding boxes around the markers, and a FOMO-based object detection model was trained using these labeled images. This model would allow the car to identify and track the markers in real-time.
Bringing It All Together: Steering and Control
The Portenta community provided a sketch that captured new images, performed inferencing on the FOMO model, and steered the car’s servo accordingly. This sketch was integrated into the car’s software, allowing it to autonomously follow a series of markers on the ground without human intervention. The students also had the option to display the processed image on the OLED screen, providing valuable insights into the car’s decision-making process.
Success and Beyond: Lessons Learned
With minor adjustments and testing, Ellis and his class successfully built four autonomous cars that could navigate a course marked with double-ringed markers. The project was a resounding success, not only in terms of the technical achievements but also in the lessons learned by the students. They gained hands-on experience with microcontrollers, computer vision, and machine learning, and they developed a deeper understanding of the challenges and opportunities of autonomous vehicles.
Bonus: The project also sparked a passion for technology and innovation among the students. Many of them expressed interest in pursuing further studies in computer science and engineering. Ellis’s project is a testament to the power of hands-on learning and the potential of technology to engage and inspire students.
As autonomous vehicles continue to make headlines, projects like Ellis’s are paving the way for the next generation of engineers and innovators. Who knows, maybe one of his students will go on to develop the self-driving cars of the future!
Leave a Reply