Robotics 102 Distributed Teaching Collaborative

Summer Bootcamp

June 26 - 30, 2023
University of Michigan, Ann Arbor, MI

Welcome to Robotics 102! This page contains all the information and links you will need to follow along with the curriculum.

Important Links

Table of Contents

DTC Robotics 102 Bootcamp Resources

Computer Setup

  1. Installing VSCode (Day 1)
  2. Programming the MBot in VSCode (Day 1)
  3. NoMachine Setup [Website] (Day 3)

Course Projects & Activities

  1. Follow Me (1D & 2D) (Day 1) [Slides]
  2. Project 1: Wall Follower [Code Overview, Project Description, Slides] (Day 1)
  3. Project 2: Bug Navigation (Day 2) [Project Description, Code Overview]
  4. Project 3: Path Planning (Day 2) [Executable]
  5. MBot Firmware Activity (Day 3) [Slides, Control Board Pinout]
  6. Project 4: Machine Learning & Image Classification (Day 4) [Instructions, Trained Model]

MBot Guides

  1. MBot Quick Start (Day 1)
  2. Mapping and Localizing on the MBot (Day 2)
  3. MBot Hardware Overview (Day 3) [Slides]
  4. MBot Software Overview (Day 4) [Slides]
  5. MBot Assembly Guide (Day 3)
  6. MBot Setup Guide (Day 4)

Review Material (Asynchronous)

The following prerequisites are assumed for the summer session:

  1. C++ programming (variables, functions, loops, branching, vectors, structs)
  2. Vector operations (adding, subtracting, scaling vectors, polar and Cartesian coordinates)
  3. Git
  4. Basic command line

Additional topics necessary for the course can be found in Additional Material. While we might discuss this material in the bootcamp, reviewing it beforehand is optional.

Below are some resources which provide an introduction to the above topics. Each topic has activities you may complete on Replit.

C++ Programming

The following lectures (excluding vectors and structs) are accompanied by the Pocket Calculator project, to be completed while watching the lectures:

All activities in this section are on Replit. A Replit tutorial is available here.

Topic Activities
Hello World! (compiling, executing, printing) [Lecture Video, Slides] Hello World Activity [Replit link]
Operators and Variables [Lecture Video, Slides] Laser Range Conversion Activity [Slides, Replit link]
Practice (optional) [Replit link]
Functions [Lecture Video, Slides] Practice (optional) [Replit link]
Branching and Iterators [Lecture Video, Slides] Super Mario State Machine [Slides, Replit link]
Practice (optional) [Replit link]
Vectors and Structs [Lecture Video, Slides] Find Minimum Ray Activity [Slides, Replit link]
Practice (optional) [Replit link]

Vector Operations

  1. MBot Coordinate System & Vector Operations Review [Slides (pg 7-13)]

Tools

  1. Git [Tutorial]
  2. Git & command line review for the MBot [Lab slides]

Additional Material

Links coming soon!

Project 3: Path Planning

  1. Occupancy grid mapping
  2. Breadth First Search
  3. A-Star Search

Project 4: Image Classification

  1. Intro to Machine Learning and Image Classification
  2. k-Nearest Neighbors
  3. How to Train your Neural Network