Skip to content

Sample College Project

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.

Equipment

  1. At least two Donkey Cars
  2. A PC with a GPU such as a NVIDIA GeForce GTX series card.
  3. 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.

Key Learning Objectives

  1. Machine Learning Processes - learn the basic steps of machine learning including collecting data, building a model and using the model to make predictions.
  2. 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.
  3. Data Analysis - use Jupyter Notebooks to analyze data to find bad data and remove it from training sets.
  4. Raspberry Pi Single Board Computers - learn how to set up and configure the Raspberry Pi Model 4 single-board computers.
  5. Motors and Servos - learn how to control motors and servos using pulse width modulation
  6. Calibration - learn how to calibrate PWM signals to properly set ranges for motors and servos
  7. UNIX Shell - learn how to use the UNIX shell to set up manage your car.
  8. GPU Configuration - learn how to set up and configure a NVIDIA GPU on a Linux operating system
  9. Generative AI - learn to use generative AI tools to write Python code and Jupyter Notebooks. Use generative AI to debug problems and accelerate development.

Sample Lessons

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

Lesson 1: Introduction to DonkeyCars and Project Overview (6 hours)

Theory

  • Introduction to the course, objectives, and equipment.
  • Overview of DonkeyCar: components, functionality, and potential applications.
  • Formation of project teams and defining team roles.

Hands On

  • Initial setup of DonkeyCars and PCs.
  • Basic operation and control test of the DonkeyCar.

Lesson 2: Machine Learning Basics (6 hours)

Theory

  • Introduction to machine learning: concepts and processes.
  • Data collection methods for DonkeyCar.
  • Building a simple predictive model.

Hands On

  • Collecting initial data sets using DonkeyCars.
  • Initial model testing on PCs using the collected data.

Lesson 3: Computer Vision Fundamentals (6 hours)

Theory

  • Introduction to computer vision and its applications in autonomous vehicles.
  • Basics of OpenCV and image processing techniques.

Hands On

  • Implementing basic computer vision algorithms on DonkeyCar images.
  • Capturing and processing images using the Raspberry Pi and GPU.

Lesson 4: Data Analysis with Jupyter Notebooks (6 hours)

Theory

  • Introduction to Jupyter Notebooks and Python for data analysis.
  • Data cleaning and preprocessing techniques.

Hands On

  • Analyzing and cleaning DonkeyCar data using Jupyter Notebooks on PCs.
  • Identifying patterns and anomalies in the data sets.

Lesson 5: Raspberry Pi Configuration (6 hours)

Theory

  • Overview of Raspberry Pi Model 4.
  • Setting up the Raspberry Pi for DonkeyCars.
  • Basic programming and interface interaction.

Hands On

  • Configuring and testing Raspberry Pi on DonkeyCars.
  • Writing simple control programs for the DonkeyCar.

Lesson 6: Motors and Servos Control (6 hours)

Theory

  • Understanding motors and servos in robotics.
  • Principles of pulse width modulation (PWM).

Hands On

  • Programming PWM for motor and servo control on the DonkeyCar.
  • Testing motor responses and fine-tuning control parameters.

Lesson 7: Calibration of DonkeyCars (6 hours)

Theory

  • The importance of calibration in robotics.
  • Step-by-step calibration of motors and servos.

Hands On

  • Calibrating and testing DonkeyCars.
  • Implementing calibration routines and evaluating performance.

Lesson 8: UNIX Shell and System Management (6 hours)

Theory

  • Basics of UNIX shell and command-line tools.
  • Managing DonkeyCar systems using UNIX commands.
  • Scripting for automation and efficiency.

Hands On

  • Shell exercises on DonkeyCar systems.
  • Setting up automated scripts for data collection and analysis.

Lesson 9: GPU Configuration and Optimization (6 hours)

Theory

  • 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.

Hands On

  • Configuring and testing GPU on project PCs.
  • Running machine learning models on GPU for enhanced performance.

Lesson 10: Generative AI and Project Completion (6 hours)

Theory

  • Introduction to generative AI and its applications in coding.
  • Using generative AI tools for debugging and development.

Hands On

  • 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.

Assessments

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.