I process a bag file with rtabmap and rgbd odometry.
The odometry (/rtabmap/odom) in rviz shows colored (purple and yellow) dots in different sizes.
Can someone tell me what they mean?
The closest I got was in [this](https://www.youtube.com/watch?v=JgP2X-ARj-A) video, but the yellow circles there refer to something else, I think.
Thanks,
Avner

↧
Rviz odometry color circles with different sizes - what do they represent
↧
What is the impact of changing the core parameters in rtabmap-databaseViewer
I want to refine the tracking in rtabmap and I have trouble to understand which parameters are active and make an impact on the slam process.
After I process a dataset with rtabmap, I can open the database with rtabmap-databaseViewer, which shows the images with the features.
There is an option to view the core parameters, e.g. (BRIEF, BRISK, SIFT, SURF, ...) and to edit them.
What is the impact of changing the core parameters?
Can I reprocess the data to see the effect of changing e.g. the core parameter Vis/CorType?
Thanks,
Avner
↧
↧
How to execute rtabmap_ros/map_assembler and generate a cloud map?
I am running ros_rtabmap and seeing good point cloud in rviz /rtabmap/mapData (but not from /rtabmap/cloud_map)
According to [here](https://answers.ros.org/question/314151/ros-rtabmap-graph-point-cloud-vs-map-point-cloud/), I should be able to run an rtabmap_ros/map_assembler node to subscribe to /rtabmap/mapData and generate a cloud. **but I'm having some problems to do that.**
Here is what I did:
I added a rtabmap_ros/map_assembler node to the launch file.
I can see that the process running
pas aux | grep assembler
avnerm 9233 0.9 2.1 1647040 171340 ? Ssl 13:46 0:02 /opt/ros/melodic/lib/rtabmap_ros/map_assembler __name:=map_assembler __log:=/home/avnerm/.ros/log/d6b29696-2bd8-11e9-a83c-74d02b912ce1/map_assembler-13.log
and generates a topic
rostopic list | grep -i cloud_map
/map_assembler/cloud_map
/rtabmap/cloud_map
However, nothing gets published
rostopic echo /map_assembler/cloud_map
...
According to [here](http://wiki.ros.org/rtabmap_ros#map_assembler), map_assembler subscribes to rtabmap_ros/MapData
I see the following mapData related topics:
rostopic list | grep -i MapData
/mapData
/rtabmap/mapData
but not rtabmap_ros/MapData
I tried running map_assembler from the command line as stand alone. It uses these parameters:
/opt/ros/melodic/lib/rtabmap_ros/map_assembler
[ INFO] [1549921966.051079341]: /map_assembler(maps): map_filter_radius = 0.000000
[ INFO] [1549921966.051775099]: /map_assembler(maps): map_filter_angle = 30.000000
[ INFO] [1549921966.051807634]: /map_assembler(maps): map_cleanup = true
[ INFO] [1549921966.051827208]: /map_assembler(maps): map_negative_poses_ignored = true
[ INFO] [1549921966.051838948]: /map_assembler(maps): map_negative_scan_ray_tracing = true
[ INFO] [1549921966.051855113]: /map_assembler(maps): cloud_output_voxelized = true
[ INFO] [1549921966.051869112]: /map_assembler(maps): cloud_subtract_filtering = false
[ INFO] [1549921966.051887146]: /map_assembler(maps): cloud_subtract_filtering_min_neighbors = 2
[ INFO] [1549921966.056246560]: /map_assembler(maps): octomap_tree_depth = 16
My questions:
- What should I do to make rtabmap_ros/map_assembler node publish results?
- How can the cloud results be stored in file for post-processing? (I want to open the cloud map file later with e.g. standalone rtabmap so I can convert the cloud point to mesh)
Thanks,
Avner
↧
How to tune the meshing of point cloud effectively in rtabmap
I have a point cloud that I want to mesh using rtabmap standlaone utility. I load the data with
rtabmap ~/.ros/rtabmap.db
In rtabmap I engage the following steps
- Regenerate clouds
- Cloud filtering
- Cloud smoothing
- Meshing
To learn the impact of the parameters and to tune the parameters, I set a specific combination of parameters and create the mesh. **But I find it cumbersome to wait for the entire mesh to be generated every time.**
Ideally, I will only load a small specific section of the point cloud and apply this procedure.
The only way that I know of, to load the data is by opening the database rtabmap.db
I'm thinking of the following alternative:
1. Load the database rtabmap.db once
2. Export from rtabmap into a model.ply file, then open the point cloud with e.g. meshlab and discard all the points expect for a certain area1, and export into a filtered point cloud file
3. In rtabmap, load the filtered point cloud file to work with much smaller dataset.
Is such thing, or similar approach possible?
Thanks,
Avner
↧
How to simplify the tuning of meshing parameters in rtabmap
I have a result from rtabmap process that is in rtabmap.db
The point cloud and the odometer looks good, but I have trouble to create a textured mesh
I load the data with rtabmap standalone
rtabmap ~/.ros/rtabmap.db
After several trials and errors I found the correct settings for the reconstruction of the point cloud, and Cloud filtering
I then move on to tune the Meshing parameters. As I repeat the process of trial and error
I have to repeat the point cloud regeneration, and cloud filtering, for every trial, which slows down the process considerably.
Is there a way to save intermediate results into a temporary database,
so that I can work off the temporary database and concentrate only on the meshing parameters?
This question also relates to my other [question](https://answers.ros.org/question/315444/how-to-tune-the-meshing-of-point-cloud-effectively-in-rtabmap/) on how to reduce the point cloud during tuning of the rtabmap parameters
Thanks,
Avner
↧
↧
rtabmap_ros: Is it possible to continue running SLAM when a sensor is disabled?
Hardware: Turtlebot 2 (Kobuki), Hokuyo URG-04LX, PrimeSense RGB-D
Software: ROS Kinetic (ubuntu 16.04), turtlebot_bringup, turtlebot_description, urg_node, openni2_camera, rtabmap_ros
Context: I am developing an algorithm for fault tolerance in mobile robots, in which we aim to compensate for faulty sensors at run-time. The experiments require me to disconnect a sensor and verify the fault's effects in the robot's operation, and later if the algorithm is correctly compensating them.
Problem: I need to test the effects of a faulty sensor in the rtabmap_ros package (i.e., how it affects SLAM), however when I disconnect a sensor to simulate a failure (either laser or camera), the package stops transmitting map and localization data, as it probably should. When the sensor is reconnected, the package resumes operation. I have tried to change the "subscribe_depth" and "subscribe_scan" parameters, then calling the "update_parameters" service, as well as the "reset" and "resume" services, all to no avail.
Question: Is it possible for RTABMAP to continue performing SLAM in the event of a sensor disconnection? Could it be a simple tweak in the source code, to not check for a certain flag? If this is not possible with RTABMAP, are there any recommendations for packages which allow for this behavior?
Thanks in advance!
↧
Rtabmap with Tango ROS streamer; rtabmap 'Did not receive data since 5 seconds!'
Hello,
I'm running ROS melodic 1.14.3 on Ubuntu 18.04 64 bit (kernel: 4.15.0-45-generic x86_64 GNU/Linux) (and I'm a total beginner with ROS, don't hesitate to ask for more commands' outputs if needed).
I'm trying to map a room from an Android 6.0.1 Lenovo Phab 2 pro smartphone where I installed the "Tango ROS Streamer" application ( https://play.google.com/store/apps/details?id=eu.intermodalics.tango_ros_streamer&hl=en_US ).
I can connect to the ROS Master on the laptop from the phone.
I can see incoming pictures from the fish-eye and the color cameras on the laptop.
I can see the live point cloud from Tango using `$ rosrun rviz rviz -d /path/to/tango_config_file`. The config file was downloaded from the link at point 2 of this page : http://wiki.ros.org/tango_ros_streamer/Visualisation , which is this one: https://github.com/Intermodalics/tango_ros/blob/master/TangoRosStreamer/tango_ros.rviz
But when I try to follow the rtabmap + Tango tutorial from here: http://wiki.ros.org/rtabmap_ros/Tutorials/Tango%20ROS%20Streamer
I get stuck with 2 warnings.
From the previous webpage, everything is working up to point 4. I can see updates from the /tango/point_cloud topic.
Point 5 seems OK in a new terminal:
$ rosrun rtabmap_ros pointcloud_to_depthimage cloud:=/tango/point_cloud camera_info:=/tango/camera/color_1/camera_info _fixed_frame_id:=start_of_service _decimation:=8 _fill_holes_size:=5
[ INFO] [1551193102.094838430]: Initializing nodelet with 4 worker threads.
[ INFO] [1551193102.647795400]: Params:
[ INFO] [1551193102.647839474]: approx=true
[ INFO] [1551193102.647929972]: queue_size=10
[ INFO] [1551193102.647968631]: fixed_frame_id=start_of_service
[ INFO] [1551193102.648015507]: wait_for_transform=0.100000s
[ INFO] [1551193102.648036083]: fill_holes_size=5 pixels (0=disabled)
[ INFO] [1551193102.648053149]: fill_holes_error=0.100000
[ INFO] [1551193102.648071092]: fill_iterations=1
[ INFO] [1551193102.648086249]: decimation=8
And at point 6 I have two warnings printed every 5 seconds:
[ WARN] [1551193180.898167458]: /rtabmap/rtabmap: Did not receive data since 5 seconds! Make sure the input topics are published ("$ rostopic hz my_topic") and the timestamps in their header are set. If topics are coming from different computers, make sure the clocks of the computers are synchronized ("ntpdate"). Parameter "approx_sync" is false, which means that input topics should have all the exact timestamp for the callback to be called.
/rtabmap/rtabmap subscribed to (exact sync):
/tango/camera/color_1/image_raw_relay,
/image_relay,
/tango/camera/color_1/camera_info,
/rtabmap/odom_info
Followed by:
[ WARN] [1551193181.360817636]: /rtabmap/rtabmapviz: Did not receive data since 5 seconds! Make sure the input topics are published ("$ rostopic hz my_topic") and the timestamps in their header are set. If topics are coming from different computers, make sure the clocks of the computers are synchronized ("ntpdate"). Parameter "approx_sync" is false, which means that input topics should have all the exact timestamp for the callback to be called.
/rtabmap/rtabmapviz subscribed to (exact sync):
/tango/camera/color_1/image_raw_relay,
/image_relay,
/tango/camera/color_1/camera_info,
/rtabmap/odom_info
And an empty visualization rtabmapviz window.
I wonder if I must change something in the called `rtabmap.launch` file that was bunddled with the `ros-melodic-rtabmap` and/or `ros-melodic-rtabmap-ros` packages (I installed them with `apt-get`, they were not build.) ?
If this helps, here's all the console's outputs along with the command used:
$ roslaunch rtabmap_ros rtabmap.launch rtabmap_args:="--delete_db_on_start --Mem/ImagePreDecimation 2 --Mem/ImagePostDecimation 2" visual_odometry:=false odom_frame_id:="start_of_service" frame_id:="device" rgb_topic:=/tango/camera/color_1/image_raw depth_topic:=/image camera_info_topic:=/tango/camera/color_1/camera_info compressed:=true depth_image_transport:=raw approx_sync:=false
... logging to /home/username/.ros/log/763268e8-39aa-11e9-8c83-507b9d414dc7/roslaunch-username-Laptop-Name-26845.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.
started roslaunch server http://localnet_IP:33099/
SUMMARY
========
PARAMETERS
* /rosdistro: melodic
* /rosversion: 1.14.3
* /rtabmap/rtabmap/Mem/IncrementalMemory: true
* /rtabmap/rtabmap/Mem/InitWMWithAllNodes: false
* /rtabmap/rtabmap/approx_sync: False
* /rtabmap/rtabmap/config_path:
* /rtabmap/rtabmap/database_path: ~/.ros/rtabmap.db
* /rtabmap/rtabmap/frame_id: device
* /rtabmap/rtabmap/ground_truth_base_frame_id:
* /rtabmap/rtabmap/ground_truth_frame_id:
* /rtabmap/rtabmap/map_frame_id: map
* /rtabmap/rtabmap/odom_frame_id: start_of_service
* /rtabmap/rtabmap/odom_sensor_sync: False
* /rtabmap/rtabmap/odom_tf_angular_variance: 1.0
* /rtabmap/rtabmap/odom_tf_linear_variance: 1.0
* /rtabmap/rtabmap/queue_size: 10
* /rtabmap/rtabmap/scan_normal_k: 0
* /rtabmap/rtabmap/subscribe_depth: True
* /rtabmap/rtabmap/subscribe_rgbd: False
* /rtabmap/rtabmap/subscribe_scan: False
* /rtabmap/rtabmap/subscribe_scan_cloud: False
* /rtabmap/rtabmap/subscribe_stereo: False
* /rtabmap/rtabmap/subscribe_user_data: False
* /rtabmap/rtabmap/wait_for_transform_duration: 0.2
* /rtabmap/rtabmapviz/approx_sync: False
* /rtabmap/rtabmapviz/frame_id: device
* /rtabmap/rtabmapviz/odom_frame_id: start_of_service
* /rtabmap/rtabmapviz/queue_size: 10
* /rtabmap/rtabmapviz/subscribe_depth: True
* /rtabmap/rtabmapviz/subscribe_rgbd: False
* /rtabmap/rtabmapviz/subscribe_scan: False
* /rtabmap/rtabmapviz/subscribe_scan_cloud: False
* /rtabmap/rtabmapviz/subscribe_stereo: False
* /rtabmap/rtabmapviz/wait_for_transform_duration: 0.2
NODES
/rtabmap/
republish_depth (image_transport/republish)
republish_rgb (image_transport/republish)
rtabmap (rtabmap_ros/rtabmap)
rtabmapviz (rtabmap_ros/rtabmapviz)
ROS_MASTER_URI=http://localnet_IP:11311/
process[rtabmap/republish_rgb-1]: started with pid [26860]
process[rtabmap/republish_depth-2]: started with pid [26861]
process[rtabmap/rtabmap-3]: started with pid [26867]
process[rtabmap/rtabmapviz-4]: started with pid [26873]
[ INFO] [1551193172.729273342]: Starting node...
[ INFO] [1551193172.772958427]: Initializing nodelet with 4 worker threads.
[ INFO] [1551193173.159676771]: Starting node...
[ INFO] [1551193173.522598905]: rtabmapviz: Using configuration from "/home/username/.ros/rtabmap_gui.ini"
[ INFO] [1551193173.548879218]: /rtabmap/rtabmap(maps): map_filter_radius = 0.000000
[ INFO] [1551193173.548934646]: /rtabmap/rtabmap(maps): map_filter_angle = 30.000000
[ INFO] [1551193173.548978562]: /rtabmap/rtabmap(maps): map_cleanup = true
[ INFO] [1551193173.549000678]: /rtabmap/rtabmap(maps): map_negative_poses_ignored = true
[ INFO] [1551193173.549021801]: /rtabmap/rtabmap(maps): map_negative_scan_ray_tracing = true
[ INFO] [1551193173.549039538]: /rtabmap/rtabmap(maps): cloud_output_voxelized = true
[ INFO] [1551193173.549056885]: /rtabmap/rtabmap(maps): cloud_subtract_filtering = false
[ INFO] [1551193173.549075803]: /rtabmap/rtabmap(maps): cloud_subtract_filtering_min_neighbors = 2
[ INFO] [1551193173.561644491]: /rtabmap/rtabmap(maps): octomap_tree_depth = 16
[ INFO] [1551193173.596373392]: rtabmap: frame_id = device
[ INFO] [1551193173.596422303]: rtabmap: odom_frame_id = start_of_service
[ INFO] [1551193173.596459715]: rtabmap: map_frame_id = map
[ INFO] [1551193173.596484364]: rtabmap: tf_delay = 0.050000
[ INFO] [1551193173.596516060]: rtabmap: tf_tolerance = 0.100000
[ INFO] [1551193173.596541779]: rtabmap: odom_sensor_sync = false
[ INFO] [1551193173.795382786]: Setting RTAB-Map parameter "Mem/IncrementalMemory"="true"
[ INFO] [1551193173.795752681]: Setting RTAB-Map parameter "Mem/InitWMWithAllNodes"="false"
[ INFO] [1551193174.384617337]: Update RTAB-Map parameter "Mem/ImagePostDecimation"="2" from arguments
[ INFO] [1551193174.384779790]: Update RTAB-Map parameter "Mem/ImagePreDecimation"="2" from arguments
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
[ INFO] [1551193175.253085155]: Reading parameters from the ROS server...
[ INFO] [1551193175.456282873]: RTAB-Map detection rate = 1.000000 Hz
[ INFO] [1551193175.456514214]: rtabmap: Deleted database "/home/username/.ros/rtabmap.db" (--delete_db_on_start or -d are set).
[ INFO] [1551193175.456573922]: rtabmap: Using database from "/home/username/.ros/rtabmap.db" (0 MB).
[ INFO] [1551193175.713842443]: Parameters read = 387
[ INFO] [1551193175.713886138]: Parameters successfully read.
[ INFO] [1551193175.841406314]: rtabmap: Database version = "0.17.6".
[ INFO] [1551193175.870125521]: /rtabmap/rtabmap: queue_size = 10
[ INFO] [1551193175.870656053]: /rtabmap/rtabmap: rgbd_cameras = 1
[ INFO] [1551193175.870754139]: /rtabmap/rtabmap: approx_sync = false
[ INFO] [1551193175.871226263]: Setup depth callback
[ INFO] [1551193175.892269562]:
/rtabmap/rtabmap subscribed to (exact sync):
/tango/camera/color_1/image_raw_relay,
/image_relay,
/tango/camera/color_1/camera_info,
/rtabmap/odom_info
[ INFO] [1551193175.904418027]: rtabmap 0.17.6 started...
[ INFO] [1551193176.290958883]: /rtabmap/rtabmapviz: queue_size = 10
[ INFO] [1551193176.291008942]: /rtabmap/rtabmapviz: rgbd_cameras = 1
[ INFO] [1551193176.291030082]: /rtabmap/rtabmapviz: approx_sync = false
[ INFO] [1551193176.291073607]: Setup depth callback
[ INFO] [1551193176.360630822]:
/rtabmap/rtabmapviz subscribed to (exact sync):
/tango/camera/color_1/image_raw_relay,
/image_relay,
/tango/camera/color_1/camera_info,
/rtabmap/odom_info
[ INFO] [1551193176.360969482]: rtabmapviz started.
[ WARN] [1551193180.898167458]: /rtabmap/rtabmap: Did not receive data since 5 seconds! Make sure the input topics are published ("$ rostopic hz my_topic") and the timestamps in their header are set. If topics are coming from different computers, make sure the clocks of the computers are synchronized ("ntpdate"). Parameter "approx_sync" is false, which means that input topics should have all the exact timestamp for the callback to be called.
/rtabmap/rtabmap subscribed to (exact sync):
/tango/camera/color_1/image_raw_relay,
/image_relay,
/tango/camera/color_1/camera_info,
/rtabmap/odom_info
[ WARN] [1551193181.360817636]: /rtabmap/rtabmapviz: Did not receive data since 5 seconds! Make sure the input topics are published ("$ rostopic hz my_topic") and the timestamps in their header are set. If topics are coming from different computers, make sure the clocks of the computers are synchronized ("ntpdate"). Parameter "approx_sync" is false, which means that input topics should have all the exact timestamp for the callback to be called.
/rtabmap/rtabmapviz subscribed to (exact sync):
/tango/camera/color_1/image_raw_relay,
/image_relay,
/tango/camera/color_1/camera_info,
/rtabmap/odom_info
^C[rtabmap/rtabmapviz-4] killing on exit
[rtabmap/rtabmap-3] killing on exit
[ INFO] [1551193182.383204425]: rtabmapviz: ctrl-c catched! Exiting Qt app...
[rtabmap/republish_depth-2] killing on exit
[rtabmap/republish_rgb-1] killing on exit
rtabmap: Saving database/long-term memory... (located at /home/username/.ros/rtabmap.db)
rtabmap: Saving database/long-term memory...done! (located at /home/username/.ros/rtabmap.db, 0 MB)
shutting down processing monitor...
... shutting down processing monitor complete
done
And this is the rqt_graph when the command `$ rosrun rtabmap_ros pointcloud_to_depthimage (...)` is running:

↧
Trouble exporting map from RTAB-Map
I am following [this](https://answers.ros.org/question/217097/export-2d-map-from-rviz-andor-rtab-map/) answer to export a `.pgm` and a `.yaml` from a database file generated using RTAB-map.
But when I run
> rosrun rtabmap_ros rtabmap _database_path:=IROS14-kinect-challenge.db
I get a message saying that `/rtabmap` did not receive any data since 5 seconds. I know there is no data being published into `/odom`,
`/rgb/image`,
`/depth/image`,`/rgb/camera_info`
but shouldn't this data be coming from the database file?
When I run
> rosrun map_server map_saver map:=proj_map
I get this message:
> [ INFO] [1551154609.903198676]: Waiting for the map
and
> rosservice call /publish_map 1 1 0
doesn't do anything.
- I am running ROS melodic on Linux Mint(Ubuntu 18.04).
- I have downloaded the IROS14-kinect-challenge.db file from [here](https://drive.google.com/open?id=0B46akLGdg-uaeFFWUUZWX2hsaVE&authuser=0)
- I have double checked that roscore is running. :D
↧
Why such a bad map using a depth camera?
I recently bought D435 (Intel realsense) and used rtabmap package to perfrom SLAM.
I simply used this roslaunch:
http://wiki.ros.org/rtabmap_ros/Tutorials/HandHeldMapping
And the result is this:

The environment is this:

Any ideas?
↧
↧
RealSense D435 + rtabmap + Pixhawk (IMU) + robot_localization
Hello everyone,
I am trying to fuse a visual odometry with Pixhawk IMU. For those who don't know, Pixhawk is an autopilot used for drone in this case. There is ROS integration provided thanks to mavros package, so I can get standard imu message from the Pixhawk. I am using only the IMU data from Pixhawk. I am using ROS Kinetic.
Intel already has a camera with built-in IMU, which is D435i. They provided example of launch file with exact same config as I want to use (realsense, rtabmap, robot_localization). Only difference is the IMU used. The launch file is here: [opensource_tracking.launch](https://github.com/intel-ros/realsense/blob/development/realsense2_camera/launch/opensource_tracking.launch)
Since I am using different IMU, I changed the code a little bit: [look here](https://pastebin.com/vR3c9Yzx)
I launch node for gathering data from Pixhawk elsewhere, so it cannot be found in the launch file above.
So to the problem. I am able to run the rtabmap, create the 3D map of environment, localize myself with the visual odometry itself. I am able to get the imu data from pixhawk, when I echo the pixhawk imu data topic. Everything runs without errors. Although I am not sure, whether the config is correct. I attached the Pixhawk and RealSense camera to a plastic plate. I thought it was operating correctly, but when I detach Pixhawk and move it around, odometry does not change (I visualize odometry in RViz). The odom topic I try to visualize is /odometry/filtered, which is output of robot_localization package, so I guess this odometry should be output of merged imu and visual odometry. So to sum up: I am not sure if the IMU affects the odometry at all. I attach rqt_graph and tf view_frames for better understanding what is happening.
P.S. I may have forgotten to write everything about this issue, so please ask for additional info, if it is needed. I really appreciate any help! Thanks
[TF VIEW_FRAMES IMAGE LINK](https://i.paste.pics/ea49b42b046786752bffa69bb1c646a5.png)
[RQT_GRAPH IMAGE LING](https://i.paste.pics/1722944d04954046983a0720d133116f.png)
↧
RTABMAP using Realsense D435
Hi, I am new to ROS. I am trying to do mapping using an intel realsense D435 camera using ROS. I followed the procedure given in the RTABMAP's hand held mapping page over here :
http://wiki.ros.org/rtabmap_ros/Tutorials/HandHeldMapping
but it doesn't seem to be working for me. Please help me with this.
↧
RTABMAP - how to view or export the disparity images from stereo SGM
RTABMAP - how to view or export the disparity images
Hi,
I am using RTABMAP as a stand-alone to process a set of stereo image files using stereo BM.
Now, I want to test using stereo SGM.
To tune the SGM parameters, I want to look into disparity image intermediate results.
Is there any way to view or export the disparity images from RTABMAP?
Otherwise, is it possible to call RTABMAP (version >= 0.18 supports Stereo SGM) from ROS and view to the disparity images in rviz?
Thanks,
Avner
↧
Bad stereo mapping in RTABmap
Hi,
I have a stereo camera, Intel T265 and I am getting strange stereo map:

Why is that?
I have also recorded the bag:
https://drive.google.com/file/d/1sjh1QdhBczf9v69mqZckdFTdfV8486nl/view?usp=sharing
↧
↧
Use RTAB-Map with ORB_SLAM2 in ROS
Hello everyone,
I successfully compiled RTAB-Map with Orb-Slam2, so I can now choose ORB-SLAM2 as an odometry strategy in RTAB-Map standalone app. Now I would like to use it inside ROS. I guess that maybe it is not implemented yet? Logically, I would expect it to be one of the parameters in rgbd_odometry node. But there is nothing like it in documentation. Or maybe I am wrong and it exists somewhere and I do not know where...
What do you recommend then? Should I launch orb slam 2 in ros and get odometry from tf, which is published by orbslam2 node and use it in rtabmap? Kind of a puzzle for me.
Thank you for any help!
↧
Why RTABmap wants sensor_msgs/Image when I am sending compressed images?
While launching RTABmap I have set the parameter "compressed" to true and even then I get this error:
Client [/rtabmap/rtabmapviz] wants topic /duo3d/left/image_rect/compressed to have datatype/md5sum [sensor_msgs/Image/060021388200f6f0f447d0fcd9c64743], but our version has [sensor_msgs/CompressedImage/8f7a12909da2c9d3332d540a0977563f]. Dropping connection.
Why does it request the Image when it should get CompressedImage? I set the left and right topics to compressed topics that my camera publishes
↧
Why does pointcloud pointing upwards?
I am using a camera remotely and sending the compressed image frames to host pc. I am using RTABmap to create a 2d MAP.
The problem occurs when the PCL is being published and the points are located above my robot. Why is that? Have a look at the picture:

My TF is normal and I am using this CPP code to send the images:
https://github.com/duo3d/duo3d_driver/blob/master/src/duo3d_driver.cpp
And using this launch file with static TF:
[320, 240]
So why does PCL prints on top of my robot? That makes my map to be occupied everywhere.
Also, this is what PCL of obstacles look like produced by RTABMAP:

I am using default stereo_mapping launch file.
EDIT!
It seems to do something with IMU but I do not know yet what is happening. When I tilt my IMU, pcl also tilts.
If you can debug together with me that would be great.
My rosbag is:
https://drive.google.com/file/d/1qRQrpndWqA_F7vqKuDCZKGiTedbIf4-S/view?usp=sharing
↧
All spaces are occupied using RTABmap stereo
Hi,
I am trying to map the area using the stereo camera and after looking at produced map, all the cells are black, meaning occupied. I have tried to figure out for 2 days but still struggling to understand the reason.
Will it be possibe for someone to have a look at my database? I clearly doing something wrong. Also, as soon as I start RTABmap, the framerate drops to 20 hz from 30 hz and the images lag.
My RTAB database:
https://drive.google.com/file/d/1sSgHQdynvplid1pwU9MlEqqmyx8TJFc6/view?usp=sharing
↧
↧
No data received even though topics are not empty
I am using RTABmap and having a camera on a seperate machine which sends image_rect/compressed over the WiFi to my host PC. My tree looks very standard and non-broken and every topic is not empty, they are published but when I try to run rtabmap I get this error:
[ WARN] [1553595152.413459752]: /rtabmap/rtabmapviz: Did not receive data since 5 seconds! Make sure the input topics are published ("$ rostopic hz my_topic") and the timestamps in their header are set. If topics are coming from different computers, make sure the clocks of the computers are synchronized ("ntpdate"). If topics are not published at the same rate, you could increase "queue_size" parameter (current=10).
/rtabmap/rtabmapviz subscribed to (approx sync):
/odom,
/duo3d/left/image_rect_relay,
/duo3d/right/image_rect_relay,
/duo3d/left/camera_info,
/duo3d/right/camera_info
Why is it stating that? I have every topic that is mentioned above and running at the same 30hz rate.
↧
Why doesn't RTABmap use my optical rotation?
When i run RTABmap, the poincloud is located on z axis of my base_footprint frame. My TF tree is quite simple:

I also apply optical transform from camera_link to duo3d_camera:
But that does not change anything.
My point cloud:
↧
Confused with the launch file RTABmap
I want to use my remote robot to send depth images to my host PC. In order to do that, I have followed this tutorial:
http://wiki.ros.org/rtabmap_ros/Tutorials/RemoteMapping
My camera publishes these topics:
/camera/color/camera_info
/camera/color/image_raw
/camera/depth/camera_info
/camera/depth/image_rect_raw
And I have used this launch file to start the rtabmap_ros/rgbd_sync:
I have turned off the visual odometry but I get this warning on my host pc when I launch rtabmap:
/rtabmap/rtabmap subscribed to (approx sync):
/rtabmap/odom,
/camera/color/image_raw_relay,
/camera/depth/image_rect_raw_relay,
/camera/color/camera_info
Why it tries to subscribe to /rtabmap/odom? I do not want to erase the group name "rtabmap" as it will mess other topics but from the logic from the launch file, shouldn't turning off the visual odometry make the subscribtion to `/odom`? And if I am using `rgbd_sync` why rtabmap does not subscribe to `/rgbd_image`?
Here is the rtabmap launch file I am using:
↧