Module 05 · Phase 2: Hardware engineering
Onboard Computer, CPU/GPU Selection & Compute Sizing
Estimate sensor bandwidth, memory and processing load, choose x86, ARM or Jetson, and find the bottleneck with standard Linux and ROS 2 tools.
This overview is open. 5 of 5 guides are written; the others show Coming soon until they are complete and tested.
Questions this module answers
- How much compute does LiDAR SLAM or 3D perception need?
- How do I estimate camera bandwidth and point-cloud throughput?
- When does GPU acceleration pay off?
- How do I spot memory bottlenecks, low GPU utilization and thermal throttling?
What it covers
- x86 vs ARM, Jetson, industrial PCs
- Cores, threads, GPU, CUDA
- RAM, memory and PCIe bandwidth, storage
- Thermal and power budgets
- ROS 2 process distribution
- Profiling with htop, top, free, nvidia-smi, tegrastats, ros2 topic hz/bw (platform-specific commands only where supported)
Guides and design decisions
A. Engineering Guides (3)
B. Design & Selection (2)
Diagnostics, tools and challenges
C. Troubleshooting (3)
- CPU usage is too highOne or more cores saturate and the pipeline falls behind.
- GPU utilization is unexpectedly lowThe GPU idles while the CPU is the bottleneck.
- Memory consumption keeps increasingRAM climbs steadily until a process is killed.
D. Interactive tools (1)
- CPU/GPU Resource EstimatorSensor data throughput, memory and point-cloud load, with the assumptions and limits shown. It does not predict exact hardware performance.
E. Design challenges (1)
- Challenge 1: Design an Autonomous Mobile RobotIndoor differential-drive robot: sensors, motor sizing, compute, power, ROS 2, LiDAR+IMU, SLAM, Nav2, tuning and validation.
Practical deliverables
- CPU/GPU resource estimator
- Compute sizing worksheet
- Profiling guide
- Example computer architecture
Read first: existing FixTheRobot lessons and labs
This module builds on these instead of repeating them.
- Real-Time Performance and Resource Constraints SLAM · Lesson