Package Summary

Tags No category tags.
Version 2.2.2
License BSD
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/mrpt-ros-pkg/mrpt_navigation.git
VCS Type git
VCS Version ros2
Last Updated 2025-05-28
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

This package provides a ROS 2 node that publishes a static map for other nodes to use it. Unlike classic ROS 1 ``map_server``, this node can publish a range of different metric maps, not only occupancy grids.

Additional Links

Maintainers

  • Markus Bader
  • Jose Luis Blanco-Claraco
  • Shravan S Rai

Authors

No additional authors.

mrpt_map_server

Table of Contents

Overview

This package provides a ROS 2 node that publishes a static map for other nodes to use it. Unlike classic ROS 1 map_server, this node can publish a range of different metric maps, not only occupancy grids.

Node: mrpt_map_server

Working rationale

The C++ ROS 2 node loads all parameters at start up, loads the map as requested by parameters, and publishes the metric map in the corresponding topics. Messages are sent as transient local, so new subscribers can receive them even if they start afterwards.

There are three formats in which maps can be read:

  1. The preferred format is as an mp2p_icp’s metric map file (*.mm), normally generated via sm2mm from a MRPT “simplemap” (*.simplemap) that comes from a SLAM session, e.g. using mola_lidar_odometry.

  2. As a ROS standard YAML file. Here, a *.yaml file specifies the metadata of a 2D occupancy gridmap, which is stored as an accompanying image file. The map will be actually encapsulated into a metric_map_t map with layer name map.

  3. As a serialized MRPT metric map file. A *.metricmap file contains any of the existing MRPT metric maps (point clouds, grid maps, etc.), which may come from custom applications or other SLAM packages. The map will be actually encapsulated into a metric_map_t map with layer name map.

So, whatever is the map source, this node will internally build a metric_map_t with one or more map layers, so it gets published in a uniform way to subscribers.

Refer to example launch files at the end of this file for examples of usage of each of these methods.

ROS Parameters

  • (Option 1 above) mm_file (Default=undefined). Determine the metric_map_t file to load, coming from sm2mm or any other custom user application using mp2p_icp.
  • (Option 2 above) map_yaml_file (Default=undefined): Define this parameter to load a ROS standard YAML file gridmap.
  • (Option 3 above) mrpt_metricmap_file (Default=undefined).
  • frame_id (Default=map): TF frame.
  • pub_mm_topic (Default=mrpt_map). Despite the map source, it will be eventually stored as a mp2p_icp’s metric_map_t (*.mm) structure, then each layer will be published using its layer name as a topic name and with the appropriate type (e.g. PointCloud2, OccupancyGrid,…). Also, the whole metric map is published as a generic serialized object to the topic defined by the parameter pub_mm_topic.

Subscribed topics

None.

Published topics

  • ${pub_mm_topic}/metric_map (Default: mrpt_map/metric_map) (mrpt_msgs::msg::GenericObject) (topic name can be changed with parameter pub_mm_topic).
  • ${pub_mm_topic}/geo_ref (Default: mrpt_map/geo_ref) (mrpt_msgs::msg::GenericObject). An MRPT-serialization of mp2p_icp::metric_map_t::Georeferencing metadata (topic name can be changed with parameter pub_mm_topic).
  • ${pub_mm_topic}/geo_ref_metadata (Default: mrpt_map/geo_ref_metadata)(mrpt_nav_interfaces::msgs::msg::GeoreferencingMetadata). A ROS plain message with the contents of mp2p_icp::metric_map_t::Georeferencing metadata.
  • ${pub_mm_topic}/<LAYER_NAME> (Default: mrpt_map/<LAYER_NAME>) (mrpt_msgs::msg::GenericObject)
  • ${pub_mm_topic}/<LAYER_NAME>_points (sensor_msgs::msg::PointCloud2), one per map layer.
  • ${pub_mm_topic}/<LAYER_NAME>_gridmap (nav_msgs::msg::OccupancyGrid)
  • ${pub_mm_topic}/<LAYER_NAME>_gridmap_metadata (nav_msgs::msg::MapMetaData)
  • (… one per map layer …)

If using options 2 or 3 above, there will be just one layer named map.

Published tf and geo-referenced maps

Refer to the documentation within the MOLA project on geo-referencing for a description of the utm and enu frames, defined by this package if fed with a *.mm file with geo-referenced metadata.

mola_mrpt_ros_geo_referenced_utm_frames

Services

  • GetLayers: Returns the list of map layer names:
# Example usage:
ros2 service call /map_server_node/get_layers  mrpt_nav_interfaces/srv/GetLayers
requester: making request: mrpt_nav_interfaces.srv.GetLayers_Request()

response:
mrpt_nav_interfaces.srv.GetLayers_Response(layers=['map'])

  • GetGridmapLayer: Can be used to request a given map layer of type gridmap.

```bash

Example usage:

ros2 service call /map_server_node/get_grid_layer mrpt_nav_interfaces/srv/GetGridmapLayer “layer_name:
‘map’”

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package mrpt_map_server

2.2.2 (2025-05-28)

  • FIX: remove usage of obsolete ament_target_dependencies()
  • Contributors: Jose Luis Blanco-Claraco

2.2.1 (2024-10-12)

2.2.0 (2024-09-25)

  • Merge pull request #149 from mrpt-ros-pkg/feature/utm-coordinates Support UTM global coordinates for geo-referenciated maps
  • Update package.xml: minimum required version of mp2p_icp
  • mrpt_map_server now publishes the map georeferenciation metadata, as topics and /tf (frames: utm, enu)
  • Update URL entries in package.xml to each package proper documentation
  • ament linters: manually enable just cmake and xml linters
  • reformat clang-format with 100 column width
  • Update README.md with geo-referenciation concepts
  • Contributors: Jose Luis Blanco-Claraco

2.1.1 (2024-09-02)

  • Remove temporary workaround in <depends> for buggy mrpt_libros_bridge package.xml
  • update dependencies
  • Depend on new mrpt_lib packages (deprecate mrpt2)
  • Contributors: Jose Luis Blanco-Claraco
  • Remove temporary workaround in <depends> for buggy mrpt_libros_bridge package.xml
  • update dependencies
  • Depend on new mrpt_lib packages (deprecate mrpt2)
  • Contributors: Jose Luis Blanco-Claraco

2.1.0 (2024-08-08)

  • docs: typos and clarifications
  • map server: simplify publication policy. Using transient local only and never republishing them
  • Merge branch 'ros2' into wip/port-tps-astar
  • Merge branch 'ros2' into wip/port-tps-astar
  • Contributors: Jose Luis Blanco-Claraco

2.0.1 (2024-05-28)

2.0.0 (2024-05-28)

  • Implement map getter services
  • Define map_server services
  • Comply with ROS2 REP-2003
  • new param force_republish_period
  • map_server: publish voxelmaps as points too
  • map_server: Implement publishing from .mm files
  • Rename mrpt_map: mrpt_map_server
  • Contributors: Jose Luis Blanco-Claraco

1.0.3 (2022-06-25)

1.0.2 (2022-06-25)

1.0.1 (2022-06-24)

  • Fix build errors
  • Removed now obsolete tf_prefix
  • Ported to tf2 and mrpt::ros1bridge
  • Contributors: Jose Luis Blanco-Claraco

1.0.0 (2022-04-30)

  • Update URLs to https
  • Update build dep to mrpt2
  • Contributors: Jose Luis Blanco Claraco

0.1.26 (2019-10-05)

0.1.25 (2019-10-04)

0.1.24 (2019-04-12)

  • fix build against mrpt-1.5
  • Fix build against MRPT 1.9.9
  • Contributors: Inounx, Jose Luis Blanco-Claraco, Julian Lopez Velasquez

0.1.23 (2018-06-14)

0.1.20 (2018-04-26)

  • fix build against mrpt 2.0
  • partial fix build w mrpt 2.0
  • optimized build (-O3)
  • fix use c++14
  • Merge branch 'master' of github.com:tuw-robotics/mrpt_navigation
  • Merge branch 'master' into master
  • CMake finds MRPT >=1.5 in ROS master branch
  • Merge branch 'master' into compat-mrpt-1.5

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mrpt_map_server at Robotics Stack Exchange

Package Summary

Tags No category tags.
Version 2.2.2
License BSD
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/mrpt-ros-pkg/mrpt_navigation.git
VCS Type git
VCS Version ros2
Last Updated 2025-05-28
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

This package provides a ROS 2 node that publishes a static map for other nodes to use it. Unlike classic ROS 1 ``map_server``, this node can publish a range of different metric maps, not only occupancy grids.

Additional Links

Maintainers

  • Markus Bader
  • Jose Luis Blanco-Claraco
  • Shravan S Rai

Authors

No additional authors.

mrpt_map_server

Table of Contents

Overview

This package provides a ROS 2 node that publishes a static map for other nodes to use it. Unlike classic ROS 1 map_server, this node can publish a range of different metric maps, not only occupancy grids.

Node: mrpt_map_server

Working rationale

The C++ ROS 2 node loads all parameters at start up, loads the map as requested by parameters, and publishes the metric map in the corresponding topics. Messages are sent as transient local, so new subscribers can receive them even if they start afterwards.

There are three formats in which maps can be read:

  1. The preferred format is as an mp2p_icp’s metric map file (*.mm), normally generated via sm2mm from a MRPT “simplemap” (*.simplemap) that comes from a SLAM session, e.g. using mola_lidar_odometry.

  2. As a ROS standard YAML file. Here, a *.yaml file specifies the metadata of a 2D occupancy gridmap, which is stored as an accompanying image file. The map will be actually encapsulated into a metric_map_t map with layer name map.

  3. As a serialized MRPT metric map file. A *.metricmap file contains any of the existing MRPT metric maps (point clouds, grid maps, etc.), which may come from custom applications or other SLAM packages. The map will be actually encapsulated into a metric_map_t map with layer name map.

So, whatever is the map source, this node will internally build a metric_map_t with one or more map layers, so it gets published in a uniform way to subscribers.

Refer to example launch files at the end of this file for examples of usage of each of these methods.

ROS Parameters

  • (Option 1 above) mm_file (Default=undefined). Determine the metric_map_t file to load, coming from sm2mm or any other custom user application using mp2p_icp.
  • (Option 2 above) map_yaml_file (Default=undefined): Define this parameter to load a ROS standard YAML file gridmap.
  • (Option 3 above) mrpt_metricmap_file (Default=undefined).
  • frame_id (Default=map): TF frame.
  • pub_mm_topic (Default=mrpt_map). Despite the map source, it will be eventually stored as a mp2p_icp’s metric_map_t (*.mm) structure, then each layer will be published using its layer name as a topic name and with the appropriate type (e.g. PointCloud2, OccupancyGrid,…). Also, the whole metric map is published as a generic serialized object to the topic defined by the parameter pub_mm_topic.

Subscribed topics

None.

Published topics

  • ${pub_mm_topic}/metric_map (Default: mrpt_map/metric_map) (mrpt_msgs::msg::GenericObject) (topic name can be changed with parameter pub_mm_topic).
  • ${pub_mm_topic}/geo_ref (Default: mrpt_map/geo_ref) (mrpt_msgs::msg::GenericObject). An MRPT-serialization of mp2p_icp::metric_map_t::Georeferencing metadata (topic name can be changed with parameter pub_mm_topic).
  • ${pub_mm_topic}/geo_ref_metadata (Default: mrpt_map/geo_ref_metadata)(mrpt_nav_interfaces::msgs::msg::GeoreferencingMetadata). A ROS plain message with the contents of mp2p_icp::metric_map_t::Georeferencing metadata.
  • ${pub_mm_topic}/<LAYER_NAME> (Default: mrpt_map/<LAYER_NAME>) (mrpt_msgs::msg::GenericObject)
  • ${pub_mm_topic}/<LAYER_NAME>_points (sensor_msgs::msg::PointCloud2), one per map layer.
  • ${pub_mm_topic}/<LAYER_NAME>_gridmap (nav_msgs::msg::OccupancyGrid)
  • ${pub_mm_topic}/<LAYER_NAME>_gridmap_metadata (nav_msgs::msg::MapMetaData)
  • (… one per map layer …)

If using options 2 or 3 above, there will be just one layer named map.

Published tf and geo-referenced maps

Refer to the documentation within the MOLA project on geo-referencing for a description of the utm and enu frames, defined by this package if fed with a *.mm file with geo-referenced metadata.

mola_mrpt_ros_geo_referenced_utm_frames

Services

  • GetLayers: Returns the list of map layer names:
# Example usage:
ros2 service call /map_server_node/get_layers  mrpt_nav_interfaces/srv/GetLayers
requester: making request: mrpt_nav_interfaces.srv.GetLayers_Request()

response:
mrpt_nav_interfaces.srv.GetLayers_Response(layers=['map'])

  • GetGridmapLayer: Can be used to request a given map layer of type gridmap.

```bash

Example usage:

ros2 service call /map_server_node/get_grid_layer mrpt_nav_interfaces/srv/GetGridmapLayer “layer_name:
‘map’”

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package mrpt_map_server

2.2.2 (2025-05-28)

  • FIX: remove usage of obsolete ament_target_dependencies()
  • Contributors: Jose Luis Blanco-Claraco

2.2.1 (2024-10-12)

2.2.0 (2024-09-25)

  • Merge pull request #149 from mrpt-ros-pkg/feature/utm-coordinates Support UTM global coordinates for geo-referenciated maps
  • Update package.xml: minimum required version of mp2p_icp
  • mrpt_map_server now publishes the map georeferenciation metadata, as topics and /tf (frames: utm, enu)
  • Update URL entries in package.xml to each package proper documentation
  • ament linters: manually enable just cmake and xml linters
  • reformat clang-format with 100 column width
  • Update README.md with geo-referenciation concepts
  • Contributors: Jose Luis Blanco-Claraco

2.1.1 (2024-09-02)

  • Remove temporary workaround in <depends> for buggy mrpt_libros_bridge package.xml
  • update dependencies
  • Depend on new mrpt_lib packages (deprecate mrpt2)
  • Contributors: Jose Luis Blanco-Claraco
  • Remove temporary workaround in <depends> for buggy mrpt_libros_bridge package.xml
  • update dependencies
  • Depend on new mrpt_lib packages (deprecate mrpt2)
  • Contributors: Jose Luis Blanco-Claraco

2.1.0 (2024-08-08)

  • docs: typos and clarifications
  • map server: simplify publication policy. Using transient local only and never republishing them
  • Merge branch 'ros2' into wip/port-tps-astar
  • Merge branch 'ros2' into wip/port-tps-astar
  • Contributors: Jose Luis Blanco-Claraco

2.0.1 (2024-05-28)

2.0.0 (2024-05-28)

  • Implement map getter services
  • Define map_server services
  • Comply with ROS2 REP-2003
  • new param force_republish_period
  • map_server: publish voxelmaps as points too
  • map_server: Implement publishing from .mm files
  • Rename mrpt_map: mrpt_map_server
  • Contributors: Jose Luis Blanco-Claraco

1.0.3 (2022-06-25)

1.0.2 (2022-06-25)

1.0.1 (2022-06-24)

  • Fix build errors
  • Removed now obsolete tf_prefix
  • Ported to tf2 and mrpt::ros1bridge
  • Contributors: Jose Luis Blanco-Claraco

1.0.0 (2022-04-30)

  • Update URLs to https
  • Update build dep to mrpt2
  • Contributors: Jose Luis Blanco Claraco

0.1.26 (2019-10-05)

0.1.25 (2019-10-04)

0.1.24 (2019-04-12)

  • fix build against mrpt-1.5
  • Fix build against MRPT 1.9.9
  • Contributors: Inounx, Jose Luis Blanco-Claraco, Julian Lopez Velasquez

0.1.23 (2018-06-14)

0.1.20 (2018-04-26)

  • fix build against mrpt 2.0
  • partial fix build w mrpt 2.0
  • optimized build (-O3)
  • fix use c++14
  • Merge branch 'master' of github.com:tuw-robotics/mrpt_navigation
  • Merge branch 'master' into master
  • CMake finds MRPT >=1.5 in ROS master branch
  • Merge branch 'master' into compat-mrpt-1.5

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mrpt_map_server at Robotics Stack Exchange

Package Summary

Tags No category tags.
Version 2.2.2
License BSD
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/mrpt-ros-pkg/mrpt_navigation.git
VCS Type git
VCS Version ros2
Last Updated 2025-05-28
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

This package provides a ROS 2 node that publishes a static map for other nodes to use it. Unlike classic ROS 1 ``map_server``, this node can publish a range of different metric maps, not only occupancy grids.

Additional Links

Maintainers

  • Markus Bader
  • Jose Luis Blanco-Claraco
  • Shravan S Rai

Authors

No additional authors.

mrpt_map_server

Table of Contents

Overview

This package provides a ROS 2 node that publishes a static map for other nodes to use it. Unlike classic ROS 1 map_server, this node can publish a range of different metric maps, not only occupancy grids.

Node: mrpt_map_server

Working rationale

The C++ ROS 2 node loads all parameters at start up, loads the map as requested by parameters, and publishes the metric map in the corresponding topics. Messages are sent as transient local, so new subscribers can receive them even if they start afterwards.

There are three formats in which maps can be read:

  1. The preferred format is as an mp2p_icp’s metric map file (*.mm), normally generated via sm2mm from a MRPT “simplemap” (*.simplemap) that comes from a SLAM session, e.g. using mola_lidar_odometry.

  2. As a ROS standard YAML file. Here, a *.yaml file specifies the metadata of a 2D occupancy gridmap, which is stored as an accompanying image file. The map will be actually encapsulated into a metric_map_t map with layer name map.

  3. As a serialized MRPT metric map file. A *.metricmap file contains any of the existing MRPT metric maps (point clouds, grid maps, etc.), which may come from custom applications or other SLAM packages. The map will be actually encapsulated into a metric_map_t map with layer name map.

So, whatever is the map source, this node will internally build a metric_map_t with one or more map layers, so it gets published in a uniform way to subscribers.

Refer to example launch files at the end of this file for examples of usage of each of these methods.

ROS Parameters

  • (Option 1 above) mm_file (Default=undefined). Determine the metric_map_t file to load, coming from sm2mm or any other custom user application using mp2p_icp.
  • (Option 2 above) map_yaml_file (Default=undefined): Define this parameter to load a ROS standard YAML file gridmap.
  • (Option 3 above) mrpt_metricmap_file (Default=undefined).
  • frame_id (Default=map): TF frame.
  • pub_mm_topic (Default=mrpt_map). Despite the map source, it will be eventually stored as a mp2p_icp’s metric_map_t (*.mm) structure, then each layer will be published using its layer name as a topic name and with the appropriate type (e.g. PointCloud2, OccupancyGrid,…). Also, the whole metric map is published as a generic serialized object to the topic defined by the parameter pub_mm_topic.

Subscribed topics

None.

Published topics

  • ${pub_mm_topic}/metric_map (Default: mrpt_map/metric_map) (mrpt_msgs::msg::GenericObject) (topic name can be changed with parameter pub_mm_topic).
  • ${pub_mm_topic}/geo_ref (Default: mrpt_map/geo_ref) (mrpt_msgs::msg::GenericObject). An MRPT-serialization of mp2p_icp::metric_map_t::Georeferencing metadata (topic name can be changed with parameter pub_mm_topic).
  • ${pub_mm_topic}/geo_ref_metadata (Default: mrpt_map/geo_ref_metadata)(mrpt_nav_interfaces::msgs::msg::GeoreferencingMetadata). A ROS plain message with the contents of mp2p_icp::metric_map_t::Georeferencing metadata.
  • ${pub_mm_topic}/<LAYER_NAME> (Default: mrpt_map/<LAYER_NAME>) (mrpt_msgs::msg::GenericObject)
  • ${pub_mm_topic}/<LAYER_NAME>_points (sensor_msgs::msg::PointCloud2), one per map layer.
  • ${pub_mm_topic}/<LAYER_NAME>_gridmap (nav_msgs::msg::OccupancyGrid)
  • ${pub_mm_topic}/<LAYER_NAME>_gridmap_metadata (nav_msgs::msg::MapMetaData)
  • (… one per map layer …)

If using options 2 or 3 above, there will be just one layer named map.

Published tf and geo-referenced maps

Refer to the documentation within the MOLA project on geo-referencing for a description of the utm and enu frames, defined by this package if fed with a *.mm file with geo-referenced metadata.

mola_mrpt_ros_geo_referenced_utm_frames

Services

  • GetLayers: Returns the list of map layer names:
# Example usage:
ros2 service call /map_server_node/get_layers  mrpt_nav_interfaces/srv/GetLayers
requester: making request: mrpt_nav_interfaces.srv.GetLayers_Request()

response:
mrpt_nav_interfaces.srv.GetLayers_Response(layers=['map'])

  • GetGridmapLayer: Can be used to request a given map layer of type gridmap.

```bash

Example usage:

ros2 service call /map_server_node/get_grid_layer mrpt_nav_interfaces/srv/GetGridmapLayer “layer_name:
‘map’”

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package mrpt_map_server

2.2.2 (2025-05-28)

  • FIX: remove usage of obsolete ament_target_dependencies()
  • Contributors: Jose Luis Blanco-Claraco

2.2.1 (2024-10-12)

2.2.0 (2024-09-25)

  • Merge pull request #149 from mrpt-ros-pkg/feature/utm-coordinates Support UTM global coordinates for geo-referenciated maps
  • Update package.xml: minimum required version of mp2p_icp
  • mrpt_map_server now publishes the map georeferenciation metadata, as topics and /tf (frames: utm, enu)
  • Update URL entries in package.xml to each package proper documentation
  • ament linters: manually enable just cmake and xml linters
  • reformat clang-format with 100 column width
  • Update README.md with geo-referenciation concepts
  • Contributors: Jose Luis Blanco-Claraco

2.1.1 (2024-09-02)

  • Remove temporary workaround in <depends> for buggy mrpt_libros_bridge package.xml
  • update dependencies
  • Depend on new mrpt_lib packages (deprecate mrpt2)
  • Contributors: Jose Luis Blanco-Claraco
  • Remove temporary workaround in <depends> for buggy mrpt_libros_bridge package.xml
  • update dependencies
  • Depend on new mrpt_lib packages (deprecate mrpt2)
  • Contributors: Jose Luis Blanco-Claraco

2.1.0 (2024-08-08)

  • docs: typos and clarifications
  • map server: simplify publication policy. Using transient local only and never republishing them
  • Merge branch 'ros2' into wip/port-tps-astar
  • Merge branch 'ros2' into wip/port-tps-astar
  • Contributors: Jose Luis Blanco-Claraco

2.0.1 (2024-05-28)

2.0.0 (2024-05-28)

  • Implement map getter services
  • Define map_server services
  • Comply with ROS2 REP-2003
  • new param force_republish_period
  • map_server: publish voxelmaps as points too
  • map_server: Implement publishing from .mm files
  • Rename mrpt_map: mrpt_map_server
  • Contributors: Jose Luis Blanco-Claraco

1.0.3 (2022-06-25)

1.0.2 (2022-06-25)

1.0.1 (2022-06-24)

  • Fix build errors
  • Removed now obsolete tf_prefix
  • Ported to tf2 and mrpt::ros1bridge
  • Contributors: Jose Luis Blanco-Claraco

1.0.0 (2022-04-30)

  • Update URLs to https
  • Update build dep to mrpt2
  • Contributors: Jose Luis Blanco Claraco

0.1.26 (2019-10-05)

0.1.25 (2019-10-04)

0.1.24 (2019-04-12)

  • fix build against mrpt-1.5
  • Fix build against MRPT 1.9.9
  • Contributors: Inounx, Jose Luis Blanco-Claraco, Julian Lopez Velasquez

0.1.23 (2018-06-14)

0.1.20 (2018-04-26)

  • fix build against mrpt 2.0
  • partial fix build w mrpt 2.0
  • optimized build (-O3)
  • fix use c++14
  • Merge branch 'master' of github.com:tuw-robotics/mrpt_navigation
  • Merge branch 'master' into master
  • CMake finds MRPT >=1.5 in ROS master branch
  • Merge branch 'master' into compat-mrpt-1.5

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mrpt_map_server at Robotics Stack Exchange

Package Summary

Tags No category tags.
Version 2.2.2
License BSD
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/mrpt-ros-pkg/mrpt_navigation.git
VCS Type git
VCS Version ros2
Last Updated 2025-05-28
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

This package provides a ROS 2 node that publishes a static map for other nodes to use it. Unlike classic ROS 1 ``map_server``, this node can publish a range of different metric maps, not only occupancy grids.

Additional Links

Maintainers

  • Markus Bader
  • Jose Luis Blanco-Claraco
  • Shravan S Rai

Authors

No additional authors.

mrpt_map_server

Table of Contents

Overview

This package provides a ROS 2 node that publishes a static map for other nodes to use it. Unlike classic ROS 1 map_server, this node can publish a range of different metric maps, not only occupancy grids.

Node: mrpt_map_server

Working rationale

The C++ ROS 2 node loads all parameters at start up, loads the map as requested by parameters, and publishes the metric map in the corresponding topics. Messages are sent as transient local, so new subscribers can receive them even if they start afterwards.

There are three formats in which maps can be read:

  1. The preferred format is as an mp2p_icp’s metric map file (*.mm), normally generated via sm2mm from a MRPT “simplemap” (*.simplemap) that comes from a SLAM session, e.g. using mola_lidar_odometry.

  2. As a ROS standard YAML file. Here, a *.yaml file specifies the metadata of a 2D occupancy gridmap, which is stored as an accompanying image file. The map will be actually encapsulated into a metric_map_t map with layer name map.

  3. As a serialized MRPT metric map file. A *.metricmap file contains any of the existing MRPT metric maps (point clouds, grid maps, etc.), which may come from custom applications or other SLAM packages. The map will be actually encapsulated into a metric_map_t map with layer name map.

So, whatever is the map source, this node will internally build a metric_map_t with one or more map layers, so it gets published in a uniform way to subscribers.

Refer to example launch files at the end of this file for examples of usage of each of these methods.

ROS Parameters

  • (Option 1 above) mm_file (Default=undefined). Determine the metric_map_t file to load, coming from sm2mm or any other custom user application using mp2p_icp.
  • (Option 2 above) map_yaml_file (Default=undefined): Define this parameter to load a ROS standard YAML file gridmap.
  • (Option 3 above) mrpt_metricmap_file (Default=undefined).
  • frame_id (Default=map): TF frame.
  • pub_mm_topic (Default=mrpt_map). Despite the map source, it will be eventually stored as a mp2p_icp’s metric_map_t (*.mm) structure, then each layer will be published using its layer name as a topic name and with the appropriate type (e.g. PointCloud2, OccupancyGrid,…). Also, the whole metric map is published as a generic serialized object to the topic defined by the parameter pub_mm_topic.

Subscribed topics

None.

Published topics

  • ${pub_mm_topic}/metric_map (Default: mrpt_map/metric_map) (mrpt_msgs::msg::GenericObject) (topic name can be changed with parameter pub_mm_topic).
  • ${pub_mm_topic}/geo_ref (Default: mrpt_map/geo_ref) (mrpt_msgs::msg::GenericObject). An MRPT-serialization of mp2p_icp::metric_map_t::Georeferencing metadata (topic name can be changed with parameter pub_mm_topic).
  • ${pub_mm_topic}/geo_ref_metadata (Default: mrpt_map/geo_ref_metadata)(mrpt_nav_interfaces::msgs::msg::GeoreferencingMetadata). A ROS plain message with the contents of mp2p_icp::metric_map_t::Georeferencing metadata.
  • ${pub_mm_topic}/<LAYER_NAME> (Default: mrpt_map/<LAYER_NAME>) (mrpt_msgs::msg::GenericObject)
  • ${pub_mm_topic}/<LAYER_NAME>_points (sensor_msgs::msg::PointCloud2), one per map layer.
  • ${pub_mm_topic}/<LAYER_NAME>_gridmap (nav_msgs::msg::OccupancyGrid)
  • ${pub_mm_topic}/<LAYER_NAME>_gridmap_metadata (nav_msgs::msg::MapMetaData)
  • (… one per map layer …)

If using options 2 or 3 above, there will be just one layer named map.

Published tf and geo-referenced maps

Refer to the documentation within the MOLA project on geo-referencing for a description of the utm and enu frames, defined by this package if fed with a *.mm file with geo-referenced metadata.

mola_mrpt_ros_geo_referenced_utm_frames

Services

  • GetLayers: Returns the list of map layer names:
# Example usage:
ros2 service call /map_server_node/get_layers  mrpt_nav_interfaces/srv/GetLayers
requester: making request: mrpt_nav_interfaces.srv.GetLayers_Request()

response:
mrpt_nav_interfaces.srv.GetLayers_Response(layers=['map'])

  • GetGridmapLayer: Can be used to request a given map layer of type gridmap.

```bash

Example usage:

ros2 service call /map_server_node/get_grid_layer mrpt_nav_interfaces/srv/GetGridmapLayer “layer_name:
‘map’”

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package mrpt_map_server

2.2.2 (2025-05-28)

  • FIX: remove usage of obsolete ament_target_dependencies()
  • Contributors: Jose Luis Blanco-Claraco

2.2.1 (2024-10-12)

2.2.0 (2024-09-25)

  • Merge pull request #149 from mrpt-ros-pkg/feature/utm-coordinates Support UTM global coordinates for geo-referenciated maps
  • Update package.xml: minimum required version of mp2p_icp
  • mrpt_map_server now publishes the map georeferenciation metadata, as topics and /tf (frames: utm, enu)
  • Update URL entries in package.xml to each package proper documentation
  • ament linters: manually enable just cmake and xml linters
  • reformat clang-format with 100 column width
  • Update README.md with geo-referenciation concepts
  • Contributors: Jose Luis Blanco-Claraco

2.1.1 (2024-09-02)

  • Remove temporary workaround in <depends> for buggy mrpt_libros_bridge package.xml
  • update dependencies
  • Depend on new mrpt_lib packages (deprecate mrpt2)
  • Contributors: Jose Luis Blanco-Claraco
  • Remove temporary workaround in <depends> for buggy mrpt_libros_bridge package.xml
  • update dependencies
  • Depend on new mrpt_lib packages (deprecate mrpt2)
  • Contributors: Jose Luis Blanco-Claraco

2.1.0 (2024-08-08)

  • docs: typos and clarifications
  • map server: simplify publication policy. Using transient local only and never republishing them
  • Merge branch 'ros2' into wip/port-tps-astar
  • Merge branch 'ros2' into wip/port-tps-astar
  • Contributors: Jose Luis Blanco-Claraco

2.0.1 (2024-05-28)

2.0.0 (2024-05-28)

  • Implement map getter services
  • Define map_server services
  • Comply with ROS2 REP-2003
  • new param force_republish_period
  • map_server: publish voxelmaps as points too
  • map_server: Implement publishing from .mm files
  • Rename mrpt_map: mrpt_map_server
  • Contributors: Jose Luis Blanco-Claraco

1.0.3 (2022-06-25)

1.0.2 (2022-06-25)

1.0.1 (2022-06-24)

  • Fix build errors
  • Removed now obsolete tf_prefix
  • Ported to tf2 and mrpt::ros1bridge
  • Contributors: Jose Luis Blanco-Claraco

1.0.0 (2022-04-30)

  • Update URLs to https
  • Update build dep to mrpt2
  • Contributors: Jose Luis Blanco Claraco

0.1.26 (2019-10-05)

0.1.25 (2019-10-04)

0.1.24 (2019-04-12)

  • fix build against mrpt-1.5
  • Fix build against MRPT 1.9.9
  • Contributors: Inounx, Jose Luis Blanco-Claraco, Julian Lopez Velasquez

0.1.23 (2018-06-14)

0.1.20 (2018-04-26)

  • fix build against mrpt 2.0
  • partial fix build w mrpt 2.0
  • optimized build (-O3)
  • fix use c++14
  • Merge branch 'master' of github.com:tuw-robotics/mrpt_navigation
  • Merge branch 'master' into master
  • CMake finds MRPT >=1.5 in ROS master branch
  • Merge branch 'master' into compat-mrpt-1.5

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mrpt_map_server at Robotics Stack Exchange

No version for distro ardent showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 2.2.2
License BSD
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/mrpt-ros-pkg/mrpt_navigation.git
VCS Type git
VCS Version ros2
Last Updated 2025-05-28
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

This package provides a ROS 2 node that publishes a static map for other nodes to use it. Unlike classic ROS 1 ``map_server``, this node can publish a range of different metric maps, not only occupancy grids.

Additional Links

Maintainers

  • Markus Bader
  • Jose Luis Blanco-Claraco
  • Shravan S Rai

Authors

No additional authors.

mrpt_map_server

Table of Contents

Overview

This package provides a ROS 2 node that publishes a static map for other nodes to use it. Unlike classic ROS 1 map_server, this node can publish a range of different metric maps, not only occupancy grids.

Node: mrpt_map_server

Working rationale

The C++ ROS 2 node loads all parameters at start up, loads the map as requested by parameters, and publishes the metric map in the corresponding topics. Messages are sent as transient local, so new subscribers can receive them even if they start afterwards.

There are three formats in which maps can be read:

  1. The preferred format is as an mp2p_icp’s metric map file (*.mm), normally generated via sm2mm from a MRPT “simplemap” (*.simplemap) that comes from a SLAM session, e.g. using mola_lidar_odometry.

  2. As a ROS standard YAML file. Here, a *.yaml file specifies the metadata of a 2D occupancy gridmap, which is stored as an accompanying image file. The map will be actually encapsulated into a metric_map_t map with layer name map.

  3. As a serialized MRPT metric map file. A *.metricmap file contains any of the existing MRPT metric maps (point clouds, grid maps, etc.), which may come from custom applications or other SLAM packages. The map will be actually encapsulated into a metric_map_t map with layer name map.

So, whatever is the map source, this node will internally build a metric_map_t with one or more map layers, so it gets published in a uniform way to subscribers.

Refer to example launch files at the end of this file for examples of usage of each of these methods.

ROS Parameters

  • (Option 1 above) mm_file (Default=undefined). Determine the metric_map_t file to load, coming from sm2mm or any other custom user application using mp2p_icp.
  • (Option 2 above) map_yaml_file (Default=undefined): Define this parameter to load a ROS standard YAML file gridmap.
  • (Option 3 above) mrpt_metricmap_file (Default=undefined).
  • frame_id (Default=map): TF frame.
  • pub_mm_topic (Default=mrpt_map). Despite the map source, it will be eventually stored as a mp2p_icp’s metric_map_t (*.mm) structure, then each layer will be published using its layer name as a topic name and with the appropriate type (e.g. PointCloud2, OccupancyGrid,…). Also, the whole metric map is published as a generic serialized object to the topic defined by the parameter pub_mm_topic.

Subscribed topics

None.

Published topics

  • ${pub_mm_topic}/metric_map (Default: mrpt_map/metric_map) (mrpt_msgs::msg::GenericObject) (topic name can be changed with parameter pub_mm_topic).
  • ${pub_mm_topic}/geo_ref (Default: mrpt_map/geo_ref) (mrpt_msgs::msg::GenericObject). An MRPT-serialization of mp2p_icp::metric_map_t::Georeferencing metadata (topic name can be changed with parameter pub_mm_topic).
  • ${pub_mm_topic}/geo_ref_metadata (Default: mrpt_map/geo_ref_metadata)(mrpt_nav_interfaces::msgs::msg::GeoreferencingMetadata). A ROS plain message with the contents of mp2p_icp::metric_map_t::Georeferencing metadata.
  • ${pub_mm_topic}/<LAYER_NAME> (Default: mrpt_map/<LAYER_NAME>) (mrpt_msgs::msg::GenericObject)
  • ${pub_mm_topic}/<LAYER_NAME>_points (sensor_msgs::msg::PointCloud2), one per map layer.
  • ${pub_mm_topic}/<LAYER_NAME>_gridmap (nav_msgs::msg::OccupancyGrid)
  • ${pub_mm_topic}/<LAYER_NAME>_gridmap_metadata (nav_msgs::msg::MapMetaData)
  • (… one per map layer …)

If using options 2 or 3 above, there will be just one layer named map.

Published tf and geo-referenced maps

Refer to the documentation within the MOLA project on geo-referencing for a description of the utm and enu frames, defined by this package if fed with a *.mm file with geo-referenced metadata.

mola_mrpt_ros_geo_referenced_utm_frames

Services

  • GetLayers: Returns the list of map layer names:
# Example usage:
ros2 service call /map_server_node/get_layers  mrpt_nav_interfaces/srv/GetLayers
requester: making request: mrpt_nav_interfaces.srv.GetLayers_Request()

response:
mrpt_nav_interfaces.srv.GetLayers_Response(layers=['map'])

  • GetGridmapLayer: Can be used to request a given map layer of type gridmap.

```bash

Example usage:

ros2 service call /map_server_node/get_grid_layer mrpt_nav_interfaces/srv/GetGridmapLayer “layer_name:
‘map’”

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package mrpt_map_server

2.2.2 (2025-05-28)

  • FIX: remove usage of obsolete ament_target_dependencies()
  • Contributors: Jose Luis Blanco-Claraco

2.2.1 (2024-10-12)

2.2.0 (2024-09-25)

  • Merge pull request #149 from mrpt-ros-pkg/feature/utm-coordinates Support UTM global coordinates for geo-referenciated maps
  • Update package.xml: minimum required version of mp2p_icp
  • mrpt_map_server now publishes the map georeferenciation metadata, as topics and /tf (frames: utm, enu)
  • Update URL entries in package.xml to each package proper documentation
  • ament linters: manually enable just cmake and xml linters
  • reformat clang-format with 100 column width
  • Update README.md with geo-referenciation concepts
  • Contributors: Jose Luis Blanco-Claraco

2.1.1 (2024-09-02)

  • Remove temporary workaround in <depends> for buggy mrpt_libros_bridge package.xml
  • update dependencies
  • Depend on new mrpt_lib packages (deprecate mrpt2)
  • Contributors: Jose Luis Blanco-Claraco
  • Remove temporary workaround in <depends> for buggy mrpt_libros_bridge package.xml
  • update dependencies
  • Depend on new mrpt_lib packages (deprecate mrpt2)
  • Contributors: Jose Luis Blanco-Claraco

2.1.0 (2024-08-08)

  • docs: typos and clarifications
  • map server: simplify publication policy. Using transient local only and never republishing them
  • Merge branch 'ros2' into wip/port-tps-astar
  • Merge branch 'ros2' into wip/port-tps-astar
  • Contributors: Jose Luis Blanco-Claraco

2.0.1 (2024-05-28)

2.0.0 (2024-05-28)

  • Implement map getter services
  • Define map_server services
  • Comply with ROS2 REP-2003
  • new param force_republish_period
  • map_server: publish voxelmaps as points too
  • map_server: Implement publishing from .mm files
  • Rename mrpt_map: mrpt_map_server
  • Contributors: Jose Luis Blanco-Claraco

1.0.3 (2022-06-25)

1.0.2 (2022-06-25)

1.0.1 (2022-06-24)

  • Fix build errors
  • Removed now obsolete tf_prefix
  • Ported to tf2 and mrpt::ros1bridge
  • Contributors: Jose Luis Blanco-Claraco

1.0.0 (2022-04-30)

  • Update URLs to https
  • Update build dep to mrpt2
  • Contributors: Jose Luis Blanco Claraco

0.1.26 (2019-10-05)

0.1.25 (2019-10-04)

0.1.24 (2019-04-12)

  • fix build against mrpt-1.5
  • Fix build against MRPT 1.9.9
  • Contributors: Inounx, Jose Luis Blanco-Claraco, Julian Lopez Velasquez

0.1.23 (2018-06-14)

0.1.20 (2018-04-26)

  • fix build against mrpt 2.0
  • partial fix build w mrpt 2.0
  • optimized build (-O3)
  • fix use c++14
  • Merge branch 'master' of github.com:tuw-robotics/mrpt_navigation
  • Merge branch 'master' into master
  • CMake finds MRPT >=1.5 in ROS master branch
  • Merge branch 'master' into compat-mrpt-1.5

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mrpt_map_server at Robotics Stack Exchange

No version for distro bouncy showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 2.2.2
License BSD
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/mrpt-ros-pkg/mrpt_navigation.git
VCS Type git
VCS Version ros2
Last Updated 2025-05-28
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

This package provides a ROS 2 node that publishes a static map for other nodes to use it. Unlike classic ROS 1 ``map_server``, this node can publish a range of different metric maps, not only occupancy grids.

Additional Links

Maintainers

  • Markus Bader
  • Jose Luis Blanco-Claraco
  • Shravan S Rai

Authors

No additional authors.

mrpt_map_server

Table of Contents

Overview

This package provides a ROS 2 node that publishes a static map for other nodes to use it. Unlike classic ROS 1 map_server, this node can publish a range of different metric maps, not only occupancy grids.

Node: mrpt_map_server

Working rationale

The C++ ROS 2 node loads all parameters at start up, loads the map as requested by parameters, and publishes the metric map in the corresponding topics. Messages are sent as transient local, so new subscribers can receive them even if they start afterwards.

There are three formats in which maps can be read:

  1. The preferred format is as an mp2p_icp’s metric map file (*.mm), normally generated via sm2mm from a MRPT “simplemap” (*.simplemap) that comes from a SLAM session, e.g. using mola_lidar_odometry.

  2. As a ROS standard YAML file. Here, a *.yaml file specifies the metadata of a 2D occupancy gridmap, which is stored as an accompanying image file. The map will be actually encapsulated into a metric_map_t map with layer name map.

  3. As a serialized MRPT metric map file. A *.metricmap file contains any of the existing MRPT metric maps (point clouds, grid maps, etc.), which may come from custom applications or other SLAM packages. The map will be actually encapsulated into a metric_map_t map with layer name map.

So, whatever is the map source, this node will internally build a metric_map_t with one or more map layers, so it gets published in a uniform way to subscribers.

Refer to example launch files at the end of this file for examples of usage of each of these methods.

ROS Parameters

  • (Option 1 above) mm_file (Default=undefined). Determine the metric_map_t file to load, coming from sm2mm or any other custom user application using mp2p_icp.
  • (Option 2 above) map_yaml_file (Default=undefined): Define this parameter to load a ROS standard YAML file gridmap.
  • (Option 3 above) mrpt_metricmap_file (Default=undefined).
  • frame_id (Default=map): TF frame.
  • pub_mm_topic (Default=mrpt_map). Despite the map source, it will be eventually stored as a mp2p_icp’s metric_map_t (*.mm) structure, then each layer will be published using its layer name as a topic name and with the appropriate type (e.g. PointCloud2, OccupancyGrid,…). Also, the whole metric map is published as a generic serialized object to the topic defined by the parameter pub_mm_topic.

Subscribed topics

None.

Published topics

  • ${pub_mm_topic}/metric_map (Default: mrpt_map/metric_map) (mrpt_msgs::msg::GenericObject) (topic name can be changed with parameter pub_mm_topic).
  • ${pub_mm_topic}/geo_ref (Default: mrpt_map/geo_ref) (mrpt_msgs::msg::GenericObject). An MRPT-serialization of mp2p_icp::metric_map_t::Georeferencing metadata (topic name can be changed with parameter pub_mm_topic).
  • ${pub_mm_topic}/geo_ref_metadata (Default: mrpt_map/geo_ref_metadata)(mrpt_nav_interfaces::msgs::msg::GeoreferencingMetadata). A ROS plain message with the contents of mp2p_icp::metric_map_t::Georeferencing metadata.
  • ${pub_mm_topic}/<LAYER_NAME> (Default: mrpt_map/<LAYER_NAME>) (mrpt_msgs::msg::GenericObject)
  • ${pub_mm_topic}/<LAYER_NAME>_points (sensor_msgs::msg::PointCloud2), one per map layer.
  • ${pub_mm_topic}/<LAYER_NAME>_gridmap (nav_msgs::msg::OccupancyGrid)
  • ${pub_mm_topic}/<LAYER_NAME>_gridmap_metadata (nav_msgs::msg::MapMetaData)
  • (… one per map layer …)

If using options 2 or 3 above, there will be just one layer named map.

Published tf and geo-referenced maps

Refer to the documentation within the MOLA project on geo-referencing for a description of the utm and enu frames, defined by this package if fed with a *.mm file with geo-referenced metadata.

mola_mrpt_ros_geo_referenced_utm_frames

Services

  • GetLayers: Returns the list of map layer names:
# Example usage:
ros2 service call /map_server_node/get_layers  mrpt_nav_interfaces/srv/GetLayers
requester: making request: mrpt_nav_interfaces.srv.GetLayers_Request()

response:
mrpt_nav_interfaces.srv.GetLayers_Response(layers=['map'])

  • GetGridmapLayer: Can be used to request a given map layer of type gridmap.

```bash

Example usage:

ros2 service call /map_server_node/get_grid_layer mrpt_nav_interfaces/srv/GetGridmapLayer “layer_name:
‘map’”

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package mrpt_map_server

2.2.2 (2025-05-28)

  • FIX: remove usage of obsolete ament_target_dependencies()
  • Contributors: Jose Luis Blanco-Claraco

2.2.1 (2024-10-12)

2.2.0 (2024-09-25)

  • Merge pull request #149 from mrpt-ros-pkg/feature/utm-coordinates Support UTM global coordinates for geo-referenciated maps
  • Update package.xml: minimum required version of mp2p_icp
  • mrpt_map_server now publishes the map georeferenciation metadata, as topics and /tf (frames: utm, enu)
  • Update URL entries in package.xml to each package proper documentation
  • ament linters: manually enable just cmake and xml linters
  • reformat clang-format with 100 column width
  • Update README.md with geo-referenciation concepts
  • Contributors: Jose Luis Blanco-Claraco

2.1.1 (2024-09-02)

  • Remove temporary workaround in <depends> for buggy mrpt_libros_bridge package.xml
  • update dependencies
  • Depend on new mrpt_lib packages (deprecate mrpt2)
  • Contributors: Jose Luis Blanco-Claraco
  • Remove temporary workaround in <depends> for buggy mrpt_libros_bridge package.xml
  • update dependencies
  • Depend on new mrpt_lib packages (deprecate mrpt2)
  • Contributors: Jose Luis Blanco-Claraco

2.1.0 (2024-08-08)

  • docs: typos and clarifications
  • map server: simplify publication policy. Using transient local only and never republishing them
  • Merge branch 'ros2' into wip/port-tps-astar
  • Merge branch 'ros2' into wip/port-tps-astar
  • Contributors: Jose Luis Blanco-Claraco

2.0.1 (2024-05-28)

2.0.0 (2024-05-28)

  • Implement map getter services
  • Define map_server services
  • Comply with ROS2 REP-2003
  • new param force_republish_period
  • map_server: publish voxelmaps as points too
  • map_server: Implement publishing from .mm files
  • Rename mrpt_map: mrpt_map_server
  • Contributors: Jose Luis Blanco-Claraco

1.0.3 (2022-06-25)

1.0.2 (2022-06-25)

1.0.1 (2022-06-24)

  • Fix build errors
  • Removed now obsolete tf_prefix
  • Ported to tf2 and mrpt::ros1bridge
  • Contributors: Jose Luis Blanco-Claraco

1.0.0 (2022-04-30)

  • Update URLs to https
  • Update build dep to mrpt2
  • Contributors: Jose Luis Blanco Claraco

0.1.26 (2019-10-05)

0.1.25 (2019-10-04)

0.1.24 (2019-04-12)

  • fix build against mrpt-1.5
  • Fix build against MRPT 1.9.9
  • Contributors: Inounx, Jose Luis Blanco-Claraco, Julian Lopez Velasquez

0.1.23 (2018-06-14)

0.1.20 (2018-04-26)

  • fix build against mrpt 2.0
  • partial fix build w mrpt 2.0
  • optimized build (-O3)
  • fix use c++14
  • Merge branch 'master' of github.com:tuw-robotics/mrpt_navigation
  • Merge branch 'master' into master
  • CMake finds MRPT >=1.5 in ROS master branch
  • Merge branch 'master' into compat-mrpt-1.5

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mrpt_map_server at Robotics Stack Exchange

No version for distro crystal showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 2.2.2
License BSD
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/mrpt-ros-pkg/mrpt_navigation.git
VCS Type git
VCS Version ros2
Last Updated 2025-05-28
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

This package provides a ROS 2 node that publishes a static map for other nodes to use it. Unlike classic ROS 1 ``map_server``, this node can publish a range of different metric maps, not only occupancy grids.

Additional Links

Maintainers

  • Markus Bader
  • Jose Luis Blanco-Claraco
  • Shravan S Rai

Authors

No additional authors.

mrpt_map_server

Table of Contents

Overview

This package provides a ROS 2 node that publishes a static map for other nodes to use it. Unlike classic ROS 1 map_server, this node can publish a range of different metric maps, not only occupancy grids.

Node: mrpt_map_server

Working rationale

The C++ ROS 2 node loads all parameters at start up, loads the map as requested by parameters, and publishes the metric map in the corresponding topics. Messages are sent as transient local, so new subscribers can receive them even if they start afterwards.

There are three formats in which maps can be read:

  1. The preferred format is as an mp2p_icp’s metric map file (*.mm), normally generated via sm2mm from a MRPT “simplemap” (*.simplemap) that comes from a SLAM session, e.g. using mola_lidar_odometry.

  2. As a ROS standard YAML file. Here, a *.yaml file specifies the metadata of a 2D occupancy gridmap, which is stored as an accompanying image file. The map will be actually encapsulated into a metric_map_t map with layer name map.

  3. As a serialized MRPT metric map file. A *.metricmap file contains any of the existing MRPT metric maps (point clouds, grid maps, etc.), which may come from custom applications or other SLAM packages. The map will be actually encapsulated into a metric_map_t map with layer name map.

So, whatever is the map source, this node will internally build a metric_map_t with one or more map layers, so it gets published in a uniform way to subscribers.

Refer to example launch files at the end of this file for examples of usage of each of these methods.

ROS Parameters

  • (Option 1 above) mm_file (Default=undefined). Determine the metric_map_t file to load, coming from sm2mm or any other custom user application using mp2p_icp.
  • (Option 2 above) map_yaml_file (Default=undefined): Define this parameter to load a ROS standard YAML file gridmap.
  • (Option 3 above) mrpt_metricmap_file (Default=undefined).
  • frame_id (Default=map): TF frame.
  • pub_mm_topic (Default=mrpt_map). Despite the map source, it will be eventually stored as a mp2p_icp’s metric_map_t (*.mm) structure, then each layer will be published using its layer name as a topic name and with the appropriate type (e.g. PointCloud2, OccupancyGrid,…). Also, the whole metric map is published as a generic serialized object to the topic defined by the parameter pub_mm_topic.

Subscribed topics

None.

Published topics

  • ${pub_mm_topic}/metric_map (Default: mrpt_map/metric_map) (mrpt_msgs::msg::GenericObject) (topic name can be changed with parameter pub_mm_topic).
  • ${pub_mm_topic}/geo_ref (Default: mrpt_map/geo_ref) (mrpt_msgs::msg::GenericObject). An MRPT-serialization of mp2p_icp::metric_map_t::Georeferencing metadata (topic name can be changed with parameter pub_mm_topic).
  • ${pub_mm_topic}/geo_ref_metadata (Default: mrpt_map/geo_ref_metadata)(mrpt_nav_interfaces::msgs::msg::GeoreferencingMetadata). A ROS plain message with the contents of mp2p_icp::metric_map_t::Georeferencing metadata.
  • ${pub_mm_topic}/<LAYER_NAME> (Default: mrpt_map/<LAYER_NAME>) (mrpt_msgs::msg::GenericObject)
  • ${pub_mm_topic}/<LAYER_NAME>_points (sensor_msgs::msg::PointCloud2), one per map layer.
  • ${pub_mm_topic}/<LAYER_NAME>_gridmap (nav_msgs::msg::OccupancyGrid)
  • ${pub_mm_topic}/<LAYER_NAME>_gridmap_metadata (nav_msgs::msg::MapMetaData)
  • (… one per map layer …)

If using options 2 or 3 above, there will be just one layer named map.

Published tf and geo-referenced maps

Refer to the documentation within the MOLA project on geo-referencing for a description of the utm and enu frames, defined by this package if fed with a *.mm file with geo-referenced metadata.

mola_mrpt_ros_geo_referenced_utm_frames

Services

  • GetLayers: Returns the list of map layer names:
# Example usage:
ros2 service call /map_server_node/get_layers  mrpt_nav_interfaces/srv/GetLayers
requester: making request: mrpt_nav_interfaces.srv.GetLayers_Request()

response:
mrpt_nav_interfaces.srv.GetLayers_Response(layers=['map'])

  • GetGridmapLayer: Can be used to request a given map layer of type gridmap.

```bash

Example usage:

ros2 service call /map_server_node/get_grid_layer mrpt_nav_interfaces/srv/GetGridmapLayer “layer_name:
‘map’”

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package mrpt_map_server

2.2.2 (2025-05-28)

  • FIX: remove usage of obsolete ament_target_dependencies()
  • Contributors: Jose Luis Blanco-Claraco

2.2.1 (2024-10-12)

2.2.0 (2024-09-25)

  • Merge pull request #149 from mrpt-ros-pkg/feature/utm-coordinates Support UTM global coordinates for geo-referenciated maps
  • Update package.xml: minimum required version of mp2p_icp
  • mrpt_map_server now publishes the map georeferenciation metadata, as topics and /tf (frames: utm, enu)
  • Update URL entries in package.xml to each package proper documentation
  • ament linters: manually enable just cmake and xml linters
  • reformat clang-format with 100 column width
  • Update README.md with geo-referenciation concepts
  • Contributors: Jose Luis Blanco-Claraco

2.1.1 (2024-09-02)

  • Remove temporary workaround in <depends> for buggy mrpt_libros_bridge package.xml
  • update dependencies
  • Depend on new mrpt_lib packages (deprecate mrpt2)
  • Contributors: Jose Luis Blanco-Claraco
  • Remove temporary workaround in <depends> for buggy mrpt_libros_bridge package.xml
  • update dependencies
  • Depend on new mrpt_lib packages (deprecate mrpt2)
  • Contributors: Jose Luis Blanco-Claraco

2.1.0 (2024-08-08)

  • docs: typos and clarifications
  • map server: simplify publication policy. Using transient local only and never republishing them
  • Merge branch 'ros2' into wip/port-tps-astar
  • Merge branch 'ros2' into wip/port-tps-astar
  • Contributors: Jose Luis Blanco-Claraco

2.0.1 (2024-05-28)

2.0.0 (2024-05-28)

  • Implement map getter services
  • Define map_server services
  • Comply with ROS2 REP-2003
  • new param force_republish_period
  • map_server: publish voxelmaps as points too
  • map_server: Implement publishing from .mm files
  • Rename mrpt_map: mrpt_map_server
  • Contributors: Jose Luis Blanco-Claraco

1.0.3 (2022-06-25)

1.0.2 (2022-06-25)

1.0.1 (2022-06-24)

  • Fix build errors
  • Removed now obsolete tf_prefix
  • Ported to tf2 and mrpt::ros1bridge
  • Contributors: Jose Luis Blanco-Claraco

1.0.0 (2022-04-30)

  • Update URLs to https
  • Update build dep to mrpt2
  • Contributors: Jose Luis Blanco Claraco

0.1.26 (2019-10-05)

0.1.25 (2019-10-04)

0.1.24 (2019-04-12)

  • fix build against mrpt-1.5
  • Fix build against MRPT 1.9.9
  • Contributors: Inounx, Jose Luis Blanco-Claraco, Julian Lopez Velasquez

0.1.23 (2018-06-14)

0.1.20 (2018-04-26)

  • fix build against mrpt 2.0
  • partial fix build w mrpt 2.0
  • optimized build (-O3)
  • fix use c++14
  • Merge branch 'master' of github.com:tuw-robotics/mrpt_navigation
  • Merge branch 'master' into master
  • CMake finds MRPT >=1.5 in ROS master branch
  • Merge branch 'master' into compat-mrpt-1.5

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mrpt_map_server at Robotics Stack Exchange

No version for distro eloquent showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 2.2.2
License BSD
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/mrpt-ros-pkg/mrpt_navigation.git
VCS Type git
VCS Version ros2
Last Updated 2025-05-28
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

This package provides a ROS 2 node that publishes a static map for other nodes to use it. Unlike classic ROS 1 ``map_server``, this node can publish a range of different metric maps, not only occupancy grids.

Additional Links

Maintainers

  • Markus Bader
  • Jose Luis Blanco-Claraco
  • Shravan S Rai

Authors

No additional authors.

mrpt_map_server

Table of Contents

Overview

This package provides a ROS 2 node that publishes a static map for other nodes to use it. Unlike classic ROS 1 map_server, this node can publish a range of different metric maps, not only occupancy grids.

Node: mrpt_map_server

Working rationale

The C++ ROS 2 node loads all parameters at start up, loads the map as requested by parameters, and publishes the metric map in the corresponding topics. Messages are sent as transient local, so new subscribers can receive them even if they start afterwards.

There are three formats in which maps can be read:

  1. The preferred format is as an mp2p_icp’s metric map file (*.mm), normally generated via sm2mm from a MRPT “simplemap” (*.simplemap) that comes from a SLAM session, e.g. using mola_lidar_odometry.

  2. As a ROS standard YAML file. Here, a *.yaml file specifies the metadata of a 2D occupancy gridmap, which is stored as an accompanying image file. The map will be actually encapsulated into a metric_map_t map with layer name map.

  3. As a serialized MRPT metric map file. A *.metricmap file contains any of the existing MRPT metric maps (point clouds, grid maps, etc.), which may come from custom applications or other SLAM packages. The map will be actually encapsulated into a metric_map_t map with layer name map.

So, whatever is the map source, this node will internally build a metric_map_t with one or more map layers, so it gets published in a uniform way to subscribers.

Refer to example launch files at the end of this file for examples of usage of each of these methods.

ROS Parameters

  • (Option 1 above) mm_file (Default=undefined). Determine the metric_map_t file to load, coming from sm2mm or any other custom user application using mp2p_icp.
  • (Option 2 above) map_yaml_file (Default=undefined): Define this parameter to load a ROS standard YAML file gridmap.
  • (Option 3 above) mrpt_metricmap_file (Default=undefined).
  • frame_id (Default=map): TF frame.
  • pub_mm_topic (Default=mrpt_map). Despite the map source, it will be eventually stored as a mp2p_icp’s metric_map_t (*.mm) structure, then each layer will be published using its layer name as a topic name and with the appropriate type (e.g. PointCloud2, OccupancyGrid,…). Also, the whole metric map is published as a generic serialized object to the topic defined by the parameter pub_mm_topic.

Subscribed topics

None.

Published topics

  • ${pub_mm_topic}/metric_map (Default: mrpt_map/metric_map) (mrpt_msgs::msg::GenericObject) (topic name can be changed with parameter pub_mm_topic).
  • ${pub_mm_topic}/geo_ref (Default: mrpt_map/geo_ref) (mrpt_msgs::msg::GenericObject). An MRPT-serialization of mp2p_icp::metric_map_t::Georeferencing metadata (topic name can be changed with parameter pub_mm_topic).
  • ${pub_mm_topic}/geo_ref_metadata (Default: mrpt_map/geo_ref_metadata)(mrpt_nav_interfaces::msgs::msg::GeoreferencingMetadata). A ROS plain message with the contents of mp2p_icp::metric_map_t::Georeferencing metadata.
  • ${pub_mm_topic}/<LAYER_NAME> (Default: mrpt_map/<LAYER_NAME>) (mrpt_msgs::msg::GenericObject)
  • ${pub_mm_topic}/<LAYER_NAME>_points (sensor_msgs::msg::PointCloud2), one per map layer.
  • ${pub_mm_topic}/<LAYER_NAME>_gridmap (nav_msgs::msg::OccupancyGrid)
  • ${pub_mm_topic}/<LAYER_NAME>_gridmap_metadata (nav_msgs::msg::MapMetaData)
  • (… one per map layer …)

If using options 2 or 3 above, there will be just one layer named map.

Published tf and geo-referenced maps

Refer to the documentation within the MOLA project on geo-referencing for a description of the utm and enu frames, defined by this package if fed with a *.mm file with geo-referenced metadata.

mola_mrpt_ros_geo_referenced_utm_frames

Services

  • GetLayers: Returns the list of map layer names:
# Example usage:
ros2 service call /map_server_node/get_layers  mrpt_nav_interfaces/srv/GetLayers
requester: making request: mrpt_nav_interfaces.srv.GetLayers_Request()

response:
mrpt_nav_interfaces.srv.GetLayers_Response(layers=['map'])

  • GetGridmapLayer: Can be used to request a given map layer of type gridmap.

```bash

Example usage:

ros2 service call /map_server_node/get_grid_layer mrpt_nav_interfaces/srv/GetGridmapLayer “layer_name:
‘map’”

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package mrpt_map_server

2.2.2 (2025-05-28)

  • FIX: remove usage of obsolete ament_target_dependencies()
  • Contributors: Jose Luis Blanco-Claraco

2.2.1 (2024-10-12)

2.2.0 (2024-09-25)

  • Merge pull request #149 from mrpt-ros-pkg/feature/utm-coordinates Support UTM global coordinates for geo-referenciated maps
  • Update package.xml: minimum required version of mp2p_icp
  • mrpt_map_server now publishes the map georeferenciation metadata, as topics and /tf (frames: utm, enu)
  • Update URL entries in package.xml to each package proper documentation
  • ament linters: manually enable just cmake and xml linters
  • reformat clang-format with 100 column width
  • Update README.md with geo-referenciation concepts
  • Contributors: Jose Luis Blanco-Claraco

2.1.1 (2024-09-02)

  • Remove temporary workaround in <depends> for buggy mrpt_libros_bridge package.xml
  • update dependencies
  • Depend on new mrpt_lib packages (deprecate mrpt2)
  • Contributors: Jose Luis Blanco-Claraco
  • Remove temporary workaround in <depends> for buggy mrpt_libros_bridge package.xml
  • update dependencies
  • Depend on new mrpt_lib packages (deprecate mrpt2)
  • Contributors: Jose Luis Blanco-Claraco

2.1.0 (2024-08-08)

  • docs: typos and clarifications
  • map server: simplify publication policy. Using transient local only and never republishing them
  • Merge branch 'ros2' into wip/port-tps-astar
  • Merge branch 'ros2' into wip/port-tps-astar
  • Contributors: Jose Luis Blanco-Claraco

2.0.1 (2024-05-28)

2.0.0 (2024-05-28)

  • Implement map getter services
  • Define map_server services
  • Comply with ROS2 REP-2003
  • new param force_republish_period
  • map_server: publish voxelmaps as points too
  • map_server: Implement publishing from .mm files
  • Rename mrpt_map: mrpt_map_server
  • Contributors: Jose Luis Blanco-Claraco

1.0.3 (2022-06-25)

1.0.2 (2022-06-25)

1.0.1 (2022-06-24)

  • Fix build errors
  • Removed now obsolete tf_prefix
  • Ported to tf2 and mrpt::ros1bridge
  • Contributors: Jose Luis Blanco-Claraco

1.0.0 (2022-04-30)

  • Update URLs to https
  • Update build dep to mrpt2
  • Contributors: Jose Luis Blanco Claraco

0.1.26 (2019-10-05)

0.1.25 (2019-10-04)

0.1.24 (2019-04-12)

  • fix build against mrpt-1.5
  • Fix build against MRPT 1.9.9
  • Contributors: Inounx, Jose Luis Blanco-Claraco, Julian Lopez Velasquez

0.1.23 (2018-06-14)

0.1.20 (2018-04-26)

  • fix build against mrpt 2.0
  • partial fix build w mrpt 2.0
  • optimized build (-O3)
  • fix use c++14
  • Merge branch 'master' of github.com:tuw-robotics/mrpt_navigation
  • Merge branch 'master' into master
  • CMake finds MRPT >=1.5 in ROS master branch
  • Merge branch 'master' into compat-mrpt-1.5

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mrpt_map_server at Robotics Stack Exchange

No version for distro dashing showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 2.2.2
License BSD
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/mrpt-ros-pkg/mrpt_navigation.git
VCS Type git
VCS Version ros2
Last Updated 2025-05-28
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

This package provides a ROS 2 node that publishes a static map for other nodes to use it. Unlike classic ROS 1 ``map_server``, this node can publish a range of different metric maps, not only occupancy grids.

Additional Links

Maintainers

  • Markus Bader
  • Jose Luis Blanco-Claraco
  • Shravan S Rai

Authors

No additional authors.

mrpt_map_server

Table of Contents

Overview

This package provides a ROS 2 node that publishes a static map for other nodes to use it. Unlike classic ROS 1 map_server, this node can publish a range of different metric maps, not only occupancy grids.

Node: mrpt_map_server

Working rationale

The C++ ROS 2 node loads all parameters at start up, loads the map as requested by parameters, and publishes the metric map in the corresponding topics. Messages are sent as transient local, so new subscribers can receive them even if they start afterwards.

There are three formats in which maps can be read:

  1. The preferred format is as an mp2p_icp’s metric map file (*.mm), normally generated via sm2mm from a MRPT “simplemap” (*.simplemap) that comes from a SLAM session, e.g. using mola_lidar_odometry.

  2. As a ROS standard YAML file. Here, a *.yaml file specifies the metadata of a 2D occupancy gridmap, which is stored as an accompanying image file. The map will be actually encapsulated into a metric_map_t map with layer name map.

  3. As a serialized MRPT metric map file. A *.metricmap file contains any of the existing MRPT metric maps (point clouds, grid maps, etc.), which may come from custom applications or other SLAM packages. The map will be actually encapsulated into a metric_map_t map with layer name map.

So, whatever is the map source, this node will internally build a metric_map_t with one or more map layers, so it gets published in a uniform way to subscribers.

Refer to example launch files at the end of this file for examples of usage of each of these methods.

ROS Parameters

  • (Option 1 above) mm_file (Default=undefined). Determine the metric_map_t file to load, coming from sm2mm or any other custom user application using mp2p_icp.
  • (Option 2 above) map_yaml_file (Default=undefined): Define this parameter to load a ROS standard YAML file gridmap.
  • (Option 3 above) mrpt_metricmap_file (Default=undefined).
  • frame_id (Default=map): TF frame.
  • pub_mm_topic (Default=mrpt_map). Despite the map source, it will be eventually stored as a mp2p_icp’s metric_map_t (*.mm) structure, then each layer will be published using its layer name as a topic name and with the appropriate type (e.g. PointCloud2, OccupancyGrid,…). Also, the whole metric map is published as a generic serialized object to the topic defined by the parameter pub_mm_topic.

Subscribed topics

None.

Published topics

  • ${pub_mm_topic}/metric_map (Default: mrpt_map/metric_map) (mrpt_msgs::msg::GenericObject) (topic name can be changed with parameter pub_mm_topic).
  • ${pub_mm_topic}/geo_ref (Default: mrpt_map/geo_ref) (mrpt_msgs::msg::GenericObject). An MRPT-serialization of mp2p_icp::metric_map_t::Georeferencing metadata (topic name can be changed with parameter pub_mm_topic).
  • ${pub_mm_topic}/geo_ref_metadata (Default: mrpt_map/geo_ref_metadata)(mrpt_nav_interfaces::msgs::msg::GeoreferencingMetadata). A ROS plain message with the contents of mp2p_icp::metric_map_t::Georeferencing metadata.
  • ${pub_mm_topic}/<LAYER_NAME> (Default: mrpt_map/<LAYER_NAME>) (mrpt_msgs::msg::GenericObject)
  • ${pub_mm_topic}/<LAYER_NAME>_points (sensor_msgs::msg::PointCloud2), one per map layer.
  • ${pub_mm_topic}/<LAYER_NAME>_gridmap (nav_msgs::msg::OccupancyGrid)
  • ${pub_mm_topic}/<LAYER_NAME>_gridmap_metadata (nav_msgs::msg::MapMetaData)
  • (… one per map layer …)

If using options 2 or 3 above, there will be just one layer named map.

Published tf and geo-referenced maps

Refer to the documentation within the MOLA project on geo-referencing for a description of the utm and enu frames, defined by this package if fed with a *.mm file with geo-referenced metadata.

mola_mrpt_ros_geo_referenced_utm_frames

Services

  • GetLayers: Returns the list of map layer names:
# Example usage:
ros2 service call /map_server_node/get_layers  mrpt_nav_interfaces/srv/GetLayers
requester: making request: mrpt_nav_interfaces.srv.GetLayers_Request()

response:
mrpt_nav_interfaces.srv.GetLayers_Response(layers=['map'])

  • GetGridmapLayer: Can be used to request a given map layer of type gridmap.

```bash

Example usage:

ros2 service call /map_server_node/get_grid_layer mrpt_nav_interfaces/srv/GetGridmapLayer “layer_name:
‘map’”

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package mrpt_map_server

2.2.2 (2025-05-28)

  • FIX: remove usage of obsolete ament_target_dependencies()
  • Contributors: Jose Luis Blanco-Claraco

2.2.1 (2024-10-12)

2.2.0 (2024-09-25)

  • Merge pull request #149 from mrpt-ros-pkg/feature/utm-coordinates Support UTM global coordinates for geo-referenciated maps
  • Update package.xml: minimum required version of mp2p_icp
  • mrpt_map_server now publishes the map georeferenciation metadata, as topics and /tf (frames: utm, enu)
  • Update URL entries in package.xml to each package proper documentation
  • ament linters: manually enable just cmake and xml linters
  • reformat clang-format with 100 column width
  • Update README.md with geo-referenciation concepts
  • Contributors: Jose Luis Blanco-Claraco

2.1.1 (2024-09-02)

  • Remove temporary workaround in <depends> for buggy mrpt_libros_bridge package.xml
  • update dependencies
  • Depend on new mrpt_lib packages (deprecate mrpt2)
  • Contributors: Jose Luis Blanco-Claraco
  • Remove temporary workaround in <depends> for buggy mrpt_libros_bridge package.xml
  • update dependencies
  • Depend on new mrpt_lib packages (deprecate mrpt2)
  • Contributors: Jose Luis Blanco-Claraco

2.1.0 (2024-08-08)

  • docs: typos and clarifications
  • map server: simplify publication policy. Using transient local only and never republishing them
  • Merge branch 'ros2' into wip/port-tps-astar
  • Merge branch 'ros2' into wip/port-tps-astar
  • Contributors: Jose Luis Blanco-Claraco

2.0.1 (2024-05-28)

2.0.0 (2024-05-28)

  • Implement map getter services
  • Define map_server services
  • Comply with ROS2 REP-2003
  • new param force_republish_period
  • map_server: publish voxelmaps as points too
  • map_server: Implement publishing from .mm files
  • Rename mrpt_map: mrpt_map_server
  • Contributors: Jose Luis Blanco-Claraco

1.0.3 (2022-06-25)

1.0.2 (2022-06-25)

1.0.1 (2022-06-24)

  • Fix build errors
  • Removed now obsolete tf_prefix
  • Ported to tf2 and mrpt::ros1bridge
  • Contributors: Jose Luis Blanco-Claraco

1.0.0 (2022-04-30)

  • Update URLs to https
  • Update build dep to mrpt2
  • Contributors: Jose Luis Blanco Claraco

0.1.26 (2019-10-05)

0.1.25 (2019-10-04)

0.1.24 (2019-04-12)

  • fix build against mrpt-1.5
  • Fix build against MRPT 1.9.9
  • Contributors: Inounx, Jose Luis Blanco-Claraco, Julian Lopez Velasquez

0.1.23 (2018-06-14)

0.1.20 (2018-04-26)

  • fix build against mrpt 2.0
  • partial fix build w mrpt 2.0
  • optimized build (-O3)
  • fix use c++14
  • Merge branch 'master' of github.com:tuw-robotics/mrpt_navigation
  • Merge branch 'master' into master
  • CMake finds MRPT >=1.5 in ROS master branch
  • Merge branch 'master' into compat-mrpt-1.5

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mrpt_map_server at Robotics Stack Exchange

No version for distro galactic showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 2.2.2
License BSD
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/mrpt-ros-pkg/mrpt_navigation.git
VCS Type git
VCS Version ros2
Last Updated 2025-05-28
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

This package provides a ROS 2 node that publishes a static map for other nodes to use it. Unlike classic ROS 1 ``map_server``, this node can publish a range of different metric maps, not only occupancy grids.

Additional Links

Maintainers

  • Markus Bader
  • Jose Luis Blanco-Claraco
  • Shravan S Rai

Authors

No additional authors.

mrpt_map_server

Table of Contents

Overview

This package provides a ROS 2 node that publishes a static map for other nodes to use it. Unlike classic ROS 1 map_server, this node can publish a range of different metric maps, not only occupancy grids.

Node: mrpt_map_server

Working rationale

The C++ ROS 2 node loads all parameters at start up, loads the map as requested by parameters, and publishes the metric map in the corresponding topics. Messages are sent as transient local, so new subscribers can receive them even if they start afterwards.

There are three formats in which maps can be read:

  1. The preferred format is as an mp2p_icp’s metric map file (*.mm), normally generated via sm2mm from a MRPT “simplemap” (*.simplemap) that comes from a SLAM session, e.g. using mola_lidar_odometry.

  2. As a ROS standard YAML file. Here, a *.yaml file specifies the metadata of a 2D occupancy gridmap, which is stored as an accompanying image file. The map will be actually encapsulated into a metric_map_t map with layer name map.

  3. As a serialized MRPT metric map file. A *.metricmap file contains any of the existing MRPT metric maps (point clouds, grid maps, etc.), which may come from custom applications or other SLAM packages. The map will be actually encapsulated into a metric_map_t map with layer name map.

So, whatever is the map source, this node will internally build a metric_map_t with one or more map layers, so it gets published in a uniform way to subscribers.

Refer to example launch files at the end of this file for examples of usage of each of these methods.

ROS Parameters

  • (Option 1 above) mm_file (Default=undefined). Determine the metric_map_t file to load, coming from sm2mm or any other custom user application using mp2p_icp.
  • (Option 2 above) map_yaml_file (Default=undefined): Define this parameter to load a ROS standard YAML file gridmap.
  • (Option 3 above) mrpt_metricmap_file (Default=undefined).
  • frame_id (Default=map): TF frame.
  • pub_mm_topic (Default=mrpt_map). Despite the map source, it will be eventually stored as a mp2p_icp’s metric_map_t (*.mm) structure, then each layer will be published using its layer name as a topic name and with the appropriate type (e.g. PointCloud2, OccupancyGrid,…). Also, the whole metric map is published as a generic serialized object to the topic defined by the parameter pub_mm_topic.

Subscribed topics

None.

Published topics

  • ${pub_mm_topic}/metric_map (Default: mrpt_map/metric_map) (mrpt_msgs::msg::GenericObject) (topic name can be changed with parameter pub_mm_topic).
  • ${pub_mm_topic}/geo_ref (Default: mrpt_map/geo_ref) (mrpt_msgs::msg::GenericObject). An MRPT-serialization of mp2p_icp::metric_map_t::Georeferencing metadata (topic name can be changed with parameter pub_mm_topic).
  • ${pub_mm_topic}/geo_ref_metadata (Default: mrpt_map/geo_ref_metadata)(mrpt_nav_interfaces::msgs::msg::GeoreferencingMetadata). A ROS plain message with the contents of mp2p_icp::metric_map_t::Georeferencing metadata.
  • ${pub_mm_topic}/<LAYER_NAME> (Default: mrpt_map/<LAYER_NAME>) (mrpt_msgs::msg::GenericObject)
  • ${pub_mm_topic}/<LAYER_NAME>_points (sensor_msgs::msg::PointCloud2), one per map layer.
  • ${pub_mm_topic}/<LAYER_NAME>_gridmap (nav_msgs::msg::OccupancyGrid)
  • ${pub_mm_topic}/<LAYER_NAME>_gridmap_metadata (nav_msgs::msg::MapMetaData)
  • (… one per map layer …)

If using options 2 or 3 above, there will be just one layer named map.

Published tf and geo-referenced maps

Refer to the documentation within the MOLA project on geo-referencing for a description of the utm and enu frames, defined by this package if fed with a *.mm file with geo-referenced metadata.

mola_mrpt_ros_geo_referenced_utm_frames

Services

  • GetLayers: Returns the list of map layer names:
# Example usage:
ros2 service call /map_server_node/get_layers  mrpt_nav_interfaces/srv/GetLayers
requester: making request: mrpt_nav_interfaces.srv.GetLayers_Request()

response:
mrpt_nav_interfaces.srv.GetLayers_Response(layers=['map'])

  • GetGridmapLayer: Can be used to request a given map layer of type gridmap.

```bash

Example usage:

ros2 service call /map_server_node/get_grid_layer mrpt_nav_interfaces/srv/GetGridmapLayer “layer_name:
‘map’”

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package mrpt_map_server

2.2.2 (2025-05-28)

  • FIX: remove usage of obsolete ament_target_dependencies()
  • Contributors: Jose Luis Blanco-Claraco

2.2.1 (2024-10-12)

2.2.0 (2024-09-25)

  • Merge pull request #149 from mrpt-ros-pkg/feature/utm-coordinates Support UTM global coordinates for geo-referenciated maps
  • Update package.xml: minimum required version of mp2p_icp
  • mrpt_map_server now publishes the map georeferenciation metadata, as topics and /tf (frames: utm, enu)
  • Update URL entries in package.xml to each package proper documentation
  • ament linters: manually enable just cmake and xml linters
  • reformat clang-format with 100 column width
  • Update README.md with geo-referenciation concepts
  • Contributors: Jose Luis Blanco-Claraco

2.1.1 (2024-09-02)

  • Remove temporary workaround in <depends> for buggy mrpt_libros_bridge package.xml
  • update dependencies
  • Depend on new mrpt_lib packages (deprecate mrpt2)
  • Contributors: Jose Luis Blanco-Claraco
  • Remove temporary workaround in <depends> for buggy mrpt_libros_bridge package.xml
  • update dependencies
  • Depend on new mrpt_lib packages (deprecate mrpt2)
  • Contributors: Jose Luis Blanco-Claraco

2.1.0 (2024-08-08)

  • docs: typos and clarifications
  • map server: simplify publication policy. Using transient local only and never republishing them
  • Merge branch 'ros2' into wip/port-tps-astar
  • Merge branch 'ros2' into wip/port-tps-astar
  • Contributors: Jose Luis Blanco-Claraco

2.0.1 (2024-05-28)

2.0.0 (2024-05-28)

  • Implement map getter services
  • Define map_server services
  • Comply with ROS2 REP-2003
  • new param force_republish_period
  • map_server: publish voxelmaps as points too
  • map_server: Implement publishing from .mm files
  • Rename mrpt_map: mrpt_map_server
  • Contributors: Jose Luis Blanco-Claraco

1.0.3 (2022-06-25)

1.0.2 (2022-06-25)

1.0.1 (2022-06-24)

  • Fix build errors
  • Removed now obsolete tf_prefix
  • Ported to tf2 and mrpt::ros1bridge
  • Contributors: Jose Luis Blanco-Claraco

1.0.0 (2022-04-30)

  • Update URLs to https
  • Update build dep to mrpt2
  • Contributors: Jose Luis Blanco Claraco

0.1.26 (2019-10-05)

0.1.25 (2019-10-04)

0.1.24 (2019-04-12)

  • fix build against mrpt-1.5
  • Fix build against MRPT 1.9.9
  • Contributors: Inounx, Jose Luis Blanco-Claraco, Julian Lopez Velasquez

0.1.23 (2018-06-14)

0.1.20 (2018-04-26)

  • fix build against mrpt 2.0
  • partial fix build w mrpt 2.0
  • optimized build (-O3)
  • fix use c++14
  • Merge branch 'master' of github.com:tuw-robotics/mrpt_navigation
  • Merge branch 'master' into master
  • CMake finds MRPT >=1.5 in ROS master branch
  • Merge branch 'master' into compat-mrpt-1.5

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mrpt_map_server at Robotics Stack Exchange

No version for distro foxy showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 2.2.2
License BSD
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/mrpt-ros-pkg/mrpt_navigation.git
VCS Type git
VCS Version ros2
Last Updated 2025-05-28
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

This package provides a ROS 2 node that publishes a static map for other nodes to use it. Unlike classic ROS 1 ``map_server``, this node can publish a range of different metric maps, not only occupancy grids.

Additional Links

Maintainers

  • Markus Bader
  • Jose Luis Blanco-Claraco
  • Shravan S Rai

Authors

No additional authors.

mrpt_map_server

Table of Contents

Overview

This package provides a ROS 2 node that publishes a static map for other nodes to use it. Unlike classic ROS 1 map_server, this node can publish a range of different metric maps, not only occupancy grids.

Node: mrpt_map_server

Working rationale

The C++ ROS 2 node loads all parameters at start up, loads the map as requested by parameters, and publishes the metric map in the corresponding topics. Messages are sent as transient local, so new subscribers can receive them even if they start afterwards.

There are three formats in which maps can be read:

  1. The preferred format is as an mp2p_icp’s metric map file (*.mm), normally generated via sm2mm from a MRPT “simplemap” (*.simplemap) that comes from a SLAM session, e.g. using mola_lidar_odometry.

  2. As a ROS standard YAML file. Here, a *.yaml file specifies the metadata of a 2D occupancy gridmap, which is stored as an accompanying image file. The map will be actually encapsulated into a metric_map_t map with layer name map.

  3. As a serialized MRPT metric map file. A *.metricmap file contains any of the existing MRPT metric maps (point clouds, grid maps, etc.), which may come from custom applications or other SLAM packages. The map will be actually encapsulated into a metric_map_t map with layer name map.

So, whatever is the map source, this node will internally build a metric_map_t with one or more map layers, so it gets published in a uniform way to subscribers.

Refer to example launch files at the end of this file for examples of usage of each of these methods.

ROS Parameters

  • (Option 1 above) mm_file (Default=undefined). Determine the metric_map_t file to load, coming from sm2mm or any other custom user application using mp2p_icp.
  • (Option 2 above) map_yaml_file (Default=undefined): Define this parameter to load a ROS standard YAML file gridmap.
  • (Option 3 above) mrpt_metricmap_file (Default=undefined).
  • frame_id (Default=map): TF frame.
  • pub_mm_topic (Default=mrpt_map). Despite the map source, it will be eventually stored as a mp2p_icp’s metric_map_t (*.mm) structure, then each layer will be published using its layer name as a topic name and with the appropriate type (e.g. PointCloud2, OccupancyGrid,…). Also, the whole metric map is published as a generic serialized object to the topic defined by the parameter pub_mm_topic.

Subscribed topics

None.

Published topics

  • ${pub_mm_topic}/metric_map (Default: mrpt_map/metric_map) (mrpt_msgs::msg::GenericObject) (topic name can be changed with parameter pub_mm_topic).
  • ${pub_mm_topic}/geo_ref (Default: mrpt_map/geo_ref) (mrpt_msgs::msg::GenericObject). An MRPT-serialization of mp2p_icp::metric_map_t::Georeferencing metadata (topic name can be changed with parameter pub_mm_topic).
  • ${pub_mm_topic}/geo_ref_metadata (Default: mrpt_map/geo_ref_metadata)(mrpt_nav_interfaces::msgs::msg::GeoreferencingMetadata). A ROS plain message with the contents of mp2p_icp::metric_map_t::Georeferencing metadata.
  • ${pub_mm_topic}/<LAYER_NAME> (Default: mrpt_map/<LAYER_NAME>) (mrpt_msgs::msg::GenericObject)
  • ${pub_mm_topic}/<LAYER_NAME>_points (sensor_msgs::msg::PointCloud2), one per map layer.
  • ${pub_mm_topic}/<LAYER_NAME>_gridmap (nav_msgs::msg::OccupancyGrid)
  • ${pub_mm_topic}/<LAYER_NAME>_gridmap_metadata (nav_msgs::msg::MapMetaData)
  • (… one per map layer …)

If using options 2 or 3 above, there will be just one layer named map.

Published tf and geo-referenced maps

Refer to the documentation within the MOLA project on geo-referencing for a description of the utm and enu frames, defined by this package if fed with a *.mm file with geo-referenced metadata.

mola_mrpt_ros_geo_referenced_utm_frames

Services

  • GetLayers: Returns the list of map layer names:
# Example usage:
ros2 service call /map_server_node/get_layers  mrpt_nav_interfaces/srv/GetLayers
requester: making request: mrpt_nav_interfaces.srv.GetLayers_Request()

response:
mrpt_nav_interfaces.srv.GetLayers_Response(layers=['map'])

  • GetGridmapLayer: Can be used to request a given map layer of type gridmap.

```bash

Example usage:

ros2 service call /map_server_node/get_grid_layer mrpt_nav_interfaces/srv/GetGridmapLayer “layer_name:
‘map’”

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package mrpt_map_server

2.2.2 (2025-05-28)

  • FIX: remove usage of obsolete ament_target_dependencies()
  • Contributors: Jose Luis Blanco-Claraco

2.2.1 (2024-10-12)

2.2.0 (2024-09-25)

  • Merge pull request #149 from mrpt-ros-pkg/feature/utm-coordinates Support UTM global coordinates for geo-referenciated maps
  • Update package.xml: minimum required version of mp2p_icp
  • mrpt_map_server now publishes the map georeferenciation metadata, as topics and /tf (frames: utm, enu)
  • Update URL entries in package.xml to each package proper documentation
  • ament linters: manually enable just cmake and xml linters
  • reformat clang-format with 100 column width
  • Update README.md with geo-referenciation concepts
  • Contributors: Jose Luis Blanco-Claraco

2.1.1 (2024-09-02)

  • Remove temporary workaround in <depends> for buggy mrpt_libros_bridge package.xml
  • update dependencies
  • Depend on new mrpt_lib packages (deprecate mrpt2)
  • Contributors: Jose Luis Blanco-Claraco
  • Remove temporary workaround in <depends> for buggy mrpt_libros_bridge package.xml
  • update dependencies
  • Depend on new mrpt_lib packages (deprecate mrpt2)
  • Contributors: Jose Luis Blanco-Claraco

2.1.0 (2024-08-08)

  • docs: typos and clarifications
  • map server: simplify publication policy. Using transient local only and never republishing them
  • Merge branch 'ros2' into wip/port-tps-astar
  • Merge branch 'ros2' into wip/port-tps-astar
  • Contributors: Jose Luis Blanco-Claraco

2.0.1 (2024-05-28)

2.0.0 (2024-05-28)

  • Implement map getter services
  • Define map_server services
  • Comply with ROS2 REP-2003
  • new param force_republish_period
  • map_server: publish voxelmaps as points too
  • map_server: Implement publishing from .mm files
  • Rename mrpt_map: mrpt_map_server
  • Contributors: Jose Luis Blanco-Claraco

1.0.3 (2022-06-25)

1.0.2 (2022-06-25)

1.0.1 (2022-06-24)

  • Fix build errors
  • Removed now obsolete tf_prefix
  • Ported to tf2 and mrpt::ros1bridge
  • Contributors: Jose Luis Blanco-Claraco

1.0.0 (2022-04-30)

  • Update URLs to https
  • Update build dep to mrpt2
  • Contributors: Jose Luis Blanco Claraco

0.1.26 (2019-10-05)

0.1.25 (2019-10-04)

0.1.24 (2019-04-12)

  • fix build against mrpt-1.5
  • Fix build against MRPT 1.9.9
  • Contributors: Inounx, Jose Luis Blanco-Claraco, Julian Lopez Velasquez

0.1.23 (2018-06-14)

0.1.20 (2018-04-26)

  • fix build against mrpt 2.0
  • partial fix build w mrpt 2.0
  • optimized build (-O3)
  • fix use c++14
  • Merge branch 'master' of github.com:tuw-robotics/mrpt_navigation
  • Merge branch 'master' into master
  • CMake finds MRPT >=1.5 in ROS master branch
  • Merge branch 'master' into compat-mrpt-1.5

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mrpt_map_server at Robotics Stack Exchange

Package Summary

Tags No category tags.
Version 2.2.2
License BSD
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/mrpt-ros-pkg/mrpt_navigation.git
VCS Type git
VCS Version ros2
Last Updated 2025-05-28
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

This package provides a ROS 2 node that publishes a static map for other nodes to use it. Unlike classic ROS 1 ``map_server``, this node can publish a range of different metric maps, not only occupancy grids.

Additional Links

Maintainers

  • Markus Bader
  • Jose Luis Blanco-Claraco
  • Shravan S Rai

Authors

No additional authors.

mrpt_map_server

Table of Contents

Overview

This package provides a ROS 2 node that publishes a static map for other nodes to use it. Unlike classic ROS 1 map_server, this node can publish a range of different metric maps, not only occupancy grids.

Node: mrpt_map_server

Working rationale

The C++ ROS 2 node loads all parameters at start up, loads the map as requested by parameters, and publishes the metric map in the corresponding topics. Messages are sent as transient local, so new subscribers can receive them even if they start afterwards.

There are three formats in which maps can be read:

  1. The preferred format is as an mp2p_icp’s metric map file (*.mm), normally generated via sm2mm from a MRPT “simplemap” (*.simplemap) that comes from a SLAM session, e.g. using mola_lidar_odometry.

  2. As a ROS standard YAML file. Here, a *.yaml file specifies the metadata of a 2D occupancy gridmap, which is stored as an accompanying image file. The map will be actually encapsulated into a metric_map_t map with layer name map.

  3. As a serialized MRPT metric map file. A *.metricmap file contains any of the existing MRPT metric maps (point clouds, grid maps, etc.), which may come from custom applications or other SLAM packages. The map will be actually encapsulated into a metric_map_t map with layer name map.

So, whatever is the map source, this node will internally build a metric_map_t with one or more map layers, so it gets published in a uniform way to subscribers.

Refer to example launch files at the end of this file for examples of usage of each of these methods.

ROS Parameters

  • (Option 1 above) mm_file (Default=undefined). Determine the metric_map_t file to load, coming from sm2mm or any other custom user application using mp2p_icp.
  • (Option 2 above) map_yaml_file (Default=undefined): Define this parameter to load a ROS standard YAML file gridmap.
  • (Option 3 above) mrpt_metricmap_file (Default=undefined).
  • frame_id (Default=map): TF frame.
  • pub_mm_topic (Default=mrpt_map). Despite the map source, it will be eventually stored as a mp2p_icp’s metric_map_t (*.mm) structure, then each layer will be published using its layer name as a topic name and with the appropriate type (e.g. PointCloud2, OccupancyGrid,…). Also, the whole metric map is published as a generic serialized object to the topic defined by the parameter pub_mm_topic.

Subscribed topics

None.

Published topics

  • ${pub_mm_topic}/metric_map (Default: mrpt_map/metric_map) (mrpt_msgs::msg::GenericObject) (topic name can be changed with parameter pub_mm_topic).
  • ${pub_mm_topic}/geo_ref (Default: mrpt_map/geo_ref) (mrpt_msgs::msg::GenericObject). An MRPT-serialization of mp2p_icp::metric_map_t::Georeferencing metadata (topic name can be changed with parameter pub_mm_topic).
  • ${pub_mm_topic}/geo_ref_metadata (Default: mrpt_map/geo_ref_metadata)(mrpt_nav_interfaces::msgs::msg::GeoreferencingMetadata). A ROS plain message with the contents of mp2p_icp::metric_map_t::Georeferencing metadata.
  • ${pub_mm_topic}/<LAYER_NAME> (Default: mrpt_map/<LAYER_NAME>) (mrpt_msgs::msg::GenericObject)
  • ${pub_mm_topic}/<LAYER_NAME>_points (sensor_msgs::msg::PointCloud2), one per map layer.
  • ${pub_mm_topic}/<LAYER_NAME>_gridmap (nav_msgs::msg::OccupancyGrid)
  • ${pub_mm_topic}/<LAYER_NAME>_gridmap_metadata (nav_msgs::msg::MapMetaData)
  • (… one per map layer …)

If using options 2 or 3 above, there will be just one layer named map.

Published tf and geo-referenced maps

Refer to the documentation within the MOLA project on geo-referencing for a description of the utm and enu frames, defined by this package if fed with a *.mm file with geo-referenced metadata.

mola_mrpt_ros_geo_referenced_utm_frames

Services

  • GetLayers: Returns the list of map layer names:
# Example usage:
ros2 service call /map_server_node/get_layers  mrpt_nav_interfaces/srv/GetLayers
requester: making request: mrpt_nav_interfaces.srv.GetLayers_Request()

response:
mrpt_nav_interfaces.srv.GetLayers_Response(layers=['map'])

  • GetGridmapLayer: Can be used to request a given map layer of type gridmap.

```bash

Example usage:

ros2 service call /map_server_node/get_grid_layer mrpt_nav_interfaces/srv/GetGridmapLayer “layer_name:
‘map’”

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package mrpt_map_server

2.2.2 (2025-05-28)

  • FIX: remove usage of obsolete ament_target_dependencies()
  • Contributors: Jose Luis Blanco-Claraco

2.2.1 (2024-10-12)

2.2.0 (2024-09-25)

  • Merge pull request #149 from mrpt-ros-pkg/feature/utm-coordinates Support UTM global coordinates for geo-referenciated maps
  • Update package.xml: minimum required version of mp2p_icp
  • mrpt_map_server now publishes the map georeferenciation metadata, as topics and /tf (frames: utm, enu)
  • Update URL entries in package.xml to each package proper documentation
  • ament linters: manually enable just cmake and xml linters
  • reformat clang-format with 100 column width
  • Update README.md with geo-referenciation concepts
  • Contributors: Jose Luis Blanco-Claraco

2.1.1 (2024-09-02)

  • Remove temporary workaround in <depends> for buggy mrpt_libros_bridge package.xml
  • update dependencies
  • Depend on new mrpt_lib packages (deprecate mrpt2)
  • Contributors: Jose Luis Blanco-Claraco
  • Remove temporary workaround in <depends> for buggy mrpt_libros_bridge package.xml
  • update dependencies
  • Depend on new mrpt_lib packages (deprecate mrpt2)
  • Contributors: Jose Luis Blanco-Claraco

2.1.0 (2024-08-08)

  • docs: typos and clarifications
  • map server: simplify publication policy. Using transient local only and never republishing them
  • Merge branch 'ros2' into wip/port-tps-astar
  • Merge branch 'ros2' into wip/port-tps-astar
  • Contributors: Jose Luis Blanco-Claraco

2.0.1 (2024-05-28)

2.0.0 (2024-05-28)

  • Implement map getter services
  • Define map_server services
  • Comply with ROS2 REP-2003
  • new param force_republish_period
  • map_server: publish voxelmaps as points too
  • map_server: Implement publishing from .mm files
  • Rename mrpt_map: mrpt_map_server
  • Contributors: Jose Luis Blanco-Claraco

1.0.3 (2022-06-25)

1.0.2 (2022-06-25)

1.0.1 (2022-06-24)

  • Fix build errors
  • Removed now obsolete tf_prefix
  • Ported to tf2 and mrpt::ros1bridge
  • Contributors: Jose Luis Blanco-Claraco

1.0.0 (2022-04-30)

  • Update URLs to https
  • Update build dep to mrpt2
  • Contributors: Jose Luis Blanco Claraco

0.1.26 (2019-10-05)

0.1.25 (2019-10-04)

0.1.24 (2019-04-12)

  • fix build against mrpt-1.5
  • Fix build against MRPT 1.9.9
  • Contributors: Inounx, Jose Luis Blanco-Claraco, Julian Lopez Velasquez

0.1.23 (2018-06-14)

0.1.20 (2018-04-26)

  • fix build against mrpt 2.0
  • partial fix build w mrpt 2.0
  • optimized build (-O3)
  • fix use c++14
  • Merge branch 'master' of github.com:tuw-robotics/mrpt_navigation
  • Merge branch 'master' into master
  • CMake finds MRPT >=1.5 in ROS master branch
  • Merge branch 'master' into compat-mrpt-1.5

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mrpt_map_server at Robotics Stack Exchange

No version for distro lunar showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 2.2.2
License BSD
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/mrpt-ros-pkg/mrpt_navigation.git
VCS Type git
VCS Version ros2
Last Updated 2025-05-28
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

This package provides a ROS 2 node that publishes a static map for other nodes to use it. Unlike classic ROS 1 ``map_server``, this node can publish a range of different metric maps, not only occupancy grids.

Additional Links

Maintainers

  • Markus Bader
  • Jose Luis Blanco-Claraco
  • Shravan S Rai

Authors

No additional authors.

mrpt_map_server

Table of Contents

Overview

This package provides a ROS 2 node that publishes a static map for other nodes to use it. Unlike classic ROS 1 map_server, this node can publish a range of different metric maps, not only occupancy grids.

Node: mrpt_map_server

Working rationale

The C++ ROS 2 node loads all parameters at start up, loads the map as requested by parameters, and publishes the metric map in the corresponding topics. Messages are sent as transient local, so new subscribers can receive them even if they start afterwards.

There are three formats in which maps can be read:

  1. The preferred format is as an mp2p_icp’s metric map file (*.mm), normally generated via sm2mm from a MRPT “simplemap” (*.simplemap) that comes from a SLAM session, e.g. using mola_lidar_odometry.

  2. As a ROS standard YAML file. Here, a *.yaml file specifies the metadata of a 2D occupancy gridmap, which is stored as an accompanying image file. The map will be actually encapsulated into a metric_map_t map with layer name map.

  3. As a serialized MRPT metric map file. A *.metricmap file contains any of the existing MRPT metric maps (point clouds, grid maps, etc.), which may come from custom applications or other SLAM packages. The map will be actually encapsulated into a metric_map_t map with layer name map.

So, whatever is the map source, this node will internally build a metric_map_t with one or more map layers, so it gets published in a uniform way to subscribers.

Refer to example launch files at the end of this file for examples of usage of each of these methods.

ROS Parameters

  • (Option 1 above) mm_file (Default=undefined). Determine the metric_map_t file to load, coming from sm2mm or any other custom user application using mp2p_icp.
  • (Option 2 above) map_yaml_file (Default=undefined): Define this parameter to load a ROS standard YAML file gridmap.
  • (Option 3 above) mrpt_metricmap_file (Default=undefined).
  • frame_id (Default=map): TF frame.
  • pub_mm_topic (Default=mrpt_map). Despite the map source, it will be eventually stored as a mp2p_icp’s metric_map_t (*.mm) structure, then each layer will be published using its layer name as a topic name and with the appropriate type (e.g. PointCloud2, OccupancyGrid,…). Also, the whole metric map is published as a generic serialized object to the topic defined by the parameter pub_mm_topic.

Subscribed topics

None.

Published topics

  • ${pub_mm_topic}/metric_map (Default: mrpt_map/metric_map) (mrpt_msgs::msg::GenericObject) (topic name can be changed with parameter pub_mm_topic).
  • ${pub_mm_topic}/geo_ref (Default: mrpt_map/geo_ref) (mrpt_msgs::msg::GenericObject). An MRPT-serialization of mp2p_icp::metric_map_t::Georeferencing metadata (topic name can be changed with parameter pub_mm_topic).
  • ${pub_mm_topic}/geo_ref_metadata (Default: mrpt_map/geo_ref_metadata)(mrpt_nav_interfaces::msgs::msg::GeoreferencingMetadata). A ROS plain message with the contents of mp2p_icp::metric_map_t::Georeferencing metadata.
  • ${pub_mm_topic}/<LAYER_NAME> (Default: mrpt_map/<LAYER_NAME>) (mrpt_msgs::msg::GenericObject)
  • ${pub_mm_topic}/<LAYER_NAME>_points (sensor_msgs::msg::PointCloud2), one per map layer.
  • ${pub_mm_topic}/<LAYER_NAME>_gridmap (nav_msgs::msg::OccupancyGrid)
  • ${pub_mm_topic}/<LAYER_NAME>_gridmap_metadata (nav_msgs::msg::MapMetaData)
  • (… one per map layer …)

If using options 2 or 3 above, there will be just one layer named map.

Published tf and geo-referenced maps

Refer to the documentation within the MOLA project on geo-referencing for a description of the utm and enu frames, defined by this package if fed with a *.mm file with geo-referenced metadata.

mola_mrpt_ros_geo_referenced_utm_frames

Services

  • GetLayers: Returns the list of map layer names:
# Example usage:
ros2 service call /map_server_node/get_layers  mrpt_nav_interfaces/srv/GetLayers
requester: making request: mrpt_nav_interfaces.srv.GetLayers_Request()

response:
mrpt_nav_interfaces.srv.GetLayers_Response(layers=['map'])

  • GetGridmapLayer: Can be used to request a given map layer of type gridmap.

```bash

Example usage:

ros2 service call /map_server_node/get_grid_layer mrpt_nav_interfaces/srv/GetGridmapLayer “layer_name:
‘map’”

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package mrpt_map_server

2.2.2 (2025-05-28)

  • FIX: remove usage of obsolete ament_target_dependencies()
  • Contributors: Jose Luis Blanco-Claraco

2.2.1 (2024-10-12)

2.2.0 (2024-09-25)

  • Merge pull request #149 from mrpt-ros-pkg/feature/utm-coordinates Support UTM global coordinates for geo-referenciated maps
  • Update package.xml: minimum required version of mp2p_icp
  • mrpt_map_server now publishes the map georeferenciation metadata, as topics and /tf (frames: utm, enu)
  • Update URL entries in package.xml to each package proper documentation
  • ament linters: manually enable just cmake and xml linters
  • reformat clang-format with 100 column width
  • Update README.md with geo-referenciation concepts
  • Contributors: Jose Luis Blanco-Claraco

2.1.1 (2024-09-02)

  • Remove temporary workaround in <depends> for buggy mrpt_libros_bridge package.xml
  • update dependencies
  • Depend on new mrpt_lib packages (deprecate mrpt2)
  • Contributors: Jose Luis Blanco-Claraco
  • Remove temporary workaround in <depends> for buggy mrpt_libros_bridge package.xml
  • update dependencies
  • Depend on new mrpt_lib packages (deprecate mrpt2)
  • Contributors: Jose Luis Blanco-Claraco

2.1.0 (2024-08-08)

  • docs: typos and clarifications
  • map server: simplify publication policy. Using transient local only and never republishing them
  • Merge branch 'ros2' into wip/port-tps-astar
  • Merge branch 'ros2' into wip/port-tps-astar
  • Contributors: Jose Luis Blanco-Claraco

2.0.1 (2024-05-28)

2.0.0 (2024-05-28)

  • Implement map getter services
  • Define map_server services
  • Comply with ROS2 REP-2003
  • new param force_republish_period
  • map_server: publish voxelmaps as points too
  • map_server: Implement publishing from .mm files
  • Rename mrpt_map: mrpt_map_server
  • Contributors: Jose Luis Blanco-Claraco

1.0.3 (2022-06-25)

1.0.2 (2022-06-25)

1.0.1 (2022-06-24)

  • Fix build errors
  • Removed now obsolete tf_prefix
  • Ported to tf2 and mrpt::ros1bridge
  • Contributors: Jose Luis Blanco-Claraco

1.0.0 (2022-04-30)

  • Update URLs to https
  • Update build dep to mrpt2
  • Contributors: Jose Luis Blanco Claraco

0.1.26 (2019-10-05)

0.1.25 (2019-10-04)

0.1.24 (2019-04-12)

  • fix build against mrpt-1.5
  • Fix build against MRPT 1.9.9
  • Contributors: Inounx, Jose Luis Blanco-Claraco, Julian Lopez Velasquez

0.1.23 (2018-06-14)

0.1.20 (2018-04-26)

  • fix build against mrpt 2.0
  • partial fix build w mrpt 2.0
  • optimized build (-O3)
  • fix use c++14
  • Merge branch 'master' of github.com:tuw-robotics/mrpt_navigation
  • Merge branch 'master' into master
  • CMake finds MRPT >=1.5 in ROS master branch
  • Merge branch 'master' into compat-mrpt-1.5

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mrpt_map_server at Robotics Stack Exchange

No version for distro jade showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 2.2.2
License BSD
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/mrpt-ros-pkg/mrpt_navigation.git
VCS Type git
VCS Version ros2
Last Updated 2025-05-28
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

This package provides a ROS 2 node that publishes a static map for other nodes to use it. Unlike classic ROS 1 ``map_server``, this node can publish a range of different metric maps, not only occupancy grids.

Additional Links

Maintainers

  • Markus Bader
  • Jose Luis Blanco-Claraco
  • Shravan S Rai

Authors

No additional authors.

mrpt_map_server

Table of Contents

Overview

This package provides a ROS 2 node that publishes a static map for other nodes to use it. Unlike classic ROS 1 map_server, this node can publish a range of different metric maps, not only occupancy grids.

Node: mrpt_map_server

Working rationale

The C++ ROS 2 node loads all parameters at start up, loads the map as requested by parameters, and publishes the metric map in the corresponding topics. Messages are sent as transient local, so new subscribers can receive them even if they start afterwards.

There are three formats in which maps can be read:

  1. The preferred format is as an mp2p_icp’s metric map file (*.mm), normally generated via sm2mm from a MRPT “simplemap” (*.simplemap) that comes from a SLAM session, e.g. using mola_lidar_odometry.

  2. As a ROS standard YAML file. Here, a *.yaml file specifies the metadata of a 2D occupancy gridmap, which is stored as an accompanying image file. The map will be actually encapsulated into a metric_map_t map with layer name map.

  3. As a serialized MRPT metric map file. A *.metricmap file contains any of the existing MRPT metric maps (point clouds, grid maps, etc.), which may come from custom applications or other SLAM packages. The map will be actually encapsulated into a metric_map_t map with layer name map.

So, whatever is the map source, this node will internally build a metric_map_t with one or more map layers, so it gets published in a uniform way to subscribers.

Refer to example launch files at the end of this file for examples of usage of each of these methods.

ROS Parameters

  • (Option 1 above) mm_file (Default=undefined). Determine the metric_map_t file to load, coming from sm2mm or any other custom user application using mp2p_icp.
  • (Option 2 above) map_yaml_file (Default=undefined): Define this parameter to load a ROS standard YAML file gridmap.
  • (Option 3 above) mrpt_metricmap_file (Default=undefined).
  • frame_id (Default=map): TF frame.
  • pub_mm_topic (Default=mrpt_map). Despite the map source, it will be eventually stored as a mp2p_icp’s metric_map_t (*.mm) structure, then each layer will be published using its layer name as a topic name and with the appropriate type (e.g. PointCloud2, OccupancyGrid,…). Also, the whole metric map is published as a generic serialized object to the topic defined by the parameter pub_mm_topic.

Subscribed topics

None.

Published topics

  • ${pub_mm_topic}/metric_map (Default: mrpt_map/metric_map) (mrpt_msgs::msg::GenericObject) (topic name can be changed with parameter pub_mm_topic).
  • ${pub_mm_topic}/geo_ref (Default: mrpt_map/geo_ref) (mrpt_msgs::msg::GenericObject). An MRPT-serialization of mp2p_icp::metric_map_t::Georeferencing metadata (topic name can be changed with parameter pub_mm_topic).
  • ${pub_mm_topic}/geo_ref_metadata (Default: mrpt_map/geo_ref_metadata)(mrpt_nav_interfaces::msgs::msg::GeoreferencingMetadata). A ROS plain message with the contents of mp2p_icp::metric_map_t::Georeferencing metadata.
  • ${pub_mm_topic}/<LAYER_NAME> (Default: mrpt_map/<LAYER_NAME>) (mrpt_msgs::msg::GenericObject)
  • ${pub_mm_topic}/<LAYER_NAME>_points (sensor_msgs::msg::PointCloud2), one per map layer.
  • ${pub_mm_topic}/<LAYER_NAME>_gridmap (nav_msgs::msg::OccupancyGrid)
  • ${pub_mm_topic}/<LAYER_NAME>_gridmap_metadata (nav_msgs::msg::MapMetaData)
  • (… one per map layer …)

If using options 2 or 3 above, there will be just one layer named map.

Published tf and geo-referenced maps

Refer to the documentation within the MOLA project on geo-referencing for a description of the utm and enu frames, defined by this package if fed with a *.mm file with geo-referenced metadata.

mola_mrpt_ros_geo_referenced_utm_frames

Services

  • GetLayers: Returns the list of map layer names:
# Example usage:
ros2 service call /map_server_node/get_layers  mrpt_nav_interfaces/srv/GetLayers
requester: making request: mrpt_nav_interfaces.srv.GetLayers_Request()

response:
mrpt_nav_interfaces.srv.GetLayers_Response(layers=['map'])

  • GetGridmapLayer: Can be used to request a given map layer of type gridmap.

```bash

Example usage:

ros2 service call /map_server_node/get_grid_layer mrpt_nav_interfaces/srv/GetGridmapLayer “layer_name:
‘map’”

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package mrpt_map_server

2.2.2 (2025-05-28)

  • FIX: remove usage of obsolete ament_target_dependencies()
  • Contributors: Jose Luis Blanco-Claraco

2.2.1 (2024-10-12)

2.2.0 (2024-09-25)

  • Merge pull request #149 from mrpt-ros-pkg/feature/utm-coordinates Support UTM global coordinates for geo-referenciated maps
  • Update package.xml: minimum required version of mp2p_icp
  • mrpt_map_server now publishes the map georeferenciation metadata, as topics and /tf (frames: utm, enu)
  • Update URL entries in package.xml to each package proper documentation
  • ament linters: manually enable just cmake and xml linters
  • reformat clang-format with 100 column width
  • Update README.md with geo-referenciation concepts
  • Contributors: Jose Luis Blanco-Claraco

2.1.1 (2024-09-02)

  • Remove temporary workaround in <depends> for buggy mrpt_libros_bridge package.xml
  • update dependencies
  • Depend on new mrpt_lib packages (deprecate mrpt2)
  • Contributors: Jose Luis Blanco-Claraco
  • Remove temporary workaround in <depends> for buggy mrpt_libros_bridge package.xml
  • update dependencies
  • Depend on new mrpt_lib packages (deprecate mrpt2)
  • Contributors: Jose Luis Blanco-Claraco

2.1.0 (2024-08-08)

  • docs: typos and clarifications
  • map server: simplify publication policy. Using transient local only and never republishing them
  • Merge branch 'ros2' into wip/port-tps-astar
  • Merge branch 'ros2' into wip/port-tps-astar
  • Contributors: Jose Luis Blanco-Claraco

2.0.1 (2024-05-28)

2.0.0 (2024-05-28)

  • Implement map getter services
  • Define map_server services
  • Comply with ROS2 REP-2003
  • new param force_republish_period
  • map_server: publish voxelmaps as points too
  • map_server: Implement publishing from .mm files
  • Rename mrpt_map: mrpt_map_server
  • Contributors: Jose Luis Blanco-Claraco

1.0.3 (2022-06-25)

1.0.2 (2022-06-25)

1.0.1 (2022-06-24)

  • Fix build errors
  • Removed now obsolete tf_prefix
  • Ported to tf2 and mrpt::ros1bridge
  • Contributors: Jose Luis Blanco-Claraco

1.0.0 (2022-04-30)

  • Update URLs to https
  • Update build dep to mrpt2
  • Contributors: Jose Luis Blanco Claraco

0.1.26 (2019-10-05)

0.1.25 (2019-10-04)

0.1.24 (2019-04-12)

  • fix build against mrpt-1.5
  • Fix build against MRPT 1.9.9
  • Contributors: Inounx, Jose Luis Blanco-Claraco, Julian Lopez Velasquez

0.1.23 (2018-06-14)

0.1.20 (2018-04-26)

  • fix build against mrpt 2.0
  • partial fix build w mrpt 2.0
  • optimized build (-O3)
  • fix use c++14
  • Merge branch 'master' of github.com:tuw-robotics/mrpt_navigation
  • Merge branch 'master' into master
  • CMake finds MRPT >=1.5 in ROS master branch
  • Merge branch 'master' into compat-mrpt-1.5

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mrpt_map_server at Robotics Stack Exchange

No version for distro indigo showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 2.2.2
License BSD
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/mrpt-ros-pkg/mrpt_navigation.git
VCS Type git
VCS Version ros2
Last Updated 2025-05-28
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

This package provides a ROS 2 node that publishes a static map for other nodes to use it. Unlike classic ROS 1 ``map_server``, this node can publish a range of different metric maps, not only occupancy grids.

Additional Links

Maintainers

  • Markus Bader
  • Jose Luis Blanco-Claraco
  • Shravan S Rai

Authors

No additional authors.

mrpt_map_server

Table of Contents

Overview

This package provides a ROS 2 node that publishes a static map for other nodes to use it. Unlike classic ROS 1 map_server, this node can publish a range of different metric maps, not only occupancy grids.

Node: mrpt_map_server

Working rationale

The C++ ROS 2 node loads all parameters at start up, loads the map as requested by parameters, and publishes the metric map in the corresponding topics. Messages are sent as transient local, so new subscribers can receive them even if they start afterwards.

There are three formats in which maps can be read:

  1. The preferred format is as an mp2p_icp’s metric map file (*.mm), normally generated via sm2mm from a MRPT “simplemap” (*.simplemap) that comes from a SLAM session, e.g. using mola_lidar_odometry.

  2. As a ROS standard YAML file. Here, a *.yaml file specifies the metadata of a 2D occupancy gridmap, which is stored as an accompanying image file. The map will be actually encapsulated into a metric_map_t map with layer name map.

  3. As a serialized MRPT metric map file. A *.metricmap file contains any of the existing MRPT metric maps (point clouds, grid maps, etc.), which may come from custom applications or other SLAM packages. The map will be actually encapsulated into a metric_map_t map with layer name map.

So, whatever is the map source, this node will internally build a metric_map_t with one or more map layers, so it gets published in a uniform way to subscribers.

Refer to example launch files at the end of this file for examples of usage of each of these methods.

ROS Parameters

  • (Option 1 above) mm_file (Default=undefined). Determine the metric_map_t file to load, coming from sm2mm or any other custom user application using mp2p_icp.
  • (Option 2 above) map_yaml_file (Default=undefined): Define this parameter to load a ROS standard YAML file gridmap.
  • (Option 3 above) mrpt_metricmap_file (Default=undefined).
  • frame_id (Default=map): TF frame.
  • pub_mm_topic (Default=mrpt_map). Despite the map source, it will be eventually stored as a mp2p_icp’s metric_map_t (*.mm) structure, then each layer will be published using its layer name as a topic name and with the appropriate type (e.g. PointCloud2, OccupancyGrid,…). Also, the whole metric map is published as a generic serialized object to the topic defined by the parameter pub_mm_topic.

Subscribed topics

None.

Published topics

  • ${pub_mm_topic}/metric_map (Default: mrpt_map/metric_map) (mrpt_msgs::msg::GenericObject) (topic name can be changed with parameter pub_mm_topic).
  • ${pub_mm_topic}/geo_ref (Default: mrpt_map/geo_ref) (mrpt_msgs::msg::GenericObject). An MRPT-serialization of mp2p_icp::metric_map_t::Georeferencing metadata (topic name can be changed with parameter pub_mm_topic).
  • ${pub_mm_topic}/geo_ref_metadata (Default: mrpt_map/geo_ref_metadata)(mrpt_nav_interfaces::msgs::msg::GeoreferencingMetadata). A ROS plain message with the contents of mp2p_icp::metric_map_t::Georeferencing metadata.
  • ${pub_mm_topic}/<LAYER_NAME> (Default: mrpt_map/<LAYER_NAME>) (mrpt_msgs::msg::GenericObject)
  • ${pub_mm_topic}/<LAYER_NAME>_points (sensor_msgs::msg::PointCloud2), one per map layer.
  • ${pub_mm_topic}/<LAYER_NAME>_gridmap (nav_msgs::msg::OccupancyGrid)
  • ${pub_mm_topic}/<LAYER_NAME>_gridmap_metadata (nav_msgs::msg::MapMetaData)
  • (… one per map layer …)

If using options 2 or 3 above, there will be just one layer named map.

Published tf and geo-referenced maps

Refer to the documentation within the MOLA project on geo-referencing for a description of the utm and enu frames, defined by this package if fed with a *.mm file with geo-referenced metadata.

mola_mrpt_ros_geo_referenced_utm_frames

Services

  • GetLayers: Returns the list of map layer names:
# Example usage:
ros2 service call /map_server_node/get_layers  mrpt_nav_interfaces/srv/GetLayers
requester: making request: mrpt_nav_interfaces.srv.GetLayers_Request()

response:
mrpt_nav_interfaces.srv.GetLayers_Response(layers=['map'])

  • GetGridmapLayer: Can be used to request a given map layer of type gridmap.

```bash

Example usage:

ros2 service call /map_server_node/get_grid_layer mrpt_nav_interfaces/srv/GetGridmapLayer “layer_name:
‘map’”

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package mrpt_map_server

2.2.2 (2025-05-28)

  • FIX: remove usage of obsolete ament_target_dependencies()
  • Contributors: Jose Luis Blanco-Claraco

2.2.1 (2024-10-12)

2.2.0 (2024-09-25)

  • Merge pull request #149 from mrpt-ros-pkg/feature/utm-coordinates Support UTM global coordinates for geo-referenciated maps
  • Update package.xml: minimum required version of mp2p_icp
  • mrpt_map_server now publishes the map georeferenciation metadata, as topics and /tf (frames: utm, enu)
  • Update URL entries in package.xml to each package proper documentation
  • ament linters: manually enable just cmake and xml linters
  • reformat clang-format with 100 column width
  • Update README.md with geo-referenciation concepts
  • Contributors: Jose Luis Blanco-Claraco

2.1.1 (2024-09-02)

  • Remove temporary workaround in <depends> for buggy mrpt_libros_bridge package.xml
  • update dependencies
  • Depend on new mrpt_lib packages (deprecate mrpt2)
  • Contributors: Jose Luis Blanco-Claraco
  • Remove temporary workaround in <depends> for buggy mrpt_libros_bridge package.xml
  • update dependencies
  • Depend on new mrpt_lib packages (deprecate mrpt2)
  • Contributors: Jose Luis Blanco-Claraco

2.1.0 (2024-08-08)

  • docs: typos and clarifications
  • map server: simplify publication policy. Using transient local only and never republishing them
  • Merge branch 'ros2' into wip/port-tps-astar
  • Merge branch 'ros2' into wip/port-tps-astar
  • Contributors: Jose Luis Blanco-Claraco

2.0.1 (2024-05-28)

2.0.0 (2024-05-28)

  • Implement map getter services
  • Define map_server services
  • Comply with ROS2 REP-2003
  • new param force_republish_period
  • map_server: publish voxelmaps as points too
  • map_server: Implement publishing from .mm files
  • Rename mrpt_map: mrpt_map_server
  • Contributors: Jose Luis Blanco-Claraco

1.0.3 (2022-06-25)

1.0.2 (2022-06-25)

1.0.1 (2022-06-24)

  • Fix build errors
  • Removed now obsolete tf_prefix
  • Ported to tf2 and mrpt::ros1bridge
  • Contributors: Jose Luis Blanco-Claraco

1.0.0 (2022-04-30)

  • Update URLs to https
  • Update build dep to mrpt2
  • Contributors: Jose Luis Blanco Claraco

0.1.26 (2019-10-05)

0.1.25 (2019-10-04)

0.1.24 (2019-04-12)

  • fix build against mrpt-1.5
  • Fix build against MRPT 1.9.9
  • Contributors: Inounx, Jose Luis Blanco-Claraco, Julian Lopez Velasquez

0.1.23 (2018-06-14)

0.1.20 (2018-04-26)

  • fix build against mrpt 2.0
  • partial fix build w mrpt 2.0
  • optimized build (-O3)
  • fix use c++14
  • Merge branch 'master' of github.com:tuw-robotics/mrpt_navigation
  • Merge branch 'master' into master
  • CMake finds MRPT >=1.5 in ROS master branch
  • Merge branch 'master' into compat-mrpt-1.5

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mrpt_map_server at Robotics Stack Exchange

No version for distro hydro showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 2.2.2
License BSD
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/mrpt-ros-pkg/mrpt_navigation.git
VCS Type git
VCS Version ros2
Last Updated 2025-05-28
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

This package provides a ROS 2 node that publishes a static map for other nodes to use it. Unlike classic ROS 1 ``map_server``, this node can publish a range of different metric maps, not only occupancy grids.

Additional Links

Maintainers

  • Markus Bader
  • Jose Luis Blanco-Claraco
  • Shravan S Rai

Authors

No additional authors.

mrpt_map_server

Table of Contents

Overview

This package provides a ROS 2 node that publishes a static map for other nodes to use it. Unlike classic ROS 1 map_server, this node can publish a range of different metric maps, not only occupancy grids.

Node: mrpt_map_server

Working rationale

The C++ ROS 2 node loads all parameters at start up, loads the map as requested by parameters, and publishes the metric map in the corresponding topics. Messages are sent as transient local, so new subscribers can receive them even if they start afterwards.

There are three formats in which maps can be read:

  1. The preferred format is as an mp2p_icp’s metric map file (*.mm), normally generated via sm2mm from a MRPT “simplemap” (*.simplemap) that comes from a SLAM session, e.g. using mola_lidar_odometry.

  2. As a ROS standard YAML file. Here, a *.yaml file specifies the metadata of a 2D occupancy gridmap, which is stored as an accompanying image file. The map will be actually encapsulated into a metric_map_t map with layer name map.

  3. As a serialized MRPT metric map file. A *.metricmap file contains any of the existing MRPT metric maps (point clouds, grid maps, etc.), which may come from custom applications or other SLAM packages. The map will be actually encapsulated into a metric_map_t map with layer name map.

So, whatever is the map source, this node will internally build a metric_map_t with one or more map layers, so it gets published in a uniform way to subscribers.

Refer to example launch files at the end of this file for examples of usage of each of these methods.

ROS Parameters

  • (Option 1 above) mm_file (Default=undefined). Determine the metric_map_t file to load, coming from sm2mm or any other custom user application using mp2p_icp.
  • (Option 2 above) map_yaml_file (Default=undefined): Define this parameter to load a ROS standard YAML file gridmap.
  • (Option 3 above) mrpt_metricmap_file (Default=undefined).
  • frame_id (Default=map): TF frame.
  • pub_mm_topic (Default=mrpt_map). Despite the map source, it will be eventually stored as a mp2p_icp’s metric_map_t (*.mm) structure, then each layer will be published using its layer name as a topic name and with the appropriate type (e.g. PointCloud2, OccupancyGrid,…). Also, the whole metric map is published as a generic serialized object to the topic defined by the parameter pub_mm_topic.

Subscribed topics

None.

Published topics

  • ${pub_mm_topic}/metric_map (Default: mrpt_map/metric_map) (mrpt_msgs::msg::GenericObject) (topic name can be changed with parameter pub_mm_topic).
  • ${pub_mm_topic}/geo_ref (Default: mrpt_map/geo_ref) (mrpt_msgs::msg::GenericObject). An MRPT-serialization of mp2p_icp::metric_map_t::Georeferencing metadata (topic name can be changed with parameter pub_mm_topic).
  • ${pub_mm_topic}/geo_ref_metadata (Default: mrpt_map/geo_ref_metadata)(mrpt_nav_interfaces::msgs::msg::GeoreferencingMetadata). A ROS plain message with the contents of mp2p_icp::metric_map_t::Georeferencing metadata.
  • ${pub_mm_topic}/<LAYER_NAME> (Default: mrpt_map/<LAYER_NAME>) (mrpt_msgs::msg::GenericObject)
  • ${pub_mm_topic}/<LAYER_NAME>_points (sensor_msgs::msg::PointCloud2), one per map layer.
  • ${pub_mm_topic}/<LAYER_NAME>_gridmap (nav_msgs::msg::OccupancyGrid)
  • ${pub_mm_topic}/<LAYER_NAME>_gridmap_metadata (nav_msgs::msg::MapMetaData)
  • (… one per map layer …)

If using options 2 or 3 above, there will be just one layer named map.

Published tf and geo-referenced maps

Refer to the documentation within the MOLA project on geo-referencing for a description of the utm and enu frames, defined by this package if fed with a *.mm file with geo-referenced metadata.

mola_mrpt_ros_geo_referenced_utm_frames

Services

  • GetLayers: Returns the list of map layer names:
# Example usage:
ros2 service call /map_server_node/get_layers  mrpt_nav_interfaces/srv/GetLayers
requester: making request: mrpt_nav_interfaces.srv.GetLayers_Request()

response:
mrpt_nav_interfaces.srv.GetLayers_Response(layers=['map'])

  • GetGridmapLayer: Can be used to request a given map layer of type gridmap.

```bash

Example usage:

ros2 service call /map_server_node/get_grid_layer mrpt_nav_interfaces/srv/GetGridmapLayer “layer_name:
‘map’”

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package mrpt_map_server

2.2.2 (2025-05-28)

  • FIX: remove usage of obsolete ament_target_dependencies()
  • Contributors: Jose Luis Blanco-Claraco

2.2.1 (2024-10-12)

2.2.0 (2024-09-25)

  • Merge pull request #149 from mrpt-ros-pkg/feature/utm-coordinates Support UTM global coordinates for geo-referenciated maps
  • Update package.xml: minimum required version of mp2p_icp
  • mrpt_map_server now publishes the map georeferenciation metadata, as topics and /tf (frames: utm, enu)
  • Update URL entries in package.xml to each package proper documentation
  • ament linters: manually enable just cmake and xml linters
  • reformat clang-format with 100 column width
  • Update README.md with geo-referenciation concepts
  • Contributors: Jose Luis Blanco-Claraco

2.1.1 (2024-09-02)

  • Remove temporary workaround in <depends> for buggy mrpt_libros_bridge package.xml
  • update dependencies
  • Depend on new mrpt_lib packages (deprecate mrpt2)
  • Contributors: Jose Luis Blanco-Claraco
  • Remove temporary workaround in <depends> for buggy mrpt_libros_bridge package.xml
  • update dependencies
  • Depend on new mrpt_lib packages (deprecate mrpt2)
  • Contributors: Jose Luis Blanco-Claraco

2.1.0 (2024-08-08)

  • docs: typos and clarifications
  • map server: simplify publication policy. Using transient local only and never republishing them
  • Merge branch 'ros2' into wip/port-tps-astar
  • Merge branch 'ros2' into wip/port-tps-astar
  • Contributors: Jose Luis Blanco-Claraco

2.0.1 (2024-05-28)

2.0.0 (2024-05-28)

  • Implement map getter services
  • Define map_server services
  • Comply with ROS2 REP-2003
  • new param force_republish_period
  • map_server: publish voxelmaps as points too
  • map_server: Implement publishing from .mm files
  • Rename mrpt_map: mrpt_map_server
  • Contributors: Jose Luis Blanco-Claraco

1.0.3 (2022-06-25)

1.0.2 (2022-06-25)

1.0.1 (2022-06-24)

  • Fix build errors
  • Removed now obsolete tf_prefix
  • Ported to tf2 and mrpt::ros1bridge
  • Contributors: Jose Luis Blanco-Claraco

1.0.0 (2022-04-30)

  • Update URLs to https
  • Update build dep to mrpt2
  • Contributors: Jose Luis Blanco Claraco

0.1.26 (2019-10-05)

0.1.25 (2019-10-04)

0.1.24 (2019-04-12)

  • fix build against mrpt-1.5
  • Fix build against MRPT 1.9.9
  • Contributors: Inounx, Jose Luis Blanco-Claraco, Julian Lopez Velasquez

0.1.23 (2018-06-14)

0.1.20 (2018-04-26)

  • fix build against mrpt 2.0
  • partial fix build w mrpt 2.0
  • optimized build (-O3)
  • fix use c++14
  • Merge branch 'master' of github.com:tuw-robotics/mrpt_navigation
  • Merge branch 'master' into master
  • CMake finds MRPT >=1.5 in ROS master branch
  • Merge branch 'master' into compat-mrpt-1.5

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mrpt_map_server at Robotics Stack Exchange

No version for distro kinetic showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 2.2.2
License BSD
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/mrpt-ros-pkg/mrpt_navigation.git
VCS Type git
VCS Version ros2
Last Updated 2025-05-28
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

This package provides a ROS 2 node that publishes a static map for other nodes to use it. Unlike classic ROS 1 ``map_server``, this node can publish a range of different metric maps, not only occupancy grids.

Additional Links

Maintainers

  • Markus Bader
  • Jose Luis Blanco-Claraco
  • Shravan S Rai

Authors

No additional authors.

mrpt_map_server

Table of Contents

Overview

This package provides a ROS 2 node that publishes a static map for other nodes to use it. Unlike classic ROS 1 map_server, this node can publish a range of different metric maps, not only occupancy grids.

Node: mrpt_map_server

Working rationale

The C++ ROS 2 node loads all parameters at start up, loads the map as requested by parameters, and publishes the metric map in the corresponding topics. Messages are sent as transient local, so new subscribers can receive them even if they start afterwards.

There are three formats in which maps can be read:

  1. The preferred format is as an mp2p_icp’s metric map file (*.mm), normally generated via sm2mm from a MRPT “simplemap” (*.simplemap) that comes from a SLAM session, e.g. using mola_lidar_odometry.

  2. As a ROS standard YAML file. Here, a *.yaml file specifies the metadata of a 2D occupancy gridmap, which is stored as an accompanying image file. The map will be actually encapsulated into a metric_map_t map with layer name map.

  3. As a serialized MRPT metric map file. A *.metricmap file contains any of the existing MRPT metric maps (point clouds, grid maps, etc.), which may come from custom applications or other SLAM packages. The map will be actually encapsulated into a metric_map_t map with layer name map.

So, whatever is the map source, this node will internally build a metric_map_t with one or more map layers, so it gets published in a uniform way to subscribers.

Refer to example launch files at the end of this file for examples of usage of each of these methods.

ROS Parameters

  • (Option 1 above) mm_file (Default=undefined). Determine the metric_map_t file to load, coming from sm2mm or any other custom user application using mp2p_icp.
  • (Option 2 above) map_yaml_file (Default=undefined): Define this parameter to load a ROS standard YAML file gridmap.
  • (Option 3 above) mrpt_metricmap_file (Default=undefined).
  • frame_id (Default=map): TF frame.
  • pub_mm_topic (Default=mrpt_map). Despite the map source, it will be eventually stored as a mp2p_icp’s metric_map_t (*.mm) structure, then each layer will be published using its layer name as a topic name and with the appropriate type (e.g. PointCloud2, OccupancyGrid,…). Also, the whole metric map is published as a generic serialized object to the topic defined by the parameter pub_mm_topic.

Subscribed topics

None.

Published topics

  • ${pub_mm_topic}/metric_map (Default: mrpt_map/metric_map) (mrpt_msgs::msg::GenericObject) (topic name can be changed with parameter pub_mm_topic).
  • ${pub_mm_topic}/geo_ref (Default: mrpt_map/geo_ref) (mrpt_msgs::msg::GenericObject). An MRPT-serialization of mp2p_icp::metric_map_t::Georeferencing metadata (topic name can be changed with parameter pub_mm_topic).
  • ${pub_mm_topic}/geo_ref_metadata (Default: mrpt_map/geo_ref_metadata)(mrpt_nav_interfaces::msgs::msg::GeoreferencingMetadata). A ROS plain message with the contents of mp2p_icp::metric_map_t::Georeferencing metadata.
  • ${pub_mm_topic}/<LAYER_NAME> (Default: mrpt_map/<LAYER_NAME>) (mrpt_msgs::msg::GenericObject)
  • ${pub_mm_topic}/<LAYER_NAME>_points (sensor_msgs::msg::PointCloud2), one per map layer.
  • ${pub_mm_topic}/<LAYER_NAME>_gridmap (nav_msgs::msg::OccupancyGrid)
  • ${pub_mm_topic}/<LAYER_NAME>_gridmap_metadata (nav_msgs::msg::MapMetaData)
  • (… one per map layer …)

If using options 2 or 3 above, there will be just one layer named map.

Published tf and geo-referenced maps

Refer to the documentation within the MOLA project on geo-referencing for a description of the utm and enu frames, defined by this package if fed with a *.mm file with geo-referenced metadata.

mola_mrpt_ros_geo_referenced_utm_frames

Services

  • GetLayers: Returns the list of map layer names:
# Example usage:
ros2 service call /map_server_node/get_layers  mrpt_nav_interfaces/srv/GetLayers
requester: making request: mrpt_nav_interfaces.srv.GetLayers_Request()

response:
mrpt_nav_interfaces.srv.GetLayers_Response(layers=['map'])

  • GetGridmapLayer: Can be used to request a given map layer of type gridmap.

```bash

Example usage:

ros2 service call /map_server_node/get_grid_layer mrpt_nav_interfaces/srv/GetGridmapLayer “layer_name:
‘map’”

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package mrpt_map_server

2.2.2 (2025-05-28)

  • FIX: remove usage of obsolete ament_target_dependencies()
  • Contributors: Jose Luis Blanco-Claraco

2.2.1 (2024-10-12)

2.2.0 (2024-09-25)

  • Merge pull request #149 from mrpt-ros-pkg/feature/utm-coordinates Support UTM global coordinates for geo-referenciated maps
  • Update package.xml: minimum required version of mp2p_icp
  • mrpt_map_server now publishes the map georeferenciation metadata, as topics and /tf (frames: utm, enu)
  • Update URL entries in package.xml to each package proper documentation
  • ament linters: manually enable just cmake and xml linters
  • reformat clang-format with 100 column width
  • Update README.md with geo-referenciation concepts
  • Contributors: Jose Luis Blanco-Claraco

2.1.1 (2024-09-02)

  • Remove temporary workaround in <depends> for buggy mrpt_libros_bridge package.xml
  • update dependencies
  • Depend on new mrpt_lib packages (deprecate mrpt2)
  • Contributors: Jose Luis Blanco-Claraco
  • Remove temporary workaround in <depends> for buggy mrpt_libros_bridge package.xml
  • update dependencies
  • Depend on new mrpt_lib packages (deprecate mrpt2)
  • Contributors: Jose Luis Blanco-Claraco

2.1.0 (2024-08-08)

  • docs: typos and clarifications
  • map server: simplify publication policy. Using transient local only and never republishing them
  • Merge branch 'ros2' into wip/port-tps-astar
  • Merge branch 'ros2' into wip/port-tps-astar
  • Contributors: Jose Luis Blanco-Claraco

2.0.1 (2024-05-28)

2.0.0 (2024-05-28)

  • Implement map getter services
  • Define map_server services
  • Comply with ROS2 REP-2003
  • new param force_republish_period
  • map_server: publish voxelmaps as points too
  • map_server: Implement publishing from .mm files
  • Rename mrpt_map: mrpt_map_server
  • Contributors: Jose Luis Blanco-Claraco

1.0.3 (2022-06-25)

1.0.2 (2022-06-25)

1.0.1 (2022-06-24)

  • Fix build errors
  • Removed now obsolete tf_prefix
  • Ported to tf2 and mrpt::ros1bridge
  • Contributors: Jose Luis Blanco-Claraco

1.0.0 (2022-04-30)

  • Update URLs to https
  • Update build dep to mrpt2
  • Contributors: Jose Luis Blanco Claraco

0.1.26 (2019-10-05)

0.1.25 (2019-10-04)

0.1.24 (2019-04-12)

  • fix build against mrpt-1.5
  • Fix build against MRPT 1.9.9
  • Contributors: Inounx, Jose Luis Blanco-Claraco, Julian Lopez Velasquez

0.1.23 (2018-06-14)

0.1.20 (2018-04-26)

  • fix build against mrpt 2.0
  • partial fix build w mrpt 2.0
  • optimized build (-O3)
  • fix use c++14
  • Merge branch 'master' of github.com:tuw-robotics/mrpt_navigation
  • Merge branch 'master' into master
  • CMake finds MRPT >=1.5 in ROS master branch
  • Merge branch 'master' into compat-mrpt-1.5

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mrpt_map_server at Robotics Stack Exchange

No version for distro melodic showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 2.2.2
License BSD
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/mrpt-ros-pkg/mrpt_navigation.git
VCS Type git
VCS Version ros2
Last Updated 2025-05-28
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

This package provides a ROS 2 node that publishes a static map for other nodes to use it. Unlike classic ROS 1 ``map_server``, this node can publish a range of different metric maps, not only occupancy grids.

Additional Links

Maintainers

  • Markus Bader
  • Jose Luis Blanco-Claraco
  • Shravan S Rai

Authors

No additional authors.

mrpt_map_server

Table of Contents

Overview

This package provides a ROS 2 node that publishes a static map for other nodes to use it. Unlike classic ROS 1 map_server, this node can publish a range of different metric maps, not only occupancy grids.

Node: mrpt_map_server

Working rationale

The C++ ROS 2 node loads all parameters at start up, loads the map as requested by parameters, and publishes the metric map in the corresponding topics. Messages are sent as transient local, so new subscribers can receive them even if they start afterwards.

There are three formats in which maps can be read:

  1. The preferred format is as an mp2p_icp’s metric map file (*.mm), normally generated via sm2mm from a MRPT “simplemap” (*.simplemap) that comes from a SLAM session, e.g. using mola_lidar_odometry.

  2. As a ROS standard YAML file. Here, a *.yaml file specifies the metadata of a 2D occupancy gridmap, which is stored as an accompanying image file. The map will be actually encapsulated into a metric_map_t map with layer name map.

  3. As a serialized MRPT metric map file. A *.metricmap file contains any of the existing MRPT metric maps (point clouds, grid maps, etc.), which may come from custom applications or other SLAM packages. The map will be actually encapsulated into a metric_map_t map with layer name map.

So, whatever is the map source, this node will internally build a metric_map_t with one or more map layers, so it gets published in a uniform way to subscribers.

Refer to example launch files at the end of this file for examples of usage of each of these methods.

ROS Parameters

  • (Option 1 above) mm_file (Default=undefined). Determine the metric_map_t file to load, coming from sm2mm or any other custom user application using mp2p_icp.
  • (Option 2 above) map_yaml_file (Default=undefined): Define this parameter to load a ROS standard YAML file gridmap.
  • (Option 3 above) mrpt_metricmap_file (Default=undefined).
  • frame_id (Default=map): TF frame.
  • pub_mm_topic (Default=mrpt_map). Despite the map source, it will be eventually stored as a mp2p_icp’s metric_map_t (*.mm) structure, then each layer will be published using its layer name as a topic name and with the appropriate type (e.g. PointCloud2, OccupancyGrid,…). Also, the whole metric map is published as a generic serialized object to the topic defined by the parameter pub_mm_topic.

Subscribed topics

None.

Published topics

  • ${pub_mm_topic}/metric_map (Default: mrpt_map/metric_map) (mrpt_msgs::msg::GenericObject) (topic name can be changed with parameter pub_mm_topic).
  • ${pub_mm_topic}/geo_ref (Default: mrpt_map/geo_ref) (mrpt_msgs::msg::GenericObject). An MRPT-serialization of mp2p_icp::metric_map_t::Georeferencing metadata (topic name can be changed with parameter pub_mm_topic).
  • ${pub_mm_topic}/geo_ref_metadata (Default: mrpt_map/geo_ref_metadata)(mrpt_nav_interfaces::msgs::msg::GeoreferencingMetadata). A ROS plain message with the contents of mp2p_icp::metric_map_t::Georeferencing metadata.
  • ${pub_mm_topic}/<LAYER_NAME> (Default: mrpt_map/<LAYER_NAME>) (mrpt_msgs::msg::GenericObject)
  • ${pub_mm_topic}/<LAYER_NAME>_points (sensor_msgs::msg::PointCloud2), one per map layer.
  • ${pub_mm_topic}/<LAYER_NAME>_gridmap (nav_msgs::msg::OccupancyGrid)
  • ${pub_mm_topic}/<LAYER_NAME>_gridmap_metadata (nav_msgs::msg::MapMetaData)
  • (… one per map layer …)

If using options 2 or 3 above, there will be just one layer named map.

Published tf and geo-referenced maps

Refer to the documentation within the MOLA project on geo-referencing for a description of the utm and enu frames, defined by this package if fed with a *.mm file with geo-referenced metadata.

mola_mrpt_ros_geo_referenced_utm_frames

Services

  • GetLayers: Returns the list of map layer names:
# Example usage:
ros2 service call /map_server_node/get_layers  mrpt_nav_interfaces/srv/GetLayers
requester: making request: mrpt_nav_interfaces.srv.GetLayers_Request()

response:
mrpt_nav_interfaces.srv.GetLayers_Response(layers=['map'])

  • GetGridmapLayer: Can be used to request a given map layer of type gridmap.

```bash

Example usage:

ros2 service call /map_server_node/get_grid_layer mrpt_nav_interfaces/srv/GetGridmapLayer “layer_name:
‘map’”

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package mrpt_map_server

2.2.2 (2025-05-28)

  • FIX: remove usage of obsolete ament_target_dependencies()
  • Contributors: Jose Luis Blanco-Claraco

2.2.1 (2024-10-12)

2.2.0 (2024-09-25)

  • Merge pull request #149 from mrpt-ros-pkg/feature/utm-coordinates Support UTM global coordinates for geo-referenciated maps
  • Update package.xml: minimum required version of mp2p_icp
  • mrpt_map_server now publishes the map georeferenciation metadata, as topics and /tf (frames: utm, enu)
  • Update URL entries in package.xml to each package proper documentation
  • ament linters: manually enable just cmake and xml linters
  • reformat clang-format with 100 column width
  • Update README.md with geo-referenciation concepts
  • Contributors: Jose Luis Blanco-Claraco

2.1.1 (2024-09-02)

  • Remove temporary workaround in <depends> for buggy mrpt_libros_bridge package.xml
  • update dependencies
  • Depend on new mrpt_lib packages (deprecate mrpt2)
  • Contributors: Jose Luis Blanco-Claraco
  • Remove temporary workaround in <depends> for buggy mrpt_libros_bridge package.xml
  • update dependencies
  • Depend on new mrpt_lib packages (deprecate mrpt2)
  • Contributors: Jose Luis Blanco-Claraco

2.1.0 (2024-08-08)

  • docs: typos and clarifications
  • map server: simplify publication policy. Using transient local only and never republishing them
  • Merge branch 'ros2' into wip/port-tps-astar
  • Merge branch 'ros2' into wip/port-tps-astar
  • Contributors: Jose Luis Blanco-Claraco

2.0.1 (2024-05-28)

2.0.0 (2024-05-28)

  • Implement map getter services
  • Define map_server services
  • Comply with ROS2 REP-2003
  • new param force_republish_period
  • map_server: publish voxelmaps as points too
  • map_server: Implement publishing from .mm files
  • Rename mrpt_map: mrpt_map_server
  • Contributors: Jose Luis Blanco-Claraco

1.0.3 (2022-06-25)

1.0.2 (2022-06-25)

1.0.1 (2022-06-24)

  • Fix build errors
  • Removed now obsolete tf_prefix
  • Ported to tf2 and mrpt::ros1bridge
  • Contributors: Jose Luis Blanco-Claraco

1.0.0 (2022-04-30)

  • Update URLs to https
  • Update build dep to mrpt2
  • Contributors: Jose Luis Blanco Claraco

0.1.26 (2019-10-05)

0.1.25 (2019-10-04)

0.1.24 (2019-04-12)

  • fix build against mrpt-1.5
  • Fix build against MRPT 1.9.9
  • Contributors: Inounx, Jose Luis Blanco-Claraco, Julian Lopez Velasquez

0.1.23 (2018-06-14)

0.1.20 (2018-04-26)

  • fix build against mrpt 2.0
  • partial fix build w mrpt 2.0
  • optimized build (-O3)
  • fix use c++14
  • Merge branch 'master' of github.com:tuw-robotics/mrpt_navigation
  • Merge branch 'master' into master
  • CMake finds MRPT >=1.5 in ROS master branch
  • Merge branch 'master' into compat-mrpt-1.5

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mrpt_map_server at Robotics Stack Exchange

No version for distro noetic showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 2.2.2
License BSD
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/mrpt-ros-pkg/mrpt_navigation.git
VCS Type git
VCS Version ros2
Last Updated 2025-05-28
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

This package provides a ROS 2 node that publishes a static map for other nodes to use it. Unlike classic ROS 1 ``map_server``, this node can publish a range of different metric maps, not only occupancy grids.

Additional Links

Maintainers

  • Markus Bader
  • Jose Luis Blanco-Claraco
  • Shravan S Rai

Authors

No additional authors.

mrpt_map_server

Table of Contents

Overview

This package provides a ROS 2 node that publishes a static map for other nodes to use it. Unlike classic ROS 1 map_server, this node can publish a range of different metric maps, not only occupancy grids.

Node: mrpt_map_server

Working rationale

The C++ ROS 2 node loads all parameters at start up, loads the map as requested by parameters, and publishes the metric map in the corresponding topics. Messages are sent as transient local, so new subscribers can receive them even if they start afterwards.

There are three formats in which maps can be read:

  1. The preferred format is as an mp2p_icp’s metric map file (*.mm), normally generated via sm2mm from a MRPT “simplemap” (*.simplemap) that comes from a SLAM session, e.g. using mola_lidar_odometry.

  2. As a ROS standard YAML file. Here, a *.yaml file specifies the metadata of a 2D occupancy gridmap, which is stored as an accompanying image file. The map will be actually encapsulated into a metric_map_t map with layer name map.

  3. As a serialized MRPT metric map file. A *.metricmap file contains any of the existing MRPT metric maps (point clouds, grid maps, etc.), which may come from custom applications or other SLAM packages. The map will be actually encapsulated into a metric_map_t map with layer name map.

So, whatever is the map source, this node will internally build a metric_map_t with one or more map layers, so it gets published in a uniform way to subscribers.

Refer to example launch files at the end of this file for examples of usage of each of these methods.

ROS Parameters

  • (Option 1 above) mm_file (Default=undefined). Determine the metric_map_t file to load, coming from sm2mm or any other custom user application using mp2p_icp.
  • (Option 2 above) map_yaml_file (Default=undefined): Define this parameter to load a ROS standard YAML file gridmap.
  • (Option 3 above) mrpt_metricmap_file (Default=undefined).
  • frame_id (Default=map): TF frame.
  • pub_mm_topic (Default=mrpt_map). Despite the map source, it will be eventually stored as a mp2p_icp’s metric_map_t (*.mm) structure, then each layer will be published using its layer name as a topic name and with the appropriate type (e.g. PointCloud2, OccupancyGrid,…). Also, the whole metric map is published as a generic serialized object to the topic defined by the parameter pub_mm_topic.

Subscribed topics

None.

Published topics

  • ${pub_mm_topic}/metric_map (Default: mrpt_map/metric_map) (mrpt_msgs::msg::GenericObject) (topic name can be changed with parameter pub_mm_topic).
  • ${pub_mm_topic}/geo_ref (Default: mrpt_map/geo_ref) (mrpt_msgs::msg::GenericObject). An MRPT-serialization of mp2p_icp::metric_map_t::Georeferencing metadata (topic name can be changed with parameter pub_mm_topic).
  • ${pub_mm_topic}/geo_ref_metadata (Default: mrpt_map/geo_ref_metadata)(mrpt_nav_interfaces::msgs::msg::GeoreferencingMetadata). A ROS plain message with the contents of mp2p_icp::metric_map_t::Georeferencing metadata.
  • ${pub_mm_topic}/<LAYER_NAME> (Default: mrpt_map/<LAYER_NAME>) (mrpt_msgs::msg::GenericObject)
  • ${pub_mm_topic}/<LAYER_NAME>_points (sensor_msgs::msg::PointCloud2), one per map layer.
  • ${pub_mm_topic}/<LAYER_NAME>_gridmap (nav_msgs::msg::OccupancyGrid)
  • ${pub_mm_topic}/<LAYER_NAME>_gridmap_metadata (nav_msgs::msg::MapMetaData)
  • (… one per map layer …)

If using options 2 or 3 above, there will be just one layer named map.

Published tf and geo-referenced maps

Refer to the documentation within the MOLA project on geo-referencing for a description of the utm and enu frames, defined by this package if fed with a *.mm file with geo-referenced metadata.

mola_mrpt_ros_geo_referenced_utm_frames

Services

  • GetLayers: Returns the list of map layer names:
# Example usage:
ros2 service call /map_server_node/get_layers  mrpt_nav_interfaces/srv/GetLayers
requester: making request: mrpt_nav_interfaces.srv.GetLayers_Request()

response:
mrpt_nav_interfaces.srv.GetLayers_Response(layers=['map'])

  • GetGridmapLayer: Can be used to request a given map layer of type gridmap.

```bash

Example usage:

ros2 service call /map_server_node/get_grid_layer mrpt_nav_interfaces/srv/GetGridmapLayer “layer_name:
‘map’”

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package mrpt_map_server

2.2.2 (2025-05-28)

  • FIX: remove usage of obsolete ament_target_dependencies()
  • Contributors: Jose Luis Blanco-Claraco

2.2.1 (2024-10-12)

2.2.0 (2024-09-25)

  • Merge pull request #149 from mrpt-ros-pkg/feature/utm-coordinates Support UTM global coordinates for geo-referenciated maps
  • Update package.xml: minimum required version of mp2p_icp
  • mrpt_map_server now publishes the map georeferenciation metadata, as topics and /tf (frames: utm, enu)
  • Update URL entries in package.xml to each package proper documentation
  • ament linters: manually enable just cmake and xml linters
  • reformat clang-format with 100 column width
  • Update README.md with geo-referenciation concepts
  • Contributors: Jose Luis Blanco-Claraco

2.1.1 (2024-09-02)

  • Remove temporary workaround in <depends> for buggy mrpt_libros_bridge package.xml
  • update dependencies
  • Depend on new mrpt_lib packages (deprecate mrpt2)
  • Contributors: Jose Luis Blanco-Claraco
  • Remove temporary workaround in <depends> for buggy mrpt_libros_bridge package.xml
  • update dependencies
  • Depend on new mrpt_lib packages (deprecate mrpt2)
  • Contributors: Jose Luis Blanco-Claraco

2.1.0 (2024-08-08)

  • docs: typos and clarifications
  • map server: simplify publication policy. Using transient local only and never republishing them
  • Merge branch 'ros2' into wip/port-tps-astar
  • Merge branch 'ros2' into wip/port-tps-astar
  • Contributors: Jose Luis Blanco-Claraco

2.0.1 (2024-05-28)

2.0.0 (2024-05-28)

  • Implement map getter services
  • Define map_server services
  • Comply with ROS2 REP-2003
  • new param force_republish_period
  • map_server: publish voxelmaps as points too
  • map_server: Implement publishing from .mm files
  • Rename mrpt_map: mrpt_map_server
  • Contributors: Jose Luis Blanco-Claraco

1.0.3 (2022-06-25)

1.0.2 (2022-06-25)

1.0.1 (2022-06-24)

  • Fix build errors
  • Removed now obsolete tf_prefix
  • Ported to tf2 and mrpt::ros1bridge
  • Contributors: Jose Luis Blanco-Claraco

1.0.0 (2022-04-30)

  • Update URLs to https
  • Update build dep to mrpt2
  • Contributors: Jose Luis Blanco Claraco

0.1.26 (2019-10-05)

0.1.25 (2019-10-04)

0.1.24 (2019-04-12)

  • fix build against mrpt-1.5
  • Fix build against MRPT 1.9.9
  • Contributors: Inounx, Jose Luis Blanco-Claraco, Julian Lopez Velasquez

0.1.23 (2018-06-14)

0.1.20 (2018-04-26)

  • fix build against mrpt 2.0
  • partial fix build w mrpt 2.0
  • optimized build (-O3)
  • fix use c++14
  • Merge branch 'master' of github.com:tuw-robotics/mrpt_navigation
  • Merge branch 'master' into master
  • CMake finds MRPT >=1.5 in ROS master branch
  • Merge branch 'master' into compat-mrpt-1.5

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged mrpt_map_server at Robotics Stack Exchange