Each lecture opens as slides in the browser, with its demos built in. Lectures are added here as they are posted.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
Battery runtime planner
Pick a pack and a load profile for the robot, and see the voltage sag under load and how long the mission can run.
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.