Rosanswers logo


I am attempting to remotely build a map in real-time with RGBDSLAM over Wifi (if possible). I have Raspberry Pi 3 on my robot with Kinect XBOX 360 from which I am streaming RGB and depth images. On my workstation side I am trying to run RGBDSLAM on i5 CPU @ 3.10GHz, 16GB RAM with Nvidia GeForce GTX 960.

I already found and tried some of the suggestions posted here and here like trying to reduce bandwidth using monochrome images and QVGA resolution and setting subscriber_queue_size to higher values than default.

I've noticed that when streaming compressed images I am receiving around 2,5 MiB/s (while for uncompressed it is around dobule of that - 4,1 MiB/s (mono), 5 Mib/s (color)).

But, when using a compressed image like /camera/rgb/image_mono/compressed topic I get the following error on the robot side where openni_launch is running:

[ERROR] [1534762397.979395791]: Client [/rgbdslam] wants topic /camera/rgb/image_color/compressed to have datatype/md5sum [sensor_msgs/Image/060021388200f6f0f447d0fcd9c64743], but our version has [sensor_msgs/CompressedImage/8f7a12909da2c9d3332d540a0977563f]. Dropping connection.

I would like how to set compressed image transport properly because from my experience when using uncompressed images the lag is to big and when testing with GUI mode it stops after processing only 2 frames. Screenshot.

My objective is actually to run RGBDSLAM without GUI using rosservices.

I followed these steps after running a modified rgbdslam.launch file:

First I run:

rosservice call /rgbdslam/ros_ui_b pause false

[ INFO] [1534763725.680669692]: Got Service Request. Command: pause. Value: False

Secondly, to send point clouds to rviz:

rosservice call /rgbdslam/ros_ui send_all

[ INFO] [1534763732.347345683]: Got Service Request. Command: send_all

In rviz I tried to set subscribing topic to all of rgbdslam published topics /rgbdslam/online_clouds , rgbdslam/aggregate_clouds but only after setting it to /rgbdslam/batch_cloud I get he following:

[ INFO] [1534763774.913977580]: Got Service Request. Command: send_all
[ INFO] [1534763774.914082722]: Sending out all clouds

I would like to visualize online mapping, but there is no point clouds Rviz. (except when subscribing to /camera/depth_registered_points)

When I try to call:

rosservice call /rgbdslam/ros_ui_s save_cloud /tmp/mycloud.pcd

I get:

[ INFO] [1534763835.047313752]: Got Service Request. Command: save_cloud. Value: /tmp/mycloud.pcd
[ WARN] [1534763835.047461813]: Cannot save empty graph. Aborted

Is there anyone who had the similar issues and found a way to resolve them? Any suggestions would be much appreciated. Thank you!

I'm running Ubuntu 16.04.4 LTS on both desktop and RPI with ROS Kinetic.

Originally posted by Dox on ROS Answers with karma: 36 on 2018-08-20

Post score: 1


1 Answer 1


Rosanswers logo

I found out that I had firewall enabled on this PC. After disabling it I can visualize 3D point cloud in GUI. I can also use rosservice calls mentioned above without errors, but when subscribing to /rgbdslam/batch_cloud topic in rviz I can only visualize the point cloud of environment in the direction that camera is facing atm. In other words, I can't get RGBDSLAM to incrementally build the point cloud map in Rviz like it is doing in RGBDSLAM GUI. I posted another question relating to the issue in here.

Originally posted by Dox with karma: 36 on 2018-08-27

This answer was ACCEPTED on the original site

Post score: 0


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.