Repository Summary
| Description | |
| Checkout URI | https://github.com/mrpt-ros-pkg/mrpt_navigation.git |
| VCS Type | git |
| VCS Version | ros2 |
| Last Updated | 2026-10-23 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| mrpt_map_server | 2.6.1 |
| mrpt_msgs_bridge | 2.6.1 |
| mrpt_nav_interfaces | 2.6.1 |
| mrpt_navigation | 2.6.1 |
| mrpt_pf_localization | 2.6.1 |
| mrpt_pointcloud_pipeline | 2.6.1 |
| mrpt_reactivenav2d | 2.6.1 |
| mrpt_tps_astar_planner | 2.6.1 |
| mrpt_trajectory_follower | 2.6.1 |
| mrpt_tutorials | 2.6.1 |
README
| Distro | Build dev | Release |
|---|---|---|
| ROS 2 Humble (u22.04) | ||
| ROS 2 Jazzy (u24.04) | ||
| ROS 2 Kilted (u24.04) | ||
| ROS 2 Lyrical (u26.04) | ||
| ROS 2 Rolling (u26.04) |
| EOL Distro | Last version |
|---|---|
| ROS 2 Iron (u22.04) |

mrpt_navigation
This repository provides packages that wrap functionality in the Mobile Robot Programming Toolkit (MRPT) related to localization and navigation. MRPT SLAM and sensor access are wrapped into other ROS repositories.
The latest SLAM framework, whose maps are compatible with this repository for localization, is MOLA.
Documentation for each package
All packages follow REP-2003 regarding ROS 2 topic QoS.
Related to localization:
- mrpt_map_server: A node that loads a ROS standard gridmap or an MRPT or MP2P_ICP map and publishes it to a (set of) topic(s).
- mrpt_pf_localization: A node for particle filter-based localization of a robot from any kind of metric map (gridmap, points, range-only sensors, …).
Related to sensor pipelines:
-
mrpt_pointcloud_pipeline: A node that maintains a local obstacle map from recent sensor readings, including optional point cloud pipeline filtering or processing. For example,
- For 3D LIDARs, to filter by a volume or area, downsample the number of points, etc.
- For 2D laser scanners, to keep a memory of obstacles that get out of the sensor field of view.
Related to autonomous navigation:
-
mrpt_reactivenav2d: Deprecated, use
mrpt_trajectory_followerwithmrpt_tps_astar_plannerinstead. A pure reactive navigator for polygonal robots on 2D worlds. - mrpt_tps_astar_planner: A path planner based on PTG trajectories using A* in a SE(2) lattice.
Others:
- mrpt_tutorials: Launch and configuration files for the various examples provided for the other packages.
- mrpt_msgs_bridge: C++ library to convert between custom mrpt_msgs messages and native MRPT classes
- mrpt_nav_interfaces: Definition of msgs, srvs, and actions used by the other packages.
General documentation
- ROS wiki: http://wiki.ros.org/mrpt_navigation
- Compiling instructions: http://wiki.ros.org/mrpt_navigation/Tutorials/Installing
- Usage examples and tutorials: http://wiki.ros.org/mrpt_navigation/Tutorials
- Branches:
-
ros2: The most recent, active branch for modern ROS 2 distributions. -
ros1: Intended for ROS 1. No further development will happen there.
-
Individual package build status
Each cell shows one badge per OS and architecture: Ubuntu amd64 and arm64,
plus RHEL and Fedora x86_64 where the distro targets them.
Navigation demo and tests
A* planning (mrpt_tps_astar_planner) + path following
(mrpt_trajectory_follower) + localization (mrpt_pf_localization) in the
mvsim simulator. Set goals with RViz “2D Goal
Pose”:
ros2 launch mrpt_tutorials demo_astar_trajectory_follower_gridmap.launch.py \
robot:=ackermann speed_limit:=1.0
-
robot:ackermann(car-like) ordiffdrive(Jackal-like, which can also rotate in place: its plans may include rotations, which the follower executes by stopping there). -
speed_limit[m/s]:0for the platform max speed. It can be changed at run time withros2 param set /mrpt_trajectory_follower speed_limit 2.0.
The follower publishes geometry_msgs/Twist on topic_cmd_vel_pub, or
geometry_msgs/TwistStamped (frame frame_id_robot) with the launch argument
cmd_vel_stamped:=True, as expected by many ROS 2 Jazzy robots (e.g. those
using twist_mux or diff_drive_controller with stamped commands).
A Foxglove layout equivalent to the RViz setup is in
mrpt_tutorials/foxglove/astar_demo.json (import it from the Foxglove layout
menu, with foxglove_bridge running).
File truncated at 100 lines see the full file
CONTRIBUTING
Repository Summary
| Description | |
| Checkout URI | https://github.com/mrpt-ros-pkg/mrpt_navigation.git |
| VCS Type | git |
| VCS Version | ros2 |
| Last Updated | 2026-10-23 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| mrpt_map_server | 2.6.1 |
| mrpt_msgs_bridge | 2.6.1 |
| mrpt_nav_interfaces | 2.6.1 |
| mrpt_navigation | 2.6.1 |
| mrpt_pf_localization | 2.6.1 |
| mrpt_pointcloud_pipeline | 2.6.1 |
| mrpt_reactivenav2d | 2.6.1 |
| mrpt_tps_astar_planner | 2.6.1 |
| mrpt_trajectory_follower | 2.6.1 |
| mrpt_tutorials | 2.6.1 |
README
| Distro | Build dev | Release |
|---|---|---|
| ROS 2 Humble (u22.04) | ||
| ROS 2 Jazzy (u24.04) | ||
| ROS 2 Kilted (u24.04) | ||
| ROS 2 Lyrical (u26.04) | ||
| ROS 2 Rolling (u26.04) |
| EOL Distro | Last version |
|---|---|
| ROS 2 Iron (u22.04) |

mrpt_navigation
This repository provides packages that wrap functionality in the Mobile Robot Programming Toolkit (MRPT) related to localization and navigation. MRPT SLAM and sensor access are wrapped into other ROS repositories.
The latest SLAM framework, whose maps are compatible with this repository for localization, is MOLA.
Documentation for each package
All packages follow REP-2003 regarding ROS 2 topic QoS.
Related to localization:
- mrpt_map_server: A node that loads a ROS standard gridmap or an MRPT or MP2P_ICP map and publishes it to a (set of) topic(s).
- mrpt_pf_localization: A node for particle filter-based localization of a robot from any kind of metric map (gridmap, points, range-only sensors, …).
Related to sensor pipelines:
-
mrpt_pointcloud_pipeline: A node that maintains a local obstacle map from recent sensor readings, including optional point cloud pipeline filtering or processing. For example,
- For 3D LIDARs, to filter by a volume or area, downsample the number of points, etc.
- For 2D laser scanners, to keep a memory of obstacles that get out of the sensor field of view.
Related to autonomous navigation:
-
mrpt_reactivenav2d: Deprecated, use
mrpt_trajectory_followerwithmrpt_tps_astar_plannerinstead. A pure reactive navigator for polygonal robots on 2D worlds. - mrpt_tps_astar_planner: A path planner based on PTG trajectories using A* in a SE(2) lattice.
Others:
- mrpt_tutorials: Launch and configuration files for the various examples provided for the other packages.
- mrpt_msgs_bridge: C++ library to convert between custom mrpt_msgs messages and native MRPT classes
- mrpt_nav_interfaces: Definition of msgs, srvs, and actions used by the other packages.
General documentation
- ROS wiki: http://wiki.ros.org/mrpt_navigation
- Compiling instructions: http://wiki.ros.org/mrpt_navigation/Tutorials/Installing
- Usage examples and tutorials: http://wiki.ros.org/mrpt_navigation/Tutorials
- Branches:
-
ros2: The most recent, active branch for modern ROS 2 distributions. -
ros1: Intended for ROS 1. No further development will happen there.
-
Individual package build status
Each cell shows one badge per OS and architecture: Ubuntu amd64 and arm64,
plus RHEL and Fedora x86_64 where the distro targets them.
Navigation demo and tests
A* planning (mrpt_tps_astar_planner) + path following
(mrpt_trajectory_follower) + localization (mrpt_pf_localization) in the
mvsim simulator. Set goals with RViz “2D Goal
Pose”:
ros2 launch mrpt_tutorials demo_astar_trajectory_follower_gridmap.launch.py \
robot:=ackermann speed_limit:=1.0
-
robot:ackermann(car-like) ordiffdrive(Jackal-like, which can also rotate in place: its plans may include rotations, which the follower executes by stopping there). -
speed_limit[m/s]:0for the platform max speed. It can be changed at run time withros2 param set /mrpt_trajectory_follower speed_limit 2.0.
The follower publishes geometry_msgs/Twist on topic_cmd_vel_pub, or
geometry_msgs/TwistStamped (frame frame_id_robot) with the launch argument
cmd_vel_stamped:=True, as expected by many ROS 2 Jazzy robots (e.g. those
using twist_mux or diff_drive_controller with stamped commands).
A Foxglove layout equivalent to the RViz setup is in
mrpt_tutorials/foxglove/astar_demo.json (import it from the Foxglove layout
menu, with foxglove_bridge running).
File truncated at 100 lines see the full file
CONTRIBUTING
Repository Summary
| Description | |
| Checkout URI | https://github.com/mrpt-ros-pkg/mrpt_navigation.git |
| VCS Type | git |
| VCS Version | ros2 |
| Last Updated | 2026-10-23 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| mrpt_map_server | 2.6.1 |
| mrpt_msgs_bridge | 2.6.1 |
| mrpt_nav_interfaces | 2.6.1 |
| mrpt_navigation | 2.6.1 |
| mrpt_pf_localization | 2.6.1 |
| mrpt_pointcloud_pipeline | 2.6.1 |
| mrpt_reactivenav2d | 2.6.1 |
| mrpt_tps_astar_planner | 2.6.1 |
| mrpt_trajectory_follower | 2.6.1 |
| mrpt_tutorials | 2.6.1 |
README
| Distro | Build dev | Release |
|---|---|---|
| ROS 2 Humble (u22.04) | ||
| ROS 2 Jazzy (u24.04) | ||
| ROS 2 Kilted (u24.04) | ||
| ROS 2 Lyrical (u26.04) | ||
| ROS 2 Rolling (u26.04) |
| EOL Distro | Last version |
|---|---|
| ROS 2 Iron (u22.04) |

mrpt_navigation
This repository provides packages that wrap functionality in the Mobile Robot Programming Toolkit (MRPT) related to localization and navigation. MRPT SLAM and sensor access are wrapped into other ROS repositories.
The latest SLAM framework, whose maps are compatible with this repository for localization, is MOLA.
Documentation for each package
All packages follow REP-2003 regarding ROS 2 topic QoS.
Related to localization:
- mrpt_map_server: A node that loads a ROS standard gridmap or an MRPT or MP2P_ICP map and publishes it to a (set of) topic(s).
- mrpt_pf_localization: A node for particle filter-based localization of a robot from any kind of metric map (gridmap, points, range-only sensors, …).
Related to sensor pipelines:
-
mrpt_pointcloud_pipeline: A node that maintains a local obstacle map from recent sensor readings, including optional point cloud pipeline filtering or processing. For example,
- For 3D LIDARs, to filter by a volume or area, downsample the number of points, etc.
- For 2D laser scanners, to keep a memory of obstacles that get out of the sensor field of view.
Related to autonomous navigation:
-
mrpt_reactivenav2d: Deprecated, use
mrpt_trajectory_followerwithmrpt_tps_astar_plannerinstead. A pure reactive navigator for polygonal robots on 2D worlds. - mrpt_tps_astar_planner: A path planner based on PTG trajectories using A* in a SE(2) lattice.
Others:
- mrpt_tutorials: Launch and configuration files for the various examples provided for the other packages.
- mrpt_msgs_bridge: C++ library to convert between custom mrpt_msgs messages and native MRPT classes
- mrpt_nav_interfaces: Definition of msgs, srvs, and actions used by the other packages.
General documentation
- ROS wiki: http://wiki.ros.org/mrpt_navigation
- Compiling instructions: http://wiki.ros.org/mrpt_navigation/Tutorials/Installing
- Usage examples and tutorials: http://wiki.ros.org/mrpt_navigation/Tutorials
- Branches:
-
ros2: The most recent, active branch for modern ROS 2 distributions. -
ros1: Intended for ROS 1. No further development will happen there.
-
Individual package build status
Each cell shows one badge per OS and architecture: Ubuntu amd64 and arm64,
plus RHEL and Fedora x86_64 where the distro targets them.
Navigation demo and tests
A* planning (mrpt_tps_astar_planner) + path following
(mrpt_trajectory_follower) + localization (mrpt_pf_localization) in the
mvsim simulator. Set goals with RViz “2D Goal
Pose”:
ros2 launch mrpt_tutorials demo_astar_trajectory_follower_gridmap.launch.py \
robot:=ackermann speed_limit:=1.0
-
robot:ackermann(car-like) ordiffdrive(Jackal-like, which can also rotate in place: its plans may include rotations, which the follower executes by stopping there). -
speed_limit[m/s]:0for the platform max speed. It can be changed at run time withros2 param set /mrpt_trajectory_follower speed_limit 2.0.
The follower publishes geometry_msgs/Twist on topic_cmd_vel_pub, or
geometry_msgs/TwistStamped (frame frame_id_robot) with the launch argument
cmd_vel_stamped:=True, as expected by many ROS 2 Jazzy robots (e.g. those
using twist_mux or diff_drive_controller with stamped commands).
A Foxglove layout equivalent to the RViz setup is in
mrpt_tutorials/foxglove/astar_demo.json (import it from the Foxglove layout
menu, with foxglove_bridge running).
File truncated at 100 lines see the full file
CONTRIBUTING
Repository Summary
| Description | |
| Checkout URI | https://github.com/mrpt-ros-pkg/mrpt_navigation.git |
| VCS Type | git |
| VCS Version | ros2 |
| Last Updated | 2026-10-23 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| mrpt_map_server | 2.6.1 |
| mrpt_msgs_bridge | 2.6.1 |
| mrpt_nav_interfaces | 2.6.1 |
| mrpt_navigation | 2.6.1 |
| mrpt_pf_localization | 2.6.1 |
| mrpt_pointcloud_pipeline | 2.6.1 |
| mrpt_reactivenav2d | 2.6.1 |
| mrpt_tps_astar_planner | 2.6.1 |
| mrpt_trajectory_follower | 2.6.1 |
| mrpt_tutorials | 2.6.1 |
README
| Distro | Build dev | Release |
|---|---|---|
| ROS 2 Humble (u22.04) | ||
| ROS 2 Jazzy (u24.04) | ||
| ROS 2 Kilted (u24.04) | ||
| ROS 2 Lyrical (u26.04) | ||
| ROS 2 Rolling (u26.04) |
| EOL Distro | Last version |
|---|---|
| ROS 2 Iron (u22.04) |

mrpt_navigation
This repository provides packages that wrap functionality in the Mobile Robot Programming Toolkit (MRPT) related to localization and navigation. MRPT SLAM and sensor access are wrapped into other ROS repositories.
The latest SLAM framework, whose maps are compatible with this repository for localization, is MOLA.
Documentation for each package
All packages follow REP-2003 regarding ROS 2 topic QoS.
Related to localization:
- mrpt_map_server: A node that loads a ROS standard gridmap or an MRPT or MP2P_ICP map and publishes it to a (set of) topic(s).
- mrpt_pf_localization: A node for particle filter-based localization of a robot from any kind of metric map (gridmap, points, range-only sensors, …).
Related to sensor pipelines:
-
mrpt_pointcloud_pipeline: A node that maintains a local obstacle map from recent sensor readings, including optional point cloud pipeline filtering or processing. For example,
- For 3D LIDARs, to filter by a volume or area, downsample the number of points, etc.
- For 2D laser scanners, to keep a memory of obstacles that get out of the sensor field of view.
Related to autonomous navigation:
-
mrpt_reactivenav2d: Deprecated, use
mrpt_trajectory_followerwithmrpt_tps_astar_plannerinstead. A pure reactive navigator for polygonal robots on 2D worlds. - mrpt_tps_astar_planner: A path planner based on PTG trajectories using A* in a SE(2) lattice.
Others:
- mrpt_tutorials: Launch and configuration files for the various examples provided for the other packages.
- mrpt_msgs_bridge: C++ library to convert between custom mrpt_msgs messages and native MRPT classes
- mrpt_nav_interfaces: Definition of msgs, srvs, and actions used by the other packages.
General documentation
- ROS wiki: http://wiki.ros.org/mrpt_navigation
- Compiling instructions: http://wiki.ros.org/mrpt_navigation/Tutorials/Installing
- Usage examples and tutorials: http://wiki.ros.org/mrpt_navigation/Tutorials
- Branches:
-
ros2: The most recent, active branch for modern ROS 2 distributions. -
ros1: Intended for ROS 1. No further development will happen there.
-
Individual package build status
Each cell shows one badge per OS and architecture: Ubuntu amd64 and arm64,
plus RHEL and Fedora x86_64 where the distro targets them.
Navigation demo and tests
A* planning (mrpt_tps_astar_planner) + path following
(mrpt_trajectory_follower) + localization (mrpt_pf_localization) in the
mvsim simulator. Set goals with RViz “2D Goal
Pose”:
ros2 launch mrpt_tutorials demo_astar_trajectory_follower_gridmap.launch.py \
robot:=ackermann speed_limit:=1.0
-
robot:ackermann(car-like) ordiffdrive(Jackal-like, which can also rotate in place: its plans may include rotations, which the follower executes by stopping there). -
speed_limit[m/s]:0for the platform max speed. It can be changed at run time withros2 param set /mrpt_trajectory_follower speed_limit 2.0.
The follower publishes geometry_msgs/Twist on topic_cmd_vel_pub, or
geometry_msgs/TwistStamped (frame frame_id_robot) with the launch argument
cmd_vel_stamped:=True, as expected by many ROS 2 Jazzy robots (e.g. those
using twist_mux or diff_drive_controller with stamped commands).
A Foxglove layout equivalent to the RViz setup is in
mrpt_tutorials/foxglove/astar_demo.json (import it from the Foxglove layout
menu, with foxglove_bridge running).
File truncated at 100 lines see the full file
CONTRIBUTING
Repository Summary
| Description | |
| Checkout URI | https://github.com/mrpt-ros-pkg/mrpt_navigation.git |
| VCS Type | git |
| VCS Version | ros2 |
| Last Updated | 2026-10-23 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| mrpt_map_server | 2.6.1 |
| mrpt_msgs_bridge | 2.6.1 |
| mrpt_nav_interfaces | 2.6.1 |
| mrpt_navigation | 2.6.1 |
| mrpt_pf_localization | 2.6.1 |
| mrpt_pointcloud_pipeline | 2.6.1 |
| mrpt_reactivenav2d | 2.6.1 |
| mrpt_tps_astar_planner | 2.6.1 |
| mrpt_trajectory_follower | 2.6.1 |
| mrpt_tutorials | 2.6.1 |
README
| Distro | Build dev | Release |
|---|---|---|
| ROS 2 Humble (u22.04) | ||
| ROS 2 Jazzy (u24.04) | ||
| ROS 2 Kilted (u24.04) | ||
| ROS 2 Lyrical (u26.04) | ||
| ROS 2 Rolling (u26.04) |
| EOL Distro | Last version |
|---|---|
| ROS 2 Iron (u22.04) |

mrpt_navigation
This repository provides packages that wrap functionality in the Mobile Robot Programming Toolkit (MRPT) related to localization and navigation. MRPT SLAM and sensor access are wrapped into other ROS repositories.
The latest SLAM framework, whose maps are compatible with this repository for localization, is MOLA.
Documentation for each package
All packages follow REP-2003 regarding ROS 2 topic QoS.
Related to localization:
- mrpt_map_server: A node that loads a ROS standard gridmap or an MRPT or MP2P_ICP map and publishes it to a (set of) topic(s).
- mrpt_pf_localization: A node for particle filter-based localization of a robot from any kind of metric map (gridmap, points, range-only sensors, …).
Related to sensor pipelines:
-
mrpt_pointcloud_pipeline: A node that maintains a local obstacle map from recent sensor readings, including optional point cloud pipeline filtering or processing. For example,
- For 3D LIDARs, to filter by a volume or area, downsample the number of points, etc.
- For 2D laser scanners, to keep a memory of obstacles that get out of the sensor field of view.
Related to autonomous navigation:
-
mrpt_reactivenav2d: Deprecated, use
mrpt_trajectory_followerwithmrpt_tps_astar_plannerinstead. A pure reactive navigator for polygonal robots on 2D worlds. - mrpt_tps_astar_planner: A path planner based on PTG trajectories using A* in a SE(2) lattice.
Others:
- mrpt_tutorials: Launch and configuration files for the various examples provided for the other packages.
- mrpt_msgs_bridge: C++ library to convert between custom mrpt_msgs messages and native MRPT classes
- mrpt_nav_interfaces: Definition of msgs, srvs, and actions used by the other packages.
General documentation
- ROS wiki: http://wiki.ros.org/mrpt_navigation
- Compiling instructions: http://wiki.ros.org/mrpt_navigation/Tutorials/Installing
- Usage examples and tutorials: http://wiki.ros.org/mrpt_navigation/Tutorials
- Branches:
-
ros2: The most recent, active branch for modern ROS 2 distributions. -
ros1: Intended for ROS 1. No further development will happen there.
-
Individual package build status
Each cell shows one badge per OS and architecture: Ubuntu amd64 and arm64,
plus RHEL and Fedora x86_64 where the distro targets them.
Navigation demo and tests
A* planning (mrpt_tps_astar_planner) + path following
(mrpt_trajectory_follower) + localization (mrpt_pf_localization) in the
mvsim simulator. Set goals with RViz “2D Goal
Pose”:
ros2 launch mrpt_tutorials demo_astar_trajectory_follower_gridmap.launch.py \
robot:=ackermann speed_limit:=1.0
-
robot:ackermann(car-like) ordiffdrive(Jackal-like, which can also rotate in place: its plans may include rotations, which the follower executes by stopping there). -
speed_limit[m/s]:0for the platform max speed. It can be changed at run time withros2 param set /mrpt_trajectory_follower speed_limit 2.0.
The follower publishes geometry_msgs/Twist on topic_cmd_vel_pub, or
geometry_msgs/TwistStamped (frame frame_id_robot) with the launch argument
cmd_vel_stamped:=True, as expected by many ROS 2 Jazzy robots (e.g. those
using twist_mux or diff_drive_controller with stamped commands).
A Foxglove layout equivalent to the RViz setup is in
mrpt_tutorials/foxglove/astar_demo.json (import it from the Foxglove layout
menu, with foxglove_bridge running).
File truncated at 100 lines see the full file
CONTRIBUTING
Repository Summary
| Description | |
| Checkout URI | https://github.com/mrpt-ros-pkg/mrpt_navigation.git |
| VCS Type | git |
| VCS Version | ros2 |
| Last Updated | 2026-10-23 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| mrpt_map_server | 2.6.1 |
| mrpt_msgs_bridge | 2.6.1 |
| mrpt_nav_interfaces | 2.6.1 |
| mrpt_navigation | 2.6.1 |
| mrpt_pf_localization | 2.6.1 |
| mrpt_pointcloud_pipeline | 2.6.1 |
| mrpt_reactivenav2d | 2.6.1 |
| mrpt_tps_astar_planner | 2.6.1 |
| mrpt_trajectory_follower | 2.6.1 |
| mrpt_tutorials | 2.6.1 |
README
| Distro | Build dev | Release |
|---|---|---|
| ROS 2 Humble (u22.04) | ||
| ROS 2 Jazzy (u24.04) | ||
| ROS 2 Kilted (u24.04) | ||
| ROS 2 Lyrical (u26.04) | ||
| ROS 2 Rolling (u26.04) |
| EOL Distro | Last version |
|---|---|
| ROS 2 Iron (u22.04) |

mrpt_navigation
This repository provides packages that wrap functionality in the Mobile Robot Programming Toolkit (MRPT) related to localization and navigation. MRPT SLAM and sensor access are wrapped into other ROS repositories.
The latest SLAM framework, whose maps are compatible with this repository for localization, is MOLA.
Documentation for each package
All packages follow REP-2003 regarding ROS 2 topic QoS.
Related to localization:
- mrpt_map_server: A node that loads a ROS standard gridmap or an MRPT or MP2P_ICP map and publishes it to a (set of) topic(s).
- mrpt_pf_localization: A node for particle filter-based localization of a robot from any kind of metric map (gridmap, points, range-only sensors, …).
Related to sensor pipelines:
-
mrpt_pointcloud_pipeline: A node that maintains a local obstacle map from recent sensor readings, including optional point cloud pipeline filtering or processing. For example,
- For 3D LIDARs, to filter by a volume or area, downsample the number of points, etc.
- For 2D laser scanners, to keep a memory of obstacles that get out of the sensor field of view.
Related to autonomous navigation:
-
mrpt_reactivenav2d: Deprecated, use
mrpt_trajectory_followerwithmrpt_tps_astar_plannerinstead. A pure reactive navigator for polygonal robots on 2D worlds. - mrpt_tps_astar_planner: A path planner based on PTG trajectories using A* in a SE(2) lattice.
Others:
- mrpt_tutorials: Launch and configuration files for the various examples provided for the other packages.
- mrpt_msgs_bridge: C++ library to convert between custom mrpt_msgs messages and native MRPT classes
- mrpt_nav_interfaces: Definition of msgs, srvs, and actions used by the other packages.
General documentation
- ROS wiki: http://wiki.ros.org/mrpt_navigation
- Compiling instructions: http://wiki.ros.org/mrpt_navigation/Tutorials/Installing
- Usage examples and tutorials: http://wiki.ros.org/mrpt_navigation/Tutorials
- Branches:
-
ros2: The most recent, active branch for modern ROS 2 distributions. -
ros1: Intended for ROS 1. No further development will happen there.
-
Individual package build status
Each cell shows one badge per OS and architecture: Ubuntu amd64 and arm64,
plus RHEL and Fedora x86_64 where the distro targets them.
Navigation demo and tests
A* planning (mrpt_tps_astar_planner) + path following
(mrpt_trajectory_follower) + localization (mrpt_pf_localization) in the
mvsim simulator. Set goals with RViz “2D Goal
Pose”:
ros2 launch mrpt_tutorials demo_astar_trajectory_follower_gridmap.launch.py \
robot:=ackermann speed_limit:=1.0
-
robot:ackermann(car-like) ordiffdrive(Jackal-like, which can also rotate in place: its plans may include rotations, which the follower executes by stopping there). -
speed_limit[m/s]:0for the platform max speed. It can be changed at run time withros2 param set /mrpt_trajectory_follower speed_limit 2.0.
The follower publishes geometry_msgs/Twist on topic_cmd_vel_pub, or
geometry_msgs/TwistStamped (frame frame_id_robot) with the launch argument
cmd_vel_stamped:=True, as expected by many ROS 2 Jazzy robots (e.g. those
using twist_mux or diff_drive_controller with stamped commands).
A Foxglove layout equivalent to the RViz setup is in
mrpt_tutorials/foxglove/astar_demo.json (import it from the Foxglove layout
menu, with foxglove_bridge running).
File truncated at 100 lines see the full file
CONTRIBUTING
Repository Summary
| Description | |
| Checkout URI | https://github.com/mrpt-ros-pkg/mrpt_navigation.git |
| VCS Type | git |
| VCS Version | ros2 |
| Last Updated | 2026-10-23 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| mrpt_map_server | 2.6.1 |
| mrpt_msgs_bridge | 2.6.1 |
| mrpt_nav_interfaces | 2.6.1 |
| mrpt_navigation | 2.6.1 |
| mrpt_pf_localization | 2.6.1 |
| mrpt_pointcloud_pipeline | 2.6.1 |
| mrpt_reactivenav2d | 2.6.1 |
| mrpt_tps_astar_planner | 2.6.1 |
| mrpt_trajectory_follower | 2.6.1 |
| mrpt_tutorials | 2.6.1 |
README
| Distro | Build dev | Release |
|---|---|---|
| ROS 2 Humble (u22.04) | ||
| ROS 2 Jazzy (u24.04) | ||
| ROS 2 Kilted (u24.04) | ||
| ROS 2 Lyrical (u26.04) | ||
| ROS 2 Rolling (u26.04) |
| EOL Distro | Last version |
|---|---|
| ROS 2 Iron (u22.04) |

mrpt_navigation
This repository provides packages that wrap functionality in the Mobile Robot Programming Toolkit (MRPT) related to localization and navigation. MRPT SLAM and sensor access are wrapped into other ROS repositories.
The latest SLAM framework, whose maps are compatible with this repository for localization, is MOLA.
Documentation for each package
All packages follow REP-2003 regarding ROS 2 topic QoS.
Related to localization:
- mrpt_map_server: A node that loads a ROS standard gridmap or an MRPT or MP2P_ICP map and publishes it to a (set of) topic(s).
- mrpt_pf_localization: A node for particle filter-based localization of a robot from any kind of metric map (gridmap, points, range-only sensors, …).
Related to sensor pipelines:
-
mrpt_pointcloud_pipeline: A node that maintains a local obstacle map from recent sensor readings, including optional point cloud pipeline filtering or processing. For example,
- For 3D LIDARs, to filter by a volume or area, downsample the number of points, etc.
- For 2D laser scanners, to keep a memory of obstacles that get out of the sensor field of view.
Related to autonomous navigation:
-
mrpt_reactivenav2d: Deprecated, use
mrpt_trajectory_followerwithmrpt_tps_astar_plannerinstead. A pure reactive navigator for polygonal robots on 2D worlds. - mrpt_tps_astar_planner: A path planner based on PTG trajectories using A* in a SE(2) lattice.
Others:
- mrpt_tutorials: Launch and configuration files for the various examples provided for the other packages.
- mrpt_msgs_bridge: C++ library to convert between custom mrpt_msgs messages and native MRPT classes
- mrpt_nav_interfaces: Definition of msgs, srvs, and actions used by the other packages.
General documentation
- ROS wiki: http://wiki.ros.org/mrpt_navigation
- Compiling instructions: http://wiki.ros.org/mrpt_navigation/Tutorials/Installing
- Usage examples and tutorials: http://wiki.ros.org/mrpt_navigation/Tutorials
- Branches:
-
ros2: The most recent, active branch for modern ROS 2 distributions. -
ros1: Intended for ROS 1. No further development will happen there.
-
Individual package build status
Each cell shows one badge per OS and architecture: Ubuntu amd64 and arm64,
plus RHEL and Fedora x86_64 where the distro targets them.
Navigation demo and tests
A* planning (mrpt_tps_astar_planner) + path following
(mrpt_trajectory_follower) + localization (mrpt_pf_localization) in the
mvsim simulator. Set goals with RViz “2D Goal
Pose”:
ros2 launch mrpt_tutorials demo_astar_trajectory_follower_gridmap.launch.py \
robot:=ackermann speed_limit:=1.0
-
robot:ackermann(car-like) ordiffdrive(Jackal-like, which can also rotate in place: its plans may include rotations, which the follower executes by stopping there). -
speed_limit[m/s]:0for the platform max speed. It can be changed at run time withros2 param set /mrpt_trajectory_follower speed_limit 2.0.
The follower publishes geometry_msgs/Twist on topic_cmd_vel_pub, or
geometry_msgs/TwistStamped (frame frame_id_robot) with the launch argument
cmd_vel_stamped:=True, as expected by many ROS 2 Jazzy robots (e.g. those
using twist_mux or diff_drive_controller with stamped commands).
A Foxglove layout equivalent to the RViz setup is in
mrpt_tutorials/foxglove/astar_demo.json (import it from the Foxglove layout
menu, with foxglove_bridge running).
File truncated at 100 lines see the full file
CONTRIBUTING
Repository Summary
| Description | |
| Checkout URI | https://github.com/mrpt-ros-pkg/mrpt_navigation.git |
| VCS Type | git |
| VCS Version | ros2 |
| Last Updated | 2026-10-23 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| mrpt_map_server | 2.6.1 |
| mrpt_msgs_bridge | 2.6.1 |
| mrpt_nav_interfaces | 2.6.1 |
| mrpt_navigation | 2.6.1 |
| mrpt_pf_localization | 2.6.1 |
| mrpt_pointcloud_pipeline | 2.6.1 |
| mrpt_reactivenav2d | 2.6.1 |
| mrpt_tps_astar_planner | 2.6.1 |
| mrpt_trajectory_follower | 2.6.1 |
| mrpt_tutorials | 2.6.1 |
README
| Distro | Build dev | Release |
|---|---|---|
| ROS 2 Humble (u22.04) | ||
| ROS 2 Jazzy (u24.04) | ||
| ROS 2 Kilted (u24.04) | ||
| ROS 2 Lyrical (u26.04) | ||
| ROS 2 Rolling (u26.04) |
| EOL Distro | Last version |
|---|---|
| ROS 2 Iron (u22.04) |

mrpt_navigation
This repository provides packages that wrap functionality in the Mobile Robot Programming Toolkit (MRPT) related to localization and navigation. MRPT SLAM and sensor access are wrapped into other ROS repositories.
The latest SLAM framework, whose maps are compatible with this repository for localization, is MOLA.
Documentation for each package
All packages follow REP-2003 regarding ROS 2 topic QoS.
Related to localization:
- mrpt_map_server: A node that loads a ROS standard gridmap or an MRPT or MP2P_ICP map and publishes it to a (set of) topic(s).
- mrpt_pf_localization: A node for particle filter-based localization of a robot from any kind of metric map (gridmap, points, range-only sensors, …).
Related to sensor pipelines:
-
mrpt_pointcloud_pipeline: A node that maintains a local obstacle map from recent sensor readings, including optional point cloud pipeline filtering or processing. For example,
- For 3D LIDARs, to filter by a volume or area, downsample the number of points, etc.
- For 2D laser scanners, to keep a memory of obstacles that get out of the sensor field of view.
Related to autonomous navigation:
-
mrpt_reactivenav2d: Deprecated, use
mrpt_trajectory_followerwithmrpt_tps_astar_plannerinstead. A pure reactive navigator for polygonal robots on 2D worlds. - mrpt_tps_astar_planner: A path planner based on PTG trajectories using A* in a SE(2) lattice.
Others:
- mrpt_tutorials: Launch and configuration files for the various examples provided for the other packages.
- mrpt_msgs_bridge: C++ library to convert between custom mrpt_msgs messages and native MRPT classes
- mrpt_nav_interfaces: Definition of msgs, srvs, and actions used by the other packages.
General documentation
- ROS wiki: http://wiki.ros.org/mrpt_navigation
- Compiling instructions: http://wiki.ros.org/mrpt_navigation/Tutorials/Installing
- Usage examples and tutorials: http://wiki.ros.org/mrpt_navigation/Tutorials
- Branches:
-
ros2: The most recent, active branch for modern ROS 2 distributions. -
ros1: Intended for ROS 1. No further development will happen there.
-
Individual package build status
Each cell shows one badge per OS and architecture: Ubuntu amd64 and arm64,
plus RHEL and Fedora x86_64 where the distro targets them.
Navigation demo and tests
A* planning (mrpt_tps_astar_planner) + path following
(mrpt_trajectory_follower) + localization (mrpt_pf_localization) in the
mvsim simulator. Set goals with RViz “2D Goal
Pose”:
ros2 launch mrpt_tutorials demo_astar_trajectory_follower_gridmap.launch.py \
robot:=ackermann speed_limit:=1.0
-
robot:ackermann(car-like) ordiffdrive(Jackal-like, which can also rotate in place: its plans may include rotations, which the follower executes by stopping there). -
speed_limit[m/s]:0for the platform max speed. It can be changed at run time withros2 param set /mrpt_trajectory_follower speed_limit 2.0.
The follower publishes geometry_msgs/Twist on topic_cmd_vel_pub, or
geometry_msgs/TwistStamped (frame frame_id_robot) with the launch argument
cmd_vel_stamped:=True, as expected by many ROS 2 Jazzy robots (e.g. those
using twist_mux or diff_drive_controller with stamped commands).
A Foxglove layout equivalent to the RViz setup is in
mrpt_tutorials/foxglove/astar_demo.json (import it from the Foxglove layout
menu, with foxglove_bridge running).
File truncated at 100 lines see the full file
CONTRIBUTING
|
mrpt_navigation repositorymrpt_local_obstacles mrpt_localization mrpt_map mrpt_msgs_bridge mrpt_navigation mrpt_rawlog mrpt_reactivenav2d mrpt_tutorials |
ROS Distro
|
Repository Summary
| Description | |
| Checkout URI | https://github.com/mrpt-ros-pkg/mrpt_navigation.git |
| VCS Type | git |
| VCS Version | ros1 |
| Last Updated | 2025-10-25 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| mrpt_local_obstacles | 1.0.7 |
| mrpt_localization | 1.0.7 |
| mrpt_map | 1.0.7 |
| mrpt_msgs_bridge | 1.0.7 |
| mrpt_navigation | 1.0.7 |
| mrpt_rawlog | 1.0.7 |
| mrpt_reactivenav2d | 1.0.7 |
| mrpt_tutorials | 1.0.7 |
README
| Distro | Build dev | Build release | Stable sync |
|---|---|---|---|
| ROS1 Noetic (u20.04) |

mrpt_navigation
This repository provides packages and tools related to the Mobile Robot Programming Toolkit (MRPT).
- ROS wiki: http://wiki.ros.org/mrpt_navigation
- Compiling instructions: http://wiki.ros.org/mrpt_navigation/Tutorials/Installing
- Usage examples and tutorials: http://wiki.ros.org/mrpt_navigation/Tutorials
- Branches:
-
ros1: Intended for use with latest MRPT versions (>=2.0.x) and ROS1. -
compat-mrpt-1.3: DEPRECATED. Stall branch, archived for backwards compatibility with MRPT versions 1.3.x or older.
-
Demo videos
- Localization with particle filters:
CONTRIBUTING
|
mrpt_navigation repositorymrpt_local_obstacles mrpt_localization mrpt_map mrpt_msgs_bridge mrpt_navigation mrpt_rawlog mrpt_reactivenav2d mrpt_tutorials |
ROS Distro
|
Repository Summary
| Description | |
| Checkout URI | https://github.com/mrpt-ros-pkg/mrpt_navigation.git |
| VCS Type | git |
| VCS Version | ros1 |
| Last Updated | 2025-10-25 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| mrpt_local_obstacles | 1.0.7 |
| mrpt_localization | 1.0.7 |
| mrpt_map | 1.0.7 |
| mrpt_msgs_bridge | 1.0.7 |
| mrpt_navigation | 1.0.7 |
| mrpt_rawlog | 1.0.7 |
| mrpt_reactivenav2d | 1.0.7 |
| mrpt_tutorials | 1.0.7 |
README
| Distro | Build dev | Build release | Stable sync |
|---|---|---|---|
| ROS1 Noetic (u20.04) |

mrpt_navigation
This repository provides packages and tools related to the Mobile Robot Programming Toolkit (MRPT).
- ROS wiki: http://wiki.ros.org/mrpt_navigation
- Compiling instructions: http://wiki.ros.org/mrpt_navigation/Tutorials/Installing
- Usage examples and tutorials: http://wiki.ros.org/mrpt_navigation/Tutorials
- Branches:
-
ros1: Intended for use with latest MRPT versions (>=2.0.x) and ROS1. -
compat-mrpt-1.3: DEPRECATED. Stall branch, archived for backwards compatibility with MRPT versions 1.3.x or older.
-
Demo videos
- Localization with particle filters:
