mirror of
https://github.com/introlab/rtabmap_ros.git
synced 2026-10-04 00:37:46 +08:00
MapAssembler: added regenerate_local_grids option
This commit is contained in:
@@ -0,0 +1,14 @@
|
|||||||
|
<launch>
|
||||||
|
<!-- Example to assemble 3D point clouds from depth when rtabmap is using scan for 2d occupancy grid :
|
||||||
|
$ roslaunch rtabmap_ros demo_robot_mapping.launch rviz:=true rtabmapviz:=false
|
||||||
|
$ roslaunch rtabmap_ros test_map_assembler.launch
|
||||||
|
$ rosbag play -clock demo_mapping.bag
|
||||||
|
-->
|
||||||
|
|
||||||
|
<group ns="rtabmap">
|
||||||
|
<node pkg="rtabmap_ros" type="map_assembler" name="map_assembler">
|
||||||
|
<remap from="mapData" to="mapData"/>
|
||||||
|
<param name="regenerate_local_grids" value="true"/>
|
||||||
|
</node>
|
||||||
|
</group>
|
||||||
|
</launch>
|
||||||
@@ -50,13 +50,15 @@ class MapAssembler
|
|||||||
{
|
{
|
||||||
|
|
||||||
public:
|
public:
|
||||||
MapAssembler(int & argc, char** argv)
|
MapAssembler(int & argc, char** argv) :
|
||||||
|
localGridsRegenerated_(false)
|
||||||
{
|
{
|
||||||
ros::NodeHandle pnh("~");
|
ros::NodeHandle pnh("~");
|
||||||
ros::NodeHandle nh;
|
ros::NodeHandle nh;
|
||||||
|
|
||||||
std::string configPath;
|
std::string configPath;
|
||||||
pnh.param("config_path", configPath, configPath);
|
pnh.param("config_path", configPath, configPath);
|
||||||
|
pnh.param("regenerate_local_grids", localGridsRegenerated_, localGridsRegenerated_);
|
||||||
|
|
||||||
//parameters
|
//parameters
|
||||||
rtabmap::ParametersMap parameters;
|
rtabmap::ParametersMap parameters;
|
||||||
@@ -188,7 +190,12 @@ public:
|
|||||||
msg->nodes[i].depth.size() ||
|
msg->nodes[i].depth.size() ||
|
||||||
msg->nodes[i].laserScan.size())
|
msg->nodes[i].laserScan.size())
|
||||||
{
|
{
|
||||||
uInsert(nodes_, std::make_pair(msg->nodes[i].id, rtabmap_ros::nodeDataFromROS(msg->nodes[i])));
|
Signature data = rtabmap_ros::nodeDataFromROS(msg->nodes[i]);
|
||||||
|
if(localGridsRegenerated_)
|
||||||
|
{
|
||||||
|
data.sensorData().setOccupancyGrid(cv::Mat(), cv::Mat(), cv::Mat(), 0, cv::Point3f());
|
||||||
|
}
|
||||||
|
uInsert(nodes_, std::make_pair(msg->nodes[i].id, data));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -229,6 +236,8 @@ private:
|
|||||||
ros::Subscriber mapDataTopic_;
|
ros::Subscriber mapDataTopic_;
|
||||||
|
|
||||||
ros::ServiceServer resetService_;
|
ros::ServiceServer resetService_;
|
||||||
|
|
||||||
|
bool localGridsRegenerated_;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user