Many colleges have "Senior Seminar" courses that allow students to spend time on projects that they are interested in pursuing. This is an outline of a sample college-level project that a team of six students will spend about 60 hours each on.
- At least two Donkey Cars
- A PC with a GPU such as a NVIDIA GeForce GTX series card.
- A track
We can currently supply both the cars and GPU. The school will need to purchase its own track or borrow one from a local school such as Washburn. Optum also has a track that is not being used. The price for a track is around $175.
- Machine Learning Processes - learn the basic steps of machine learning including collecting data, building a model and using the model to make predictions.
- Computer Vision - learn how computer vision systems gather images and can predict things such as throttle speed and turning from these images. This course uses the powerful open-source Open Computer Vision Python libraries.
- Data Analysis - use Jupyter Notebooks to analyze data to find bad data and remove it from training sets.
- Raspberry Pi Single Board Computers - learn how to set up and configure the Raspberry Pi Model 4 single-board computers.
- Motors and Servos - learn how to control motors and servos using pulse width modulation
- Calibration - learn how to calibrate PWM signals to properly set ranges for motors and servos
- UNIX Shell - learn how to use the UNIX shell to set up manage your car.
- GPU Configuration - learn how to set up and configure a NVIDIA GPU on a Linux operating system
- Generative AI - learn to use generative AI tools to write Python code and Jupyter Notebooks. Use generative AI to debug problems and accelerate development.
Each lesson is designed to provide both theoretical knowledge and practical experience, ensuring a comprehensive understanding of the topics covered.
Title: AI Racking League - 60 Hours
- Introduction to the course, objectives, and equipment.
- Overview of DonkeyCar: components, functionality, and potential applications.
- Formation of project teams and defining team roles.
- Initial setup of DonkeyCars and PCs.
- Basic operation and control test of the DonkeyCar.
- Introduction to machine learning: concepts and processes.
- Data collection methods for DonkeyCar.
- Building a simple predictive model.
- Collecting initial data sets using DonkeyCars.
- Initial model testing on PCs using the collected data.
- Introduction to computer vision and its applications in autonomous vehicles.
- Basics of OpenCV and image processing techniques.
- Implementing basic computer vision algorithms on DonkeyCar images.
- Capturing and processing images using the Raspberry Pi and GPU.
- Introduction to Jupyter Notebooks and Python for data analysis.
- Data cleaning and preprocessing techniques.
- Analyzing and cleaning DonkeyCar data using Jupyter Notebooks on PCs.
- Identifying patterns and anomalies in the data sets.
- Overview of Raspberry Pi Model 4.
- Setting up the Raspberry Pi for DonkeyCars.
- Basic programming and interface interaction.
- Configuring and testing Raspberry Pi on DonkeyCars.
- Writing simple control programs for the DonkeyCar.
- Understanding motors and servos in robotics.
- Principles of pulse width modulation (PWM).
- Programming PWM for motor and servo control on the DonkeyCar.
- Testing motor responses and fine-tuning control parameters.
- The importance of calibration in robotics.
- Step-by-step calibration of motors and servos.
- Calibrating and testing DonkeyCars.
- Implementing calibration routines and evaluating performance.
- Basics of UNIX shell and command-line tools.
- Managing DonkeyCar systems using UNIX commands.
- Scripting for automation and efficiency.
- Shell exercises on DonkeyCar systems.
- Setting up automated scripts for data collection and analysis.
- Introduction to NVIDIA GPUs and their role in machine learning.
- Setting up and configuring a GPU on a Linux system.
- GPU optimization techniques for better performance.
- Configuring and testing GPU on project PCs.
- Running machine learning models on GPU for enhanced performance.
- Introduction to generative AI and its applications in coding.
- Using generative AI tools for debugging and development.
- Applying generative AI for coding and debugging on the DonkeyCar project.
- Finalizing and testing the DonkeyCar models and systems.
At the end of the course, students will be asked to give a presentation and demonstration to the other students in the course.
The student will be asked to create a GitHub repository and keep their documentation, notebooks and code on that site. The use of mkdocs is strongly encouraged. Evaluators will look for signs of high-quality documentation that could be reused by future students in their learning and problem-solving
Students will be asked to describe the problems they had and how they overcame these challenges. They will also reflect on if they effectively used generative AI to solve problems.
Students will each be asked if they would recommend working with their teammates in the future. Higher ratings will be reflected in the student's course evaluations.