Nav2 Kilted Release!

Howdy everyone! Its your Friendly Neighborhood Navigator here to announce Nav2’s Kilted Release - including our first distribution release logo inspired by ROS 2 Kilted!

This release marks contributions from over 40 unique contributors bringing our total up to 310 over our project’s history! I want to personally thank all Nav2 contributors for the on-going support, contribution, and involvement in the community! If you are attending ROSCon 2025 in Singapore and have contributed to Nav2 this year, I have a set of limited edition Nav2 Kilted stickers to give out!

This is a major release with a litany of important fixes and new features. To see the full list, check out our Migration Guide and new(-ish) website: https://nav2.org/!

  • Kilted is the first release with the new Nav2 Route Server, previously announced this year
  • Behavior Tree Navigators now return not only Error Codes from Task Servers, but also Error Messages for additional contextual error handling by applications and behavior trees. These are populated by every task server and can be used in all scopes of Nav2. This does involve a breaking change for how error codes are specified in user configurations, so make sure to update your yaml files accordingly
  • The default command velocity type is now geometry_msgs/TwistStamped by user demand
  • There’s a new Loopback Simulator which treats velocity commands as odometry for a low-overhead simulator for testing planning and high level behaviors without localization or execution error. This provides a ‘frictionless vaccuum’-style simulation capability.
  • Nav2 Docking now works with static infrastructure, no longer just charging docks - including a new user-contributed Rviz2 panel to help setup and test docking
  • The Rotation Shim Controller has a disengagement threshold so that it can be configured to rotate to align to the path more accurately before passing off to the main controller plugin
  • A new Plugin Container Layer to create more complex costmap combinations such as inflating different obstacle layers or obstacle detections for behavior specific to object classes
  • ComputePathThroughPoses, NavigateThroughPoses now use nav_msgs/Goals instead of vector<PoseStamped> to represent the series of goal to navigate through
  • MPPI is now 45% faster by a migration to Eigen and optimizations in data layouts
  • All service clients and servers now offer Service Introspection
  • Nav2 Turtlebot4 bring up now includes examples using Route, Keepout and Speed Filters out of the box

And much more!

I’m looking forward to the next release with exciting new integrations and capabilities planned to make our community and users even stronger.

Happy Navigating!

Steve Macenski
Open Navigation

17 Likes