diff --git a/README.md b/README.md
index aebf8fda..120e12b4 100644
--- a/README.md
+++ b/README.md
@@ -24,7 +24,9 @@ Related to localization:
* [mrpt_pf_localization](mrpt_pf_localization): A node for particle filter-based localization of a robot from any kind of metric map (gridmap, points, range-only sensors, ...).
Related to sensor pipelines:
-* [mrpt_local_obstacles](mrpt_local_obstacles): A node that maintains a local obstacle map, mostly needed for 2D lidars to keep a memory of obstacles that get out of the sensor field of view.
+* [mrpt_pointcloud_pipeline](mrpt_pointcloud_pipeline): A node that maintains a local obstacle map from recent sensor readings, including optional point cloud pipeline filtering or processing. For example,
+ - For 3D LIDARs, to filter by a volume or area, downsample the number of points, etc.
+ - For 2D laser scanners, to keep a memory of obstacles that get out of the sensor field of view.
Related to autonomous navigation:
* [mrpt_reactivenav2d](mrpt_reactivenav2d): A pure reactive navigator for polygonal robots on 2D worlds.
diff --git a/mrpt_map/CMakeLists.txt b/mrpt_map/CMakeLists.txt
index 63a1434a..8efb412f 100644
--- a/mrpt_map/CMakeLists.txt
+++ b/mrpt_map/CMakeLists.txt
@@ -10,6 +10,7 @@ find_package(nav_msgs REQUIRED)
find_package(mrpt-maps REQUIRED)
find_package(mrpt-ros2bridge REQUIRED)
+find_package(mp2p_icp_map REQUIRED)
message(STATUS "MRPT_VERSION: ${MRPT_VERSION}")
@@ -54,6 +55,7 @@ target_include_directories(map_server_node
target_link_libraries(map_server_node
mrpt::maps
mrpt::ros2bridge
+ mola::mp2p_icp_map
)
ament_target_dependencies(
diff --git a/mrpt_map/package.xml b/mrpt_map/package.xml
index 1a208e3e..f05979f4 100644
--- a/mrpt_map/package.xml
+++ b/mrpt_map/package.xml
@@ -14,6 +14,7 @@
ament_cmake
mrpt2
+ mp2p_icp
rclcpp
rclcpp_components
nav_msgs
diff --git a/mrpt_navigation/package.xml b/mrpt_navigation/package.xml
index 47d936a5..9a392f38 100644
--- a/mrpt_navigation/package.xml
+++ b/mrpt_navigation/package.xml
@@ -16,7 +16,7 @@
ament_cmake
- mrpt_local_obstacles
+ mrpt_pointcloud_pipeline
mrpt_pf_localization
mrpt_map
mrpt_rawlog
diff --git a/mrpt_local_obstacles/CHANGELOG.rst b/mrpt_pointcloud_pipeline/CHANGELOG.rst
similarity index 96%
rename from mrpt_local_obstacles/CHANGELOG.rst
rename to mrpt_pointcloud_pipeline/CHANGELOG.rst
index 34f70dfa..e03dc598 100644
--- a/mrpt_local_obstacles/CHANGELOG.rst
+++ b/mrpt_pointcloud_pipeline/CHANGELOG.rst
@@ -1,5 +1,5 @@
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-Changelog for package mrpt_local_obstacles
+Changelog for package mrpt_pointcloud_pipeline
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1.0.3 (2022-06-25)
@@ -129,7 +129,7 @@ Changelog for package mrpt_local_obstacles
0.1.5 (2015-04-29)
------------------
-* mrpt_local_obstacles: Fix wrong report of number of scan sources
+* mrpt_pointcloud_pipeline: Fix wrong report of number of scan sources
* Fix build against mrpt 1.3.0
* Contributors: Jose Luis Blanco
diff --git a/mrpt_local_obstacles/CMakeLists.txt b/mrpt_pointcloud_pipeline/CMakeLists.txt
similarity index 92%
rename from mrpt_local_obstacles/CMakeLists.txt
rename to mrpt_pointcloud_pipeline/CMakeLists.txt
index ef6e81e9..115cb04f 100644
--- a/mrpt_local_obstacles/CMakeLists.txt
+++ b/mrpt_pointcloud_pipeline/CMakeLists.txt
@@ -1,5 +1,5 @@
cmake_minimum_required(VERSION 3.5)
-project(mrpt_local_obstacles)
+project(mrpt_pointcloud_pipeline)
# find dependencies
find_package(ament_cmake REQUIRED)
@@ -39,12 +39,11 @@ IF(CMAKE_COMPILER_IS_GNUCXX AND NOT CMAKE_BUILD_TYPE MATCHES "Debug")
ENDIF()
-find_package(mp2p_icp REQUIRED)
find_package(mp2p_icp_filters REQUIRED)
add_executable(${PROJECT_NAME}_node
- src/mrpt_local_obstacles_node.cpp
- include/mrpt_local_obstacles/mrpt_local_obstacles_node.hpp)
+ src/mrpt_pointcloud_pipeline_node.cpp
+ include/mrpt_pointcloud_pipeline/mrpt_pointcloud_pipeline_node.h)
target_include_directories(${PROJECT_NAME}_node
PUBLIC
@@ -58,7 +57,7 @@ target_link_libraries(
mrpt::obs
mrpt::gui
mrpt::ros2bridge
- mp2p_icp_filters
+ mola::mp2p_icp_filters
)
ament_target_dependencies(
diff --git a/mrpt_local_obstacles/include/mrpt_local_obstacles/mrpt_local_obstacles_node.hpp b/mrpt_pointcloud_pipeline/include/mrpt_pointcloud_pipeline/mrpt_pointcloud_pipeline_node.h
similarity index 100%
rename from mrpt_local_obstacles/include/mrpt_local_obstacles/mrpt_local_obstacles_node.hpp
rename to mrpt_pointcloud_pipeline/include/mrpt_pointcloud_pipeline/mrpt_pointcloud_pipeline_node.h
diff --git a/mrpt_local_obstacles/launch/demo_with_mvsim.launch b/mrpt_pointcloud_pipeline/launch/demo_with_mvsim.launch
similarity index 69%
rename from mrpt_local_obstacles/launch/demo_with_mvsim.launch
rename to mrpt_pointcloud_pipeline/launch/demo_with_mvsim.launch
index 4935e490..1b55d606 100644
--- a/mrpt_local_obstacles/launch/demo_with_mvsim.launch
+++ b/mrpt_pointcloud_pipeline/launch/demo_with_mvsim.launch
@@ -1,7 +1,7 @@
-
+
diff --git a/mrpt_local_obstacles/launch/demo_with_mvsim.launch.py b/mrpt_pointcloud_pipeline/launch/demo_with_mvsim.launch.py
similarity index 92%
rename from mrpt_local_obstacles/launch/demo_with_mvsim.launch.py
rename to mrpt_pointcloud_pipeline/launch/demo_with_mvsim.launch.py
index 0b9a9b37..9d2e4126 100644
--- a/mrpt_local_obstacles/launch/demo_with_mvsim.launch.py
+++ b/mrpt_pointcloud_pipeline/launch/demo_with_mvsim.launch.py
@@ -35,10 +35,10 @@ def generate_launch_description():
)
# Node: Local obstacles builder
- mrpt_local_obstacles_node = Node(
- package='mrpt_local_obstacles',
- executable='mrpt_local_obstacles_node',
- name='mrpt_local_obstacles_node',
+ mrpt_pointcloud_pipeline_node = Node(
+ package='mrpt_pointcloud_pipeline',
+ executable='mrpt_pointcloud_pipeline_node',
+ name='mrpt_pointcloud_pipeline_node',
output='screen',
parameters=[
{'source_topics_2dscan': LaunchConfiguration('lidar_topic_name')},
@@ -70,5 +70,5 @@ def generate_launch_description():
time_window_arg,
filter_yaml_file_arg,
filter_output_layer_name_arg,
- mrpt_local_obstacles_node
+ mrpt_pointcloud_pipeline_node
])
diff --git a/mrpt_local_obstacles/launch/local-obstacles-decimation-filter.yaml b/mrpt_pointcloud_pipeline/launch/local-obstacles-decimation-filter.yaml
similarity index 100%
rename from mrpt_local_obstacles/launch/local-obstacles-decimation-filter.yaml
rename to mrpt_pointcloud_pipeline/launch/local-obstacles-decimation-filter.yaml
diff --git a/mrpt_local_obstacles/package.xml b/mrpt_pointcloud_pipeline/package.xml
similarity index 81%
rename from mrpt_local_obstacles/package.xml
rename to mrpt_pointcloud_pipeline/package.xml
index a54f7caa..acc5efe3 100644
--- a/mrpt_local_obstacles/package.xml
+++ b/mrpt_pointcloud_pipeline/package.xml
@@ -1,10 +1,8 @@
- mrpt_local_obstacles
+ mrpt_pointcloud_pipeline
1.0.3
- Maintains a local obstacle map (point cloud,
- voxels or occupancy grid) from recent sensor readings within a
- configurable time window.
+ Maintains a local obstacle map from recent sensor readings, including optional point cloud pipeline filtering or processing.
Jose-Luis Blanco-Claraco
Shravan S Rai
@@ -16,7 +14,6 @@
https://github.com/mrpt-ros-pkg/mrpt_navigation
-
ament_cmake
mrpt2
diff --git a/mrpt_local_obstacles/src/mrpt_local_obstacles_node.cpp b/mrpt_pointcloud_pipeline/src/mrpt_pointcloud_pipeline_node.cpp
similarity index 99%
rename from mrpt_local_obstacles/src/mrpt_local_obstacles_node.cpp
rename to mrpt_pointcloud_pipeline/src/mrpt_pointcloud_pipeline_node.cpp
index 8cd28c72..6e8b2dc9 100644
--- a/mrpt_local_obstacles/src/mrpt_local_obstacles_node.cpp
+++ b/mrpt_pointcloud_pipeline/src/mrpt_pointcloud_pipeline_node.cpp
@@ -6,7 +6,8 @@
| All rights reserved. Released under BSD 3-Clause license. See LICENSE |
+------------------------------------------------------------------------+ */
-#include
+#include
+
#include
#include "rclcpp_components/register_node_macro.hpp"
@@ -18,7 +19,7 @@ using namespace mrpt::maps;
using namespace mrpt::obs;
LocalObstaclesNode::LocalObstaclesNode(const rclcpp::NodeOptions& options)
- : Node("mrpt_local_obstacles", options)
+ : Node("mrpt_pointcloud_pipeline", options)
{
read_parameters();
diff --git a/mrpt_reactivenav2d/launch/reactive_nav_demo_with_mvsim.launch b/mrpt_reactivenav2d/launch/reactive_nav_demo_with_mvsim.launch
index bba6ea81..5422c559 100644
--- a/mrpt_reactivenav2d/launch/reactive_nav_demo_with_mvsim.launch
+++ b/mrpt_reactivenav2d/launch/reactive_nav_demo_with_mvsim.launch
@@ -1,7 +1,7 @@
-
+