RL Robotics LabSearch ↗
Resources / guide

Resources and practice tools

Use these resources for a specific question, not as an endless watching list. Each lesson assigns a reading and a study task. Official documentation governs hardware APIs; a video demonstrates an idea but may use a different robot. Links and video metadata were checked on 2026-10-09; availability and firmware can change.

Start with the course’s own guides

Selected primary readings

Resource Use Study question
Pololu 3pi+ 2040 guide Weeks 1, 4, 6, 13 and device transfer What does this exact sensor measure?
Official Pololu code Verify device APIs against installed firmware What are the units, signs and reset semantics?
Python tutorial Weeks 2 onward Can you predict the output and explain each line?
Python statistics Weeks 5, 8, 23 Is this spread, uncertainty or a conditional result?
GitHub Hello World Student repository workflow Which source revision produced the run?
Amit Patel’s graph-search introduction Weeks 19–20 Why does BFS need a visited set and a predecessor map?

Video/lecture selections

Programming: CS50 Python functions/variables and loops. Use short relevant excerpts and the lecture notes; predict output before viewing the explanation. These are desktop Python foundations, not motor-transfer instructions.

Circuits: Khan Academy Ohm’s law. Pause at V=IR and calculate the resistor current with units. An LED needs its own nonlinear-voltage assumption and current-limiting resistor.

Feedback: MathWorks What is PID? and Brian Douglas PID introduction. Sketch target, measurement, error and disturbance. Use your own simulator to test rather than assuming the demonstrated tuning applies to this robot.

Navigation context: MIT OpenCourseWare Macro ME robot demonstration. Compare its sensors with the 3pi+ 2040 and identify hardware-dependent assumptions. For graph search, the Patel page’s interactive animations are the more focused core resource.

Videos open at their source; no login is needed by this website. If a provider is blocked or a video disappears, the lesson explanation, reading and runnable examples still support the task. Link-topic/API checks do not imply that every video was watched end to end.

Downloads

Use the desktop lab kit

Save lab-kit.py in your student code/ folder, then run from that repository:

python3 code/lab-kit.py --output data/sim-baseline
python3 code/lab-kit.py --fault hazard --output data/sim-hazard
python3 code/lab-kit.py --fault stale --output data/sim-stale
python3 code/lab-kit.py --fault stalled --output data/sim-stall
python3 code/lab-kit.py --fault blocked --output data/sim-blocked
python3 code/lab-kit.py --left-scale 1.05 --output data/sim-scale-error

Open each summary.json and trace.svg; retain trace.csv. The baseline should reach the estimated goal with an independently calculated simulator endpoint error. Fault runs should report their specific stopped/no-route outcomes. The scale-error run demonstrates why odometry agreement with its own target is insufficient. These are synthetic experiments, not measured robot trials.

The kit assumes an ideal differential-drive plant and a surveyed grid. It models no battery, friction, encoder quantization or real sensor latency. Its geometric collision guard has access to simulator truth, a capability the physical robot does not have; physical safety instead needs a qualified clear course, sensing and supervision. Use the kit to reason about logic, then validate real interfaces and travel separately.

Equipment and optional robots

The hardware guide lists core materials. BB-8/Dash comparisons are optional and depend on their actual model and available apps. External range sensing, camera SLAM and dynamic mapping are extensions; the full core course can be studied with simulation and completed physically with the confirmed robot and surveyed map. No paid cloud service or additional range sensor is assumed.