Each lecture opens as slides in the browser, with its demos built in. Lectures are added here as they are posted.

  1. Lecture10

    Battery, Power Design, System Design

    Robots as systems of sensors, compute, actuators, and power; how lithium-ion batteries work and how they reached the market; what a BMS does, from protection and balancing to state of charge and health; and how to pick and size a battery for a robot, from drones to docking and swapping.

  2. Lecture11

    System Design Exercise

    How to design a complete sensing and navigation system on your own: turning a need into measurable requirements, choosing sensors with a trade study, predicting localization error with drift analysis and an error budget, checking that frames, timing, data, and power fit together, and finding how the system fails. It also introduces the twelve scenarios, the report, and the five-slide presentation.

  3. Lecture12

    Sensing with Cameras: Homography

    Cameras as sensors: the sensor, lens, color filter, field of view, and shutter. Then the pinhole model, homogeneous coordinates, the intrinsic matrix K and the camera pose R and t, camera frames and CameraInfo in ROS 2, and the homography: what it is, where it shows up, how the DLT finds it from four or more points, and how it turns a roof camera view into a bird’s-eye map.

  4. Lecture13

    Sensing with Cameras: Feature Detection, Stereo

    Features that can be found again: Harris, FAST and ORB, SIFT, and matching with the ratio test. RANSAC for fitting when many matches are wrong, and how many tries it needs. Then two views: epipolar geometry, the essential and fundamental matrices, rectification, depth from disparity, block matching and semi-global matching, and where stereo fails. Last, designing the roof rig: the baseline from the depth error, keeping the pair in sync, and stereo_image_proc in ROS 2.

  5. Lecture14

    Sensing with Cameras: Calibration, Mosaicing

    Why every camera needs calibrating: intrinsics, lens distortion, and the fisheye model. Zhang’s method with a flat checkerboard, judging a calibration by reprojection error and coverage, and camera_calibration in ROS 2. Then extrinsics and time: the transforms the rig needs, stereo extrinsics, the lever arm to the RTK antenna, static TF and URDF, and time stamps. Last, mosaicing: panoramas, blending, and a ground map placed with RTK, plus the calibration day plan for the Mustang.

More lectures will appear here as they are converted.

Each lab’s introduction opens as slides in the browser. The full instructions, the worked example, and the field handout are in the course repository.

  1. Lab4

    Dead Reckoning with an IMU, GPS, and LiDAR

    Run your RTK and VN-100 drivers from one launch file, rehearse the data collection on foot, then record the Mustang Mach-E near Kerry Park while the car records its own LiDAR, IMU, GPS, and wheel speeds. From the two recordings, estimate the car’s heading, speed, and path from the IMU, line up the clocks of the two computers, track the car by LiDAR scan matching, and compare them all through an RTK outage. The slides walk through every step in the car.

Every demo opens as its own short page and runs the same Python script used in class, in the browser, with no install. Each page also has a notebook: cells you can edit and run right there, or download as a Jupyter notebook.

Reading NMEA sentences

Paste or stream GNSS output and see each $GPGGA field decoded: time, latitude, longitude, fix quality, satellites in use, and HDOP.

Latitude and longitude to UTM

Convert a position into UTM easting and northing, see which zone it falls in, and watch the scale error grow away from the central meridian.

Satellite geometry and DOP

Drag satellites around the sky plot and watch the dilution of precision and the position error ellipse change with their spread.

RTK: fixed, float, and standalone

Compare the scatter of standalone, RTK float, and RTK fixed solutions from the same walk, and tell precision from accuracy.

IMU noise and Allan variance

Simulate a gyroscope with white noise and bias instability, then read the angle random walk and bias off the Allan deviation plot.

Aim the roof camera

Set the height, pitch, and lens of the roof camera, and see its image, field of view, nearest visible ground, and the size of one pixel on the road.

Four points to a bird’s-eye view

Drag four corners of a parking stall, fit the homography with the DLT, and see the lot from above. Check corners show how much noisy clicks cost.

Feature matches and RANSAC

Fit the homography between two views from automatic matches, some of them wrong. Compare least squares with RANSAC, and see how many tries RANSAC needs.

Disparity by block matching

Find the disparity of every pixel in a stereo pair, change the window, and see where stereo fails: plain walls, repeated patterns, and edges.

Pick a stereo baseline

Set the lens, baseline, and matching error, then a range and accuracy. See the depth error curve, the closest usable distance, and the garage tests.

Calibrate a virtual camera

Photograph a checkerboard with a virtual camera, run Zhang’s method, and see what makes a calibration right, and what only makes it look right.

A ground map from a driving car

Place bird’s-eye views on a map with RTK poses, then add a heading bias, a time offset, a pitch error, or a forgotten lever arm, and see what each one does.