Distro | Build dev | Stable sync |
---|---|---|
ROS 2 Humble (u22.04) | ||
ROS 2 Iron (u22.04) | ||
ROS 2 Jazzy (u24.04) | ||
ROS 2 Rolling (u24.04) |
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.
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: 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_rawlog: Nodes and CLI tools to convert between MRPT rawlog format and ROS rosbag2.
- 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.
- 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.
-
Code formatting: We use clang-format to ensure formatting consistency in the code base. Set up your IDE to automatically use clang-format-11, use
git clang-format-11
, or invoke it manually from the root directory as:find . -iname *.hpp -o -iname *.cpp -o -iname *.h | xargs clang-format-11 -i
Contributors