IMU biasNEORACER DOCS
NEORACER DOCS
These docs are public and open source.Edit on GitHub
CALIBRATION / IMU BIAS

IMU BIAS.

A raw accelerometer reads a small, steady offset even when the car is dead still. On the NeoRacer that correction happens on the MCU (microcontroller unit): the firmware zeroes the offsets and fuses the orientation before the data ever reaches ROS, so there are no calibration scripts or YAML files to manage. Your job is a two-minute check that the numbers look right.

~0 minutesVerify, not tuneFirmware-fused, ~200 Hz
1
Car still
flat and level
2
$_
SSH in
to the Jetson
3
Read /imu
one message
4
Check accel
~9.8 down, ~0 elsewhere
5
Check gyro
all axes near 0
01 / WHAT BIAS IS

THE OFFSET AT REST.

Every chip has manufacturing offsets: a gyroscope that reports a tiny rotation while sitting still, an accelerometer a hair off on one axis. Left uncorrected, those errors integrate into drift, which is why every serious robot removes them. The NeoRacer removes them in firmware, at the source, and streams the corrected state at ~200 Hz.

02 / VERIFY AT REST

VERIFY AT REST.

Put the car on a flat, level surface and leave it alone while you read one message:

bash
ssh racecar@192.168.10.100 # or 10.42.0.1 on the access point ros2 topic echo /imu --once
  • linear_acceleration: roughly 9.8 on the axis pointing down (gravity counts), near 0 on the other two.
  • angular_velocity: all three axes near 0 while nothing moves.
  • orientation: a steady quaternion that stops changing once the car settles.
03 / IF THE NUMBERS ARE OFF

WHEN IT DRIFTS.

A large offset at rest, or a yaw that keeps creeping while the car sits still, points at the firmware's stored correction rather than anything on the Jetson. Re-flashing the firmware (covered in Firmware flashing) restores it, and support@neobotics.org can confirm whether a reading you are seeing is in the normal range.