2. Hardware and Assembly¶
The JetRacer ROS 2 platform is built atop the mechanical chassis provided by the Waveshare JetRacer AI Kit, but significantly upgraded with external telemetry hardware.
Bill of Materials (BOM)¶
| Component | Purpose | Interface |
|---|---|---|
| NVIDIA Jetson Nano (4GB) | Core Brain. Handles CUDA accelerated YOLO inference and Nav2 spatial math. | Host |
| Waveshare JetRacer Pro Chassis | The Ackermann steering frame and DC motors. | Mechanical |
| RP2040 Microcontroller | Acts as the real-time embedded motor driver handling I2C signals. | I2C |
| Sony IMX219 (8MP) | The physical eye of the car tracking lines and objects. | CSI Ribbon Cable |
| RPLidar A1M8 | 360° laser scanner providing depth and maps up to 12 meters away. | USB (Serial) |
| MPU9250 AHRS IMU | 9-DOF Absolute Orientation Sensor. Interfaced via RP2040 Serial Bridge. | Serial (via RP2040) |
| INA219 Monitor | Precise Voltage/Current sensing for power health. | I2C (via RP2040) |
| SSD1306 OLED | Real-time status display (IP, Battery, Faults). | I2C (Direct to Jetson) |
| Wheel Encoders | Hall-effect sensors determining raw physical forward momentum (Odometry). | GPIO -> RP2040 |
| USB Microphone | Allows voice-activated routing commands. | USB |
| Standard Wireless Gamepad | Teleoperation, Deadman-switch, and Mission Control Sentinel. | Bluetooth / USB |
Physical Architecture and Mounting¶
graph TD
subgraph Compute
NANO[Jetson Nano]
end
subgraph Sensory Array
CSI(IMX219 Camera) -- Ribbon --> NANO
LID(RPLidar A1) -- USB Serial --> NANO
OLED(SSD1306 OLED) -- I2C --> NANO
MIC(USB Microphone) -- USB --> NANO
end
subgraph Actuation & Embedded Sensing
NANO -- USB Serial --> RP[Raspberry Pi RP2040 Driver]
IMU(MPU9250 IMU) -- I2C --> RP
INA(INA219 Power) -- I2C --> RP
ENC(Wheel Encoders) -- GPIO --> RP
RP -- PWM --> MOTORS[Rear DC Motors]
RP -- PWM --> SERVO[Front Steering Servo]
end
Important Hardware Quirks¶
[!WARNING]
The Encoder-IMU Divide: Because cheap IMUs drift horribly when mathematically double-integrating Acceleration into Linear Speed, our Sensor Fusion explicitly ignores the IMU's Linear Acceleration. Linear speed is derived EXCLUSIVELY from your Wheel Encoders. The IMU is mathematically isolated to only provide precise Yaw-Rate (Rotation).[!CAUTION] Ackermann Kinematics: Because this is a car-like robot, the motors cannot turn the robot 'in place' like a vacuum cleaner. All Nav2 calculations must pass through our
cmd_vel_to_steering.pyinverse-kinematic converter, which measures the hardware wheelbase ($0.255m$) to calculate the precise angular curvature of the steering servo.
[!TIP] Next Step: Proceed to 03. Deployment and Docker to set up the software environment.