LiDAR mountNEORACER DOCS
NEORACER DOCS
These docs are public and open source.Edit on GitHub
CALIBRATION / LIDAR MOUNT

THE LIDAR MOUNT.

Every wall-follow and gap-finder assumes that sample 0 points exactly where the car points. If the scanner sits a few degrees rotated, the whole scan rotates with it and the car steers into a wall it thinks is ahead. This one is a physical alignment, confirmed in software.

~0 minutesBeginnerMechanicalframe_id: lidar_link
FIG. A / WHAT THE INDEX MEANS
0° forward · idx 090° right · idx 180180° blind · returns 0270° left · idx 54016 m8 m25 m max
Index 0 is forward, index 180 is 90° right, index 540 is 90° left, at 0.5° per index. A yawed mount slides this whole dial off true, so forward no longer reads at 0.
01 / WHY IT MATTERS

YAW AND TILT.

Two things can be off with a planar scanner. A yaw error rotates the whole scan, so the forward reading lands at the wrong index and every angle you read is shifted. A tilt error points the plane up or down, so the beam clips the floor or the ceiling at range and reads short. Mounting it flush and square fixes both at once.

02 / YOU'LL NEED

WHAT YOU NEED.

01

A flat wall

Wide and featureless.
A blank wall gives a clean reference. Park the car squared to it with the nose pointing straight at it, so the forward sample should read the wall.
02

A tape measure

To set a known distance.
Place the car a known distance from the wall, say one metre, so the forward reading has a number to match. The scan is in centimetres.
03

The driver running

So /scan publishes.
You read the live scan to confirm the aim, so bring up the driver first. The hardware detail is on the LiDAR page.
FIG. B / FIVE STEPS, START TO FINISH
1
Seat + level
flush, square
2
$_
SSH in
to the Jetson
3
Wall test
known distance
4
Read /scan
check index 0
5
Lock it down
snug the mount
Seat the scanner flush, park square to a wall at a known distance, read the scan to confirm forward lands at index 0, then snug it down.
03 / SEAT IT

FLUSH AND SQUARE.

  • Sit the scanner flat on its mount so its scan plane is level with the floor, not nodding up or down.
  • Square it to the chassis so the zero mark faces straight forward, in line with the car's centerline.
  • Leave the screws finger-tight for now. You will nudge the yaw during the wall test, then lock it.
  • Keep the cable strain-relieved so a tug on it cannot rotate the unit later.
04 / VERIFY

THE WALL TEST.

Park the car one metre from the wall, nose square to it, in open space on the left and right. Then read forward and the two sides:

python
import racecar_core rc = racecar_core.create_racecar() def start(): pass def update(): scan = rc.lidar.get_samples() # 720 floats, cm forward = scan[0] # index 0 = straight ahead right = scan[180] # index 180 = 90 deg right (0.5 deg/index) left = scan[540] # index 540 = 90 deg left print(f"forward {forward:5.0f} cm right {right:5.0f} left {left:5.0f}") rc.set_start_update(start, update) rc.go()
  • Forward should read your tape distance (about 100 cm). Much shorter means the plane is tilted down into the floor; much longer means it is aimed over the wall.
  • The nearest point of the front arc should sit at index 0. If the closest reading is a few indices to one side, the mount is yawed by that many half-degrees. Rotate it the other way and re-read.
  • Left and right should match in a symmetric space, a quick confirmation the zero is centered.
05 / WHERE IT LIVES

WHERE IT LIVES.

The teaching driver has no fine yaw-offset parameter for the scanner, so this alignment lives in the hardware. Once the wall test reads clean, tighten the mount and you are done. If you run the osracer stack for and navigation, the mount pose is also encoded as the base_link to lidar_link transform in its , covered on the TF frames page; keep the two in agreement.