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 @@ - +