Chiyun Noh1*
·
Sangwoo Jung1*
·
Hanjun Kim1
·
Yafei Hu2
·
Laura Herlant2
·
Ayoung Kim1†
1Robust Perception and Mobile Robotics Lab (RPM)
2Robotics and AI Institute (RAI)
*Indicates Equal Contribution
This repository contains the code for GaRLILEO: Gravity-aligned Radar-Leg-Inertial Enhanced Odometry.
Table of Contents
[19/11/2025]: Full code of GaRLILEO released.
click to expand
Deployment of legged robots for navigating challenging terrains (eg. stairs, slopes, and unstructured environments) has gained increasing preference over wheel-based platforms. In such scenarios, accurate odometry estimation is a preliminary requirement for stable locomotion, localization, and mapping. Traditional proprioceptive approaches, which rely on leg kinematics sensor modalities and inertial sensing, suffer from irrepressible vertical drift caused by frequent contact impacts, foot slippage, and vibrations, particularly affected by inaccurate roll and pitch estimation. Existing methods incorporate exteroceptive sensors such as LiDAR or cameras. Further enhancement has been introduced by leveraging gravity vector estimation to add additional observations on roll and pitch, thereby increasing the accuracy of vertical pose estimation. However, these approaches tend to degrade in feature-sparse or repetitive scenes and are prone to errors from double-integrated IMU acceleration. To address these challenges, we propose GaRLILEO, a novel gravity-aligned continuous-time radar-leg-inertial odometry framework. GaRLILEO decouples velocity from the IMU by building a continuous-time ego-velocity spline from SoC radar Doppler and leg kinematics information, enabling seamless sensor fusion which mitigates odometry distortion. In addition, GaRLILEO can reliably capture accurate gravity vectors leveraging a novel soft S2-constrained gravity factor, improving vertical pose accuracy without relying on LiDAR or cameras. Evaluated on a self-collected real-world dataset with diverse indoor-outdoor trajectories, GaRLILEO demonstrates state-of-the-art accuracy, particularly in vertical odometry estimation on stairs and slopes. We open-source both our dataset and algorithm to foster further research in legged robot odometry and SLAM.The code is tested on:
- Linux 22.04 LTS
- ROS2 Humble
- Cers 2.2.0
- PCL 1.13.0
- EIGEN 3.4.0
cd ~/ros2_ws
git clone --recursive https://github.com/ChiyunNoh/GaRLILEO.git
git clone https://github.com/SangwooJung98/SPOT_ego_Velocity.git
cd GaRLILEO
chmod +x build_thirdparty.sh
./build_thirdparty.shImportant
Before build the project, set the OutputPath in ./GaRLILEO/dataset/{Sequence}/config.yaml and the default_bag_path in ./GaRLILEO/launch/{the-launch-filename}.launch.py.
cd ..
colcon build
source install/setup.bashros2 launch garlileo {the-launch-filename}.launch.pycd ~/ros2_ws
git clone --recursive https://github.com/ChiyunNoh/GaRLILEO.git
git clone https://github.com/SangwooJung98/SPOT_ego_Velocity.gitImportant
- Set PROJECT_DIR and DATASET_DIR in
./GaRLILEO/docker/run.sh. - Set OutputPath in
./GaRLILEO/dataset/{Sequence}/config.yamlto/root/ros2_ws/results. - Set default_bag_path in
./GaRLILEO/launch/{the-launch-filename}.launch.pyto/root/data.
cd GaRLILEO/docker
sudo bash ./build.sh
sudo bash ./run.sh
git config --global --add safe.directory '*'
cd GaRLILEO
sudo ./build_thirdparty.sh
cd ..
colcon build
source install/setup.bash
ros2 launch garlileo {the-launch-filename}.launch.pySpecial thanks to the members of the Robotics and AI Institute (RAI) for their support in conducting experiments and for many insightful discussions.
Our code is based on River.
@article{noh2025garlileo,
title={GaRLILEO: Gravity-aligned Radar-Leg-Inertial Enhanced Odometry},
author={Chiyun Noh and Sangwoo Jung and Hanjun Kim and Yafei Hu and Laura Herlant and Ayoung Kim},
journal={arXiv preprint arXiv:2511.13216},
year={2025}
}
If you have any questions, please contact:
- Chiyun Noh {gch06208@snu.ac.kr}

