Skip to content

ROS 2 nodes wrapping core MRPT functionality: localization, autonomous navigation, rawlogs, etc. SLAM is in other packages.

License

Notifications You must be signed in to change notification settings

mrpt-ros-pkg/mrpt_navigation

Repository files navigation

CI Build colcon

Distro Build dev Stable sync
ROS 2 Humble (u22.04) Build Status Version
ROS 2 Iron (u22.04) Build Status Version
ROS 2 Jazzy (u24.04) Build Status Version
ROS 2 Rolling (u24.04) Build Status Version

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:

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.

General documentation

Individual package build status

Package ROS 2 Humble
BinBuild
ROS 2 Iron
BinBuild
ROS 2 Jazzy
BinBuild
ROS 2 Rolling
BinBuild
mrpt_map_server Build Status Build Status Build Status Build Status
mrpt_msgs_bridge Build Status Build Status Build Status Build Status
mrpt_nav_interfaces Build Status Build Status Build Status Build Status
mrpt_navigation Build Status Build Status Build Status Build Status
mrpt_pf_localization Build Status Build Status Build Status Build Status
mrpt_pointcloud_pipeline Build Status Build Status Build Status Build Status
mrpt_rawlog Build Status Build Status Build Status Build Status
mrpt_reactivenav2d Build Status Build Status Build Status Build Status
mrpt_tps_astar_planner Build Status Build Status Build Status Build Status
mrpt_tutorials Build Status Build Status Build Status Build Status

Contributing

  • 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