hrnr / map-merge Goto Github PK
View Code? Open in Web Editor NEWROS package for merging 3D maps
License: Other
ROS package for merging 3D maps
License: Other
Hi;
I'm trying to use the node to merge two point clouds, one coming from a Ouster OS0 and another coming for an OS1 mounted in two huskies, all simulated in gazebo. When I run the node it subscribes to the point clouds, and generate a map, but it is not correct matched, as you can see:
I am using it on Ubuntu 18.04, with the default configuration. Have you any idea why this happens?
I have the input of multiple pointcloud2 input obtained from the simulated VLP16 sensor in different robots and attempt to combine the point cloud topics from all the robots into one point cloud before feeding it into octomap,
The pointcloud2 stream I used to input is "velodyne_points" and I have the namespace of the turtlebot defined as "tb3_1".
The declaration of the launch file is set up as follows:
<node pkg="map_merge_3d" type="map_merge_node" respawn="false" name="map_merge_node" output="screen">
<param name="robot_map_topic" value="velodyne_points" />
<param name="robot_namespace" value="tb3" />
<param name="merged_map_topic" value="merged_map2" />
<param name="world_frame" value="world" />
<param name="discovery_rate" value="0.05" />
<param name="estimation_rate" value="0.01" />
<param name="compositing_rate" value="0.3"/>
<param name="publish_tf" value="true"/>
</node>
The setup I am using is ROS Melodic with PCL 1.8.1+dfsg1-2ubuntu2.18.04.1
however, I keep getting the following error message:
[pcl::PFHEstimation::compute] input_ is empty!
[pcl::PFHEstimation::initCompute] Init failed.
[pcl::PFHEstimation::compute] input_ is empty!
[pcl::PFHEstimation::initCompute] Init failed.
[pcl::PFHEstimation::compute] input_ is empty!
[pcl::PFHEstimation::initCompute] Init failed.
Let me know if there is a solution or I have done the configuration wrongly.
Thanks.
Hi,
I run code for two robot in gazebo which they produce two topics for map, can i use the merge package online to merge there topics?
这个数据只支持xyzrgb的点云吗,不支持xyz或者xyzi 的吗?
Just wondering if there are any plans to port this to ROS2
Hi. I am trying to merge two maps generated online using octomaps. I use the octomap_point_cloud_centers
as the robot_map_topic
. The map_merge node will eventually crash. Initially, I get
[DEBUG] [1587718924.857625329, 4961.870000000]: received map update
[DEBUG] [1587718924.861070997, 4961.874000000]: received map update
[DEBUG] [1587718925.630798058, 4962.626000000]: Map compositing started.
However, eventually I get the following errors after which the node crashes
[pcl::ShapeContext3DEstimation::compute] input_ is empty!
[pcl::ShapeContext3DEstimation::initCompute] Init failed.
[pcl::ShapeContext3DEstimation::initCompute] Init failed.
[pcl::ShapeContext3DEstimation::compute] input_ is empty!
[pcl::ShapeContext3DEstimation::initCompute] Init failed.
[pcl::ShapeContext3DEstimation::initCompute] Init failed.
It does this with all types of descriptors.
I have tried before to merge maps generated by rtabmap and was done successfully. However, it doesn't seem to work with octomap.
@hrnr Any help is appreciated.
Here is the launch file I am using in case it helps in debugging.
<launch>
<!--
Reference : http://wiki.ros.org/map_merge_3d
-->
<arg name="rtabmap" default="true"/>
<arg name="octomap" default="false"/>
<arg if="$(arg rtabmap)" name="robot_map_topic" value="cloud_map"/>
<arg if="$(arg octomap)" name="robot_map_topic" value="octomap_point_cloud_centers"/>
<group ns="map_merge">
<node pkg="map_merge_3d" type="map_merge_node" respawn="false" name="map_merge_3d" output="screen">
<param name="robot_map_topic" value="$(arg robot_map_topic)"/>
<param name="robot_namespace" value=""/>
<param name="merged_map_topic" value="map"/>
<param name="world_frame" value="world"/>
<param name="compositing_rate" value="1.0"/>
<param name="discovery_rate" value="0.05"/>
<param name="estimation_rate" value="0.01"/>
<param name="publish_tf" value="true"/>
<!-- and all the other map merging parameters -->
<param name="resolution" value="0.05"/>
<param name="descriptor_type" value="SHOT" /> <!--PFH, PFHRGB, FPFH, RSD, SHOT, SC3D -->
<param name="matching_k" value="5" />
<param name="confidence_threshold" value="0.0"/>
<param name="output_resolution" value="0.05"/>
<param name="estimation_method" value="MATCHING"/> <!-- MATCHING, SAC_IA-->
<param name="keypoint_type" value="SIFT" /> <!-- HARRIS, SIFT-->
</node>
</group>
</launch>
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.