Lessons

Each lesson starts from a problem in a real project, builds the math and science needed to solve it from first principles, includes an interactive demo, and ends in working code. The first arc’s projects are robots: the code is plain Java with WPILib Units, then WPILib, then Team 766’s own code.

Arc 1: Robotics

  1. Angles and Trig Ratios Problem: turn a robot’s heading and distance driven into down-field and sideways parts.
  2. Vectors (coming) Problem: turn a joystick push into a drive command.
  3. Frames and Rotation (coming) Problem: drive relative to the field while the robot is turned.
  4. Equations, Quadratics and the Discriminant (coming) Problem: find when and where a thrown ball comes down.
  5. Ballistics (coming) Problem: aim a shooter at a target, including while moving.
  6. Rates and Accumulation (coming) Problem: track where the robot is from wheel speeds over time.
  7. Matrices as Transforms (coming) Problem: convert between chassis motion and wheel motion, and between camera, robot and world.
  8. Overdetermined Systems and Least Squares (coming) Problem: get a camera pose from a fiducial marker seen in an image.
  9. Uncertainty and Weighted Averaging (coming) Problem: combine two estimates that disagree.
  10. The Kalman Filter (coming) Problem: fuse odometry with vision continuously.
  11. Optimization and Gradient Descent (coming) Problem: fit a model to data by improving it step by step.
  12. SLAM (coming) Problem: localize when the map itself is unknown.