DEV Community

TildAlice
TildAlice

Posted on • Originally published at tildalice.io

ROS2 Nav2 vs Custom DWA: 47ms Latency Drop on AMRs

When Stock Nav2 Costs You 47ms Per Cycle

Nav2 is the default navigation stack for ROS2, and for good reason — it's battle-tested, well-documented, and handles dynamic obstacles out of the box. But if you're running warehouse AMRs that need to dodge forklifts at 2m/s, that 72ms control loop latency starts to hurt.

I stripped Nav2 down to a custom DWA (Dynamic Window Approach) implementation and measured 25ms average latency on the same Jetson Xavier NX hardware. The difference? Cutting ROS2 lifecycle overhead, simplifying the costmap pipeline, and inlining velocity scoring. Not reinventing the wheel — just removing the parts we weren't using.

This isn't an argument to abandon Nav2 for every robot. But if you're hitting control rate limits and your environment is structured (known static map, predictable obstacle types), a leaner planner might be worth the trade-off.

Top view of a book, coffee, and cookies on a bed with white roses.

Photo by Şehâdet Yoldaç on Pexels

Why Nav2 Latency Matters for Warehouse AMRs


Continue reading the full article on TildAlice

Top comments (0)