Data in rtabmap/cloud_map and rtabmap/scan_map empty

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Data in rtabmap/cloud_map and rtabmap/scan_map empty

arrinay
Hi,

I'm trying to get a pointcloud using rtabmap. To do this, I am subscribing to the rtabmap/cloud_map topic. However, while I do receive the sensor_msgs/PointCloud2 messages periodically in my node, these messages only report empty point clouds. When inspecting the topic with rostopic echo, I see that the height is 1 and width is 0, and the data array is empty.

The rtabmap/mapData topic does report the correct data, albeit not in a PointCloud. When I use rtabmapviz, I can see the visualization of the point cloud. Also when using rviz I can see the point cloud (using the MapCloud visualization).

Example of one cloud_map message:

---
header: 
  seq: 1254
  stamp: 
    secs: 3842
    nsecs: 530000000
  frame_id: "map"
height: 1
width: 0
fields: 
  - 
    name: "x"
    offset: 0
    datatype: 7
    count: 1
  - 
    name: "y"
    offset: 4
    datatype: 7
    count: 1
  - 
    name: "z"
    offset: 8
    datatype: 7
    count: 1
  - 
    name: "rgb"
    offset: 16
    datatype: 7
    count: 1
is_bigendian: False
point_step: 32
row_step: 0
data: []
is_dense: True
---

My rqt_graph and screenshot of rtabmapviz can be found here.

Any idea what I could be missing here? Do I need to set a parameter to enable the generation of the pointcloud using the mapData?
Reply | Threaded
Open this post in threaded view
|

Re: Data in rtabmap/cloud_map and rtabmap/scan_map empty

matlabbe
Administrator
Which rtabmap version do you have?

Not sure about the scale of the point cloud, but cloud_map uses "Grid/" parameters to filter the cloud by range:
$ rtabmap --params | grep Grid/
  Grid/DepthMax (or now Grid/RangeMax) can be set to 0 to avoid filtering the cloud.

cheers,
Mathieu
Reply | Threaded
Open this post in threaded view
|

Re: Data in rtabmap/cloud_map and rtabmap/scan_map empty

arrinay
Hi Mathieu,

I have the latest version installed through apt-get on Ubuntu, using ROS Kinetic. I think this is version 0.11.13?
I don't think the scale is the cause of the problem. Even when flying very close to the building, the cloud_map is still empty. Also, when setting Grid/RangeMax to 0, the problem persists.

It might maybe be useful to share the parameters that I'm using:

    <param name="rgb/image_transport"   type="string" value="compressed"/>
    <param name="depth/image_transport" type="string" value="raw"/>

    <!-- RTAB-Map's parameters: do "rosrun rtabmap rtabmap (double-dash)params" to see the list of available parameters. -->
    <!--param name="RGBD/NeighborLinkRefining" type="string" value="true"/-->  <!-- Do odometry correction with consecutive laser scans -->
    <param name="RGBD/ProximityBySpace"     type="string" value="true"/>  <!-- Local loop closure detection (using estimated position) with locations in WM -->
    <param name="RGBD/ProximityByTime"      type="string" value="false"/> <!-- Local loop closure detection with locations in STM -->
    <param name="Reg/Strategy"              type="string" value="1"/>     <!-- 0=Visual, 1=ICP, 2=Visual+ICP -->
    <param name="Vis/InlierDistance"        type="string" value="0.1"/>   <!-- 3D visual words correspondence distance -->
    <param name="RGBD/OptimizeFromGraphEnd" type="string" value="false"/> <!-- Optimize graph from initial node so /map -> /odom transform will be generated -->
    <param name="Reg/Force3DoF"             type="string" value="true"/>
    <param name="Grid/FromDepth"            type="string" value="false"/>
    <param name="Grid/DepthMax"             type="double" value="0"/>

    <param name="subscribe_depth" type="bool" value="true"/>
    <param name="subscribe_scan"  type="bool" value="false"/>

Reply | Threaded
Open this post in threaded view
|

Re: Data in rtabmap/cloud_map and rtabmap/scan_map empty

matlabbe
Administrator
Set Grid/FromDepth to true. You may want to set Reg/Force3DoF to false if you do 6DoF trajectories.
Reply | Threaded
Open this post in threaded view
|

Re: Data in rtabmap/cloud_map and rtabmap/scan_map empty

arrinay
This indeed fixed it for me! Thanks you very much!