SummerSLAM Engineering Notes
Building an X-Drive SLAM Rover, One Layer at a Time
Notes status: Weeks 1-3 first drafts, Weeks 4-6 outlined
The site structure and evidence map are live. Weeks 1-2 form one platform and programming narrative, and Week 3 begins the concept-focused localization work. Weeks 4-6 remain outlines and will be expanded in order. A chapter’s engineering status describes the rover, not the completeness of the written notes.
SummerSLAM connects an STM32F411 motor-control layer to a Raspberry Pi 4B running ROS 2 Jazzy. Encoder odometry, calibrated ultrasonic measurements, and probabilistic localization are added one measurable layer at a time. The repository keeps firmware, robot-side software, raw data, and the reasoning behind calibration decisions together.
The Week 1-6 system boundary. Commands move left to right; telemetry returns to the ROS 2 computer for estimation.
Six-week roadmap
Week |
Topic |
Chapter status |
Engineering evidence |
|---|---|---|---|
Platform bring-up and programming |
First draft |
Motors, encoders, CAN transport, and PS2 control verified; tutorials and build evidence remain to be added |
|
X-drive kinematics and encoder odometry |
First draft |
Encoder map, signs, CPR, frame convention, and estimator implemented |
|
Ground-truth calibration and motion uncertainty |
Outline |
Translation scale identified; full repeatability campaign remains pending |
|
Ultrasonic sensing and measurement model |
Outline |
Bench calibration and map validation completed |
|
Monte Carlo Localization |
In progress |
Design is on |
How to use these notes
Read the chapters in order if you are reproducing the rover. Each chapter will grow toward the same contract:
Define the physical or probabilistic model.
State the hardware and software prerequisites.
Link the exact implementation and input data.
Describe the experiment and expected observations.
Separate verified results from hypotheses and remaining work.
Preserve failures and repairs as reproducible debugging evidence.
This is an engineering process journal, not a general robotics textbook. It explains what I chose, what failed, what I measured, and what I would change so that a reader can adapt the process instead of treating one parts list as the only correct build.
The source repository is
Tuomaaa/XDriveSLAMRover.
Project status and decisions are tracked in
PROJECT_STATE.md.