Posted by
Wezza on
URL: http://official-rtab-map-forum.206.s1.nabble.com/Mapping-performance-and-hallway-problems-with-Kinect-2-tp3956p3973.html
Hello, it's me again! :D :-/
I've listened to you and now use rviz for teleop. I reduced the rate and the resulting bandwidth of the transmitted image topic with the data_throttle node. The "Frame Rate" option under "Global Options" in RVIZ had no influence. And just subscribing the compressed qhd color image requires up to 4 MiB/s.
The output for
rostopic hz /rtabmap/mapData
is average rate ~0.88 (after a few minutes) on robot and client side.
If i start RVIZ on the robot everything works as expected. But on the client i'am not able to get any data for "MapCloud" --> Topic /rtabmap/mapData :-( The rtabmap node on the roboter throws the following error:
[ERROR] [1513179083.761802928]: Client [/rviz] wants topic /rtabmap/mapData to have datatype/md5sum [rtabmap_ros/MapData/a1816275c0864a26aefc5ed10220a99f], but our version has [rtabmap_ros/MapData/ceb3cc5db87e14b6dac5adad9c3f8a98]. Dropping connection.
Maybe the error occurs because on client side rtabmap_ros is build from source and on robot side it is installed via apt-get?
If I click in RVIZ (robot side) on MapCloud --> "Download map" or "Download graph" the following error message opens:
"MapCloudDisplay: Can't call "/rtabmap/get_map_data" service. Tip: if rtabmap node is not in rtabmap namespace, you can remap the service to "get_map_data" in the launch file like:
."
MapGraph is also not working. RVIZ looks like this:
This is my launchfile for RVIZ, works as expected on the robot but not on the client:
<launch>
<arg name="approx_sync" default="true"/> <!-- if timestamps of the input topics are not synchronized -->
<arg name="rviz_cfg" default="$(find rtabmap_ros)/launch/config/rgbd.rviz" />
<!-- Visualization RVIZ -->
<node pkg="rviz" type="rviz" name="rviz" args="-d $(arg rviz_cfg)"/>
<node pkg="nodelet" type="nodelet" name="points_xyzrgb" args="standalone rtabmap_ros/point_cloud_xyzrgb">
<remap from="rgb/camera_info" to="/kinect2/data_throttled_camera_info"/>
<remap from="cloud" to="voxel_cloud" />
<param name="decimation" type="double" value="2"/>
<param name="voxel_size" type="double" value="0.02"/>
<param name="approx_sync" type="bool" value="$(arg approx_sync)"/>
</node>
</launch>
When I add a pointCloud2 and subscribe to rtabmap/cloud_map I get the following result.
At the moment, camera_link is my base_link because I removed the camera from the robot for easier testing.
Best regards, Wezza