Projects

These projects integrate skills from multiple labs to create complete, functional applications for the Mini Pupper. Projects are designed to be completed sequentially, building upon skills learned in the labs.

Learning Path

┌─────────────────────────────────────────────────────────────────────┐
│                        Sequential Learning Path                     │
├─────────────────────────────────────────────────────────────────────┤
│                                                                     │
│  Jupyter Labs (1-5)                                                 │
│  ├── Camera, LCD, Sound, Touch, Dance                              │
│  │                                                                  │
│  └──► Project 1: Interactive Pet Robot                             │
│       (Jupyter Labs only - hardware fundamentals)                   │
│                                                                     │
│  ROS2 Labs (1-4)                                                   │
│  ├── Basics, Camera, Transforms, Visualization                     │
│  │                                                                  │
│  └──► Project 2: Teleop Dashboard                                  │
│       (Jupyter + Basic ROS2 - robot control)                        │
│                                                                     │
│  ROS2 Labs (5-7)                                                   │
│  ├── Person Tracking, Line Following, Services                     │
│  │                                                                  │
│  └──► Project 3: Autonomous Navigator                              │
│       (Advanced ROS2 - autonomous behavior)                         │
│                                                                     │
│  Advanced ROS2 + PID Control                                       │
│  ├── Line Detection, PID Tuning, State Machines                    │
│  │                                                                  │
│  └──► Project 4: Advanced Line Follower                            │
│       (Advanced control systems - autonomous navigation)            │
│                                                                     │
└─────────────────────────────────────────────────────────────────────┘

Project Overview

Project Difficulty Prerequisites Description
Project 1: Interactive Pet ⭐⭐ Jupyter Labs 1-5 Touch-responsive pet with expressions and sounds
Project 2: Teleop Dashboard ⭐⭐⭐ Project 1 + ROS2 Labs 1-4 Web-based control with camera streaming
Project 3: Autonomous Navigator ⭐⭐⭐⭐ Project 2 + ROS2 Labs 5-7 Person following with obstacle avoidance
Project 4: Line Follower ⭐⭐⭐⭐ Project 3 Advanced line following with PID tuning

Prerequisites by Project

Project 1: Interactive Pet Robot

  • ✅ Jupyter Lab 1: Camera
  • ✅ Jupyter Lab 2: LCD Display
  • ✅ Jupyter Lab 3: Sound
  • ✅ Jupyter Lab 4: Touch Sensor
  • ✅ Jupyter Lab 5: Dance/Movement

Project 2: Teleop Dashboard

  • ✅ All Project 1 prerequisites
  • ✅ ROS2 Lab 1: ROS2 Basics
  • ✅ ROS2 Lab 2: Camera Topics
  • ✅ ROS2 Lab 3: TF Transforms
  • ✅ ROS2 Lab 4: RViz Visualization

Project 3: Autonomous Navigator

  • ✅ All Project 2 prerequisites
  • ✅ ROS2 Lab 5: Person Tracking
  • ✅ ROS2 Lab 6: Line Following
  • ✅ ROS2 Lab 7: Services

Project 4: Advanced Line Follower

  • ✅ All Project 3 prerequisites
  • ✅ ROS2 Lab 6: Line Following (revisited)
  • ✅ Understanding of PID control theory
  • ✅ State machine design principles

Project Structure

Each project includes:

  1. Objectives: What you will learn and accomplish
  2. Prerequisites: Required labs and prior projects
  3. Implementation Guide: Step-by-step instructions
  4. Deliverables: Expected outputs and demonstrations
  5. Extension Ideas: Optional enhancements

Grading Rubric

Component Weight Description
Functionality 40% Does the project work as specified?
Code Quality 20% Clean, documented, well-organized code
Documentation 15% README, comments, user instructions
Demo/Presentation 15% Live demonstration of the project
Creativity 10% Extensions, improvements, unique features

Getting Started

  1. Complete the prerequisite labs for each project
  2. Start with Project 1 and progress sequentially
  3. Each project builds on skills from the previous one
  4. Document your progress as you go
  5. Add extensions after completing base requirements

Table of contents