Skip to content

Commit b14c63c

Browse files
committed
update docs
1 parent e4a7f8d commit b14c63c

9 files changed

Lines changed: 78 additions & 4 deletions

File tree

.github/workflows/deploy-docs.yml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,16 @@
11
name: Build & Deploy Documentation
22

3-
# Touching this file triggers a fresh Pages deployment.
3+
# Touching this file or the docs sources triggers a fresh Pages deployment.
44

55
on:
66
push:
77
branches:
88
- main
99
paths:
10+
- 'README.md'
11+
- 'concepts.md'
12+
- 'notes.md'
13+
- 'user_manual.md'
1014
- 'docs/**'
1115
- '.github/workflows/deploy-docs.yml'
1216
workflow_dispatch:
@@ -42,8 +46,7 @@ jobs:
4246
4347
- name: Build HTML documentation
4448
run: |
45-
cd docs
46-
sphinx-build -W --keep-going -b html source build/html
49+
sphinx-build -W --keep-going -b html docs/source docs/build/html
4750
4851
- name: Upload artifact
4952
uses: actions/upload-pages-artifact@v3

README.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ This repository includes:
1616
- User guide: [user_manual.md](user_manual.md)
1717
- Concepts guide: [concepts.md](concepts.md)
1818
- Theoretical calculation summary: [notes.md](notes.md)
19+
- PCB and KiCad sources: [pcb/wall_e_pcb_v1.0](pcb/wall_e_pcb_v1.0)
1920
- Sphinx docs index: `docs/source/index.rst`
2021

2122
The Sphinx site includes the same high-level concepts and firmware details in a published format.
@@ -258,6 +259,14 @@ Host-side ROS 2 nodes can process these into cleaner and fused signals:
258259
- Inputs: `/imu/filter`, `/range/filter`
259260
- Outputs: `/fusion/height`, `/fusion/vertical_velocity`, `/fusion/debug`
260261

262+
## PCB and Speed Sensing
263+
264+
The board design lives in [pcb/wall_e_pcb_v1.0](pcb/wall_e_pcb_v1.0).
265+
266+
The current schematic includes the ESP32 module, motor driver stages, the MPU6050, the HC-SR04 range sensor, and paired hall-effect sensors for wheel-speed or rotation feedback.
267+
268+
Use the KiCad project as the source of truth for connector pinouts, board placement, and DRC/GERBER work before changing firmware wiring assumptions.
269+
261270
This keeps firmware responsibilities focused on sensor I/O and control while allowing filter tuning on the host.
262271

263272
## Control and Localization Pipeline (Host)

concepts.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,3 +123,13 @@ When debugging from serial logs, treat these messages as distinct fault classes:
123123
Practical design point:
124124

125125
- Keep early sensor checks before ROS startup so hardware faults are visible even if middleware setup blocks or restarts.
126+
127+
## Board-Level Hardware
128+
129+
The PCB design in [pcb/wall_e_pcb_v1.0](pcb/wall_e_pcb_v1.0) is the hardware reference for the current build.
130+
131+
It includes the ESP32 carrier, motor drivers, the MPU6050, the HC-SR04 sensor path, and paired hall-effect sensors that can be used for wheel-speed or rotation feedback.
132+
133+
This matters for the software stack because the firmware and localization layers should describe the same physical wiring and sensor roles as the board project.
134+
135+
If wheel-speed or rotation pulses are added from the hall-effect sensors, treat them as another raw input stream and document whether they feed odometry directly or are only used for calibration.

docs/source/architecture.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ ESP32 Firmware
4343
- **FreeRTOS**: Real-time operating system
4444
- **micro-ROS Client**: Lightweight ROS 2 client library
4545
- **Sensor drivers**: I2C for IMU, GPIO for ultrasonic sensor
46+
- **Board-level speed sensing**: hall-effect sensors are available on the PCB for wheel-speed or rotation feedback
4647

4748
Communication Flow
4849
==================

docs/source/concepts.rst

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,3 +147,14 @@ Related Reading
147147
- :doc:`architecture`
148148
- :doc:`firmware/esp32_controller`
149149
- :doc:`workflow_and_commands`
150+
151+
Board-Level Hardware
152+
====================
153+
154+
The PCB project in ``pcb/wall_e_pcb_v1.0`` is the hardware reference for the current build.
155+
156+
It includes the ESP32 carrier, motor drivers, the MPU6050, the HC-SR04 sensor path, and paired hall-effect sensors that can be used for wheel-speed or rotation feedback.
157+
158+
The software stack should keep its wiring assumptions aligned with the board project so firmware, localization, and documentation describe the same hardware layout.
159+
160+
If wheel-speed or rotation pulses are added from the hall-effect sensors, treat them as another raw input stream and document whether they feed odometry directly or are only used for calibration.

docs/source/firmware/esp32_controller.rst

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ ESP32 Controller
66

77
The ESP32 controller runs FreeRTOS with micro-ROS micro-sage communication. Two variants are provided: a full-featured **motor controller** with safety systems, and a lightweight **sensor-only** reference implementation for validation.
88

9+
The board-level design also includes paired hall-effect sensors for wheel-speed or rotation feedback, so the firmware and localization notes should stay aligned with the PCB wiring.
10+
911
Application Variants
1012
====================
1113

@@ -34,6 +36,8 @@ Features:
3436
- Lightweight for simulation and validation
3537
- Publishing: /imu/data, /range/data
3638

39+
Use this app as the reference when you want the raw sensor path without the motor-control layer.
40+
3741
Overview
3842
========
3943

@@ -64,6 +68,13 @@ Ultrasonic Sensor
6468
- **Trigger Pin**: GPIO 5 (motor variant) / GPIO 9 (sensor-only variant)
6569
- **Echo Pin**: GPIO 18 (motor variant) / GPIO 10 (sensor-only variant)
6670

71+
Hall-Effect Speed Sensors
72+
-------------------------
73+
74+
The PCB schematic includes paired hall-effect sensors for wheel-speed or rotation feedback.
75+
76+
They are board-level inputs rather than part of the IMU or ultrasonic path, so document their GPIO routing and pulse-to-speed conversion wherever they are wired into firmware or localization.
77+
6778
Motor Control (Motor Variant Only)
6879
----------------------------------
6980

docs/source/index.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ Wall-E
44

55
Welcome to Wall-E's comprehensive documentation. This project provides an integrated development environment combining ESP32 firmware, FreeRTOS, and ROS 2 Humble for advanced embedded robotics applications.
66

7-
The published site is built automatically from this source tree on pushes to `main`.
7+
The published site is built automatically from the ``docs/source`` tree on pushes to ``main``.
88

99
.. toctree::
1010
:maxdepth: 2

notes.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -225,3 +225,19 @@ Wheel visual orientation uses a fixed $\frac{\pi}{2}$ roll, with quaternion:
225225
$$q = [x, y, z, w] = [\sin(\pi/4),\; 0,\; 0,\; \cos(\pi/4)] \approx [0.7071,\; 0,\; 0,\; 0.7071]$$
226226

227227
These static publishers are conditionally disabled when `joint_state_publisher` is enabled.
228+
229+
## Hall-Effect Wheel Speed Conversion
230+
231+
Source: PCB hall-effect sensors in [pcb/wall_e_pcb_v1.0](pcb/wall_e_pcb_v1.0)
232+
233+
The PCB includes paired hall-effect sensors that can be used for wheel-speed or rotation feedback.
234+
235+
If the sensor produces a pulse train with pulse frequency $f$ and the wheel produces $PPR$ pulses per revolution, wheel speed in revolutions per minute is:
236+
237+
$$rpm = \frac{60 f}{PPR}$$
238+
239+
Linear wheel speed can then be derived from wheel diameter $D$:
240+
241+
$$v = \frac{\pi D \cdot rpm}{60}$$
242+
243+
Use the actual wheel geometry and pulse-per-revolution count from the KiCad design or assembly notes when calibrating this path.

user_manual.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -366,3 +366,16 @@ Defaults and behavior notes:
366366

367367
- Main controller firmware: `firmware/custom/esp32_controller`
368368
- Reference firmware variant: `firmware/freertos_apps/apps/esp32_controller`
369+
370+
## PCB, KiCad, and Speed Sensing
371+
372+
The hardware design lives in [pcb/wall_e_pcb_v1.0](pcb/wall_e_pcb_v1.0).
373+
374+
The KiCad schematic and PCB describe the current carrier board, including:
375+
376+
- ESP32 module placement and power wiring
377+
- Motor driver connections
378+
- MPU6050 and HC-SR04 sensor connectors
379+
- Paired hall-effect sensors for wheel-speed or rotation feedback
380+
381+
Treat the PCB project as the source of truth when checking connector pinouts or planning sensor wiring changes.

0 commit comments

Comments
 (0)