← All projects

LiDAR-Inertial Odometry and Mapping on a Unitree Go1

SLAM algorithms are usually validated on wheels. A quadruped gives the same sensor a very different ride.

The problem

LIO-SAM fuses LiDAR and IMU into odometry and a map, and it does it well — on platforms that move smoothly. A quadruped doesn’t. Every footfall is an impulse through the sensor mount, the IMU sees gait periodicity that has nothing to do with the robot’s actual trajectory, and the point cloud is being swept by a sensor that is bobbing in three axes.

What I did

Integrated a Velodyne VLP-16 on a Unitree Go1 and brought up the full stack: drivers, the transform tree, and the launch pipeline that ties them together. Then the real work — tuning LIO-SAM’s parameters for a legged platform instead of the wheeled ones its defaults assume.

LIO-SAM running on the Go1: LiDAR-inertial odometry and live map construction during a walk.

Evaluating it honestly

A map that looks good on screen can still be wrong. I evaluated the system on real-world runs against the three things that actually matter: odometry drift over the run, whether loop closure fired when the robot returned to somewhere it had already been, and whether the resulting map stayed self-consistent instead of smearing surfaces into each other.

Map produced by LIO-SAM during a Unitree Go1 run

This one sits outside my published work, but it’s the project that taught me the most about how much of SLAM performance is sensor mounting and parameter discipline rather than algorithm choice.

More projects

See all →

Current work

Digital Twins and Edge Autonomy at Arrive AI

An autonomy stack combining RL policies with vision-language-action models, the edge inference that runs it on Jetson hardware, and a digital twin to test it before deployment.