Sitemap

Member-only story

Making Your State Estimator ROS 2 Compliant (REP-105)

7 min readJun 29, 2026

--

I have been having so much fun building and testing my custom state estimator. Although I am designing it to be framework-agnostic, I am building a dedicated ROS 2 layer. ROS 2 is the obvious choice for prototyping the System 1 / System 2 (Physical AI, Embodied AI, or whatever trendy term you prefer) architecture.

Clearly, the state estimator acts as a core component of a robot’s navigation stack. I am not entirely convinced that Nav2 — the standard navigation stack for ROS 2 — is the definitive choice for System 1 / System 2 research, given that it is built around the classical “sense-think-act” robotics loop. Nevertheless, I need to validate my estimator against it to determine whether Nav2 is a keeper or something we will need to replace moving forward.

To make any state estimation algorithm compatible with Nav2 and the broader ROS 2 ecosystem, it must comply with REP-105.

REP stands for ROS Enhancement Proposal. These are design and standard documents used to establish coding conventions, propose new features, or define technical specifications for the ROS community. REP-105 specifically defines the naming conventions and semantic meanings for the coordinate frames of mobile platforms. While it explicitly mentions mobile robots, almost every other robotic embodiment uses REP-105 with very minor modifications.

The Coordinate Frame Chain

--

--

Carlos Argueta
Carlos Argueta

Written by Carlos Argueta

Working on Autonomy for Mobile Robots with an emphasis on State Estimation and the Perception Stack. I occasionally also work on Natural Language Processing.