Merging SD-SLAM and Rosify Difodo II

1 minute read

After integrating the code from rosify difodo into SD-SLAM and being able to compile both algorithms the next thing that I went ahead was to start rosidy difodo along SD-SLAM in the within the same tracking module.

The results weere that both algorithms could run without any problems together. I tested them with some of the datasets from RGBD-TUM and visualize them using rviz to see if I did get the expected results. This is an image of the odometry of both algorithms for the freidburg1_desk sequence (red for difodo and green for SD-SLAM):

alt

Since both alogorithms seems to work, now it is time to make an integration between both of them. Since what we are doing right now is run rosify difodo in parellel on another thread and there is no relation between SD-SLAM and DIFODO. Also rosify difodo since is a ROS ready algorithm is being listening at the depth topic, instead of using the depth images coming from SD-SLAM.

Ive created a version where both algorithms run in parallel in my own branch of SD-SLAM: https://github.com/omar-ogm/SDD-Slam/releases/tag/v0.1.0

Next Steps

  • Start integration of both algorithms. In order to do this Ill create a new class that holds only the neccesary code to integrate DIFODO (without the ROSified code).
  • DIFODO will have to work with the images that SD-SLAM is capturing. (The capturing method should be irrelevant for DIFODO). This means that DIFODO will get the depth frame from the Frame class within SD-SLAM. Load the depth frame to DIFODO all the time so it is always ready to start working when needed.
  • Find the best place or where to actually merge them. This means find when to start DIFODO after SD-SLAM fails.
  • Use the odometry of DIFODO into the last known location from SD-SLAM. In order to do this Ill have to check if both algorithms are working with the same axis order of if there is any kind of rotation between them.