[ROS Projects] – Performing LSD-SLAM with a ROS based Parrot AR.Drones – #Part 1

hello everybody and welcome to a new video in this case this will be a series of videos which will be all related to a ROS project that I'm going to try to accomplish okay and in this case the project I'm going to be focusing on is to perform LSD-SLAM with a drone I'm going to be using the the our drone from pirate so okay first of all what is LSD-SLAM well yeah you can have a look basically it's a visual way of performing visual slam yeah it's called large-scale direct monocular Islam and instead of using key points this is the main difference instead instead of using key points as we saw in the LSD-SLAM here in in the Robot Ignite Academy website here we have a course with drones which is this one here programming drones with ROS and here in one of the chapters we do this PTAM-based visual navigation PTAM-SLAM that which uses key points it takes the image from the camera I need assign some key points and it uses that in order to to do slam to the localization and mapping and yeah so the LSD-SLAM instead of using key points if that really operates on image in ten cities okay for for the in the localization and mapping here you can see a bigger demonstration this is how the map is created with LSD if you have it in real map in real time sorry who the map is being generated here you have the localization of the drone in blue well this case is just a camera it's not but well here you can see an example then okay so what we are going to do? First of all come here to the repository of term vision where we have the LSD Islam repository and then I'm going to go to RDS in order to create my project there we are all of these web pages I'm going to put them in in the description of the video as well as the repositories I'm going to be using so yeah the first thing I'm going to do is to create a new project which let's call I don't know LSD-SLAM project slam with our road so let's create this project and then let's start it of course so let's open our project now the RDS environment will appear there we have it then okay first of all I'm going to open a shell here in in tools I'm going to open up web shell and here I'm going to download from the consumer repository I'm going to download the trim our drum simulation so let's come here to me here as you can see we have several of more spaces the cutting workspace notebooks more space and the simulation workspace in this case what I'm going to do is to place the simulation packages here in the simulation_ws space okay the Notebook workspace it sees it for placing notebook is Python notebooks and the catkin workspace for other packages the time that you build ternary project or whatever but anyways the simulation I'm going to put put it here in the simulation workspace so let's come to simulation workspace arc directly and here I'm going to clone this repository there we are so another thing I'm going to use is the IDE which I can open it here let's place it right here okay so yeah here this is a basic Linux shell this is like a linux shell and this is an IDE where I can work with my directories on my files in a graphical way which is nicer and more user-friendly so here I can you can see as well the more spaces I was talking about here I have it I have them so inside the simulation work space in the SSC directory I have now this – AR Drone sim all the packages related to a simulation yeah so let's come to this workspace and compile it first of all to have my drone simulation working and I think this compilation we will take a while well at least I don't know five six minutes because there's a lot of stuff to compile let's see okay yeah this is going to take some minutes so I think I'm going to pass this section of the video and I will I will go straight to to the point where this is compiled it so see you in a moment okay so the simulation and the compilation sorry has finished it I have my two marks runs in package compiled so now let's search our workspace and let's test that the simulation works correctly so let's come here to the simulation step and select a load file and here I'm going to select this one here the other own test world lunch so I'm going to launch this one and as you can see here a simulation window pops up and let's see if everything works fine okay so it looks like yes everything is working I have my hard drone simulation here so okay there we are okay so yeah everything is working fine let's close for another simulation because I don't need it so yeah the next step will be to download the LSD-SLAM packages so that's what I'm going to do right now I'm going to download the repo here so let's download this LSD slam repository okay here we have it as you can see the tomb our room same and the LSD-SLAM and now here what I have been seeing these on testing a little with these and and here basically I have a set up for resigning go to this one to 1404 which is the setup that I have here this is an Ubuntu 14 mission with verse indigo installed and well here have a instructions on how to install it but this is you think see make as you can see here this is using rosmake okay so I have been investigating a little bit and there is an alternative way to do it theoretically which is with the cutting branch here I have the master branch and here I have a catkin and a catkin-mac branch okay then theoretically if I come to my LSD-SLAM package I can switch to the cutting branch so okay let's come to the code master and here as you can see I have this LSD insulin call LSD-SLAM mirror and a couple of extra files here but now if I do a deep check out to the cut king branch I have the LSD-SLAM courses LSD-SLAM beaver and LSD-SLAM so as you can see the the packages are a little bit different and this theoretically as I as I'm saying allows you to to build this packages using active make but this doesn't work at least until the poni have arrived let's test this let's do a cat can make which is the de the way that is done now now ROS make is not it's not used so the the proper way to compile your practice is using catkin_make so let's try this and see what happens okay so yes you can see I have a half here some again config errors yeah so these this it can be solved easily by adding here to the slamby were packaged XML let's do it I think here as dependencies the Simic modules package as well here at their own dependencies see make models and also you have to add it here in the fine package there we are and you have to do this as well for the LSD-SLAM core package so I'm going to come here and do the Simic modules as well here in the run dependencies there we are and in thesimic lists let's add it here there we are so now let's compile again there it is a link now I'm going to get another error you will see there you are okay so here you have another error well some errors it's not just one but are related to the same this here it is the following variables are used in this project but they are said to not found so yeah basically these can be solved by installing some dependencies that appear here here you have the dependencies so so here what I'm going to do basically is to install these dependencies so let's I'm going to connect to this instance to these PC through to my web shop because I cannot install the bet because I can not install into from this shell because I don't have permissions to do that so let's get external IP Linux let's I've been I'm okay there we are so let's take this comment here and I'm going to execute it right here and here I can get the IP so now I'm going to open a terminal here in my computer and I'm going to access my PC there we are okay so now I am inside the PC that is running all of these yeah so okay let's do a Surat up to get update first of all and then let's get from here these dependencies I need and let's install them start on here there we are okay there we are excellent so now I have all of these packages and libraries installed okay so let's run again cut can make and now you'll see that we'll get another now it's starting to compile okay so the errors that were playing before aren't there anymore and then we get this error okay which is basically the the error that but I got when I was testing all of these this is no such file or directory this k-frame message dot eight and what this error I couldn't solve it so I stopped there so in this case I'm going to stop here as well and what I tried several things but I couldn't solve it so I'm going to try wireless thing which is to compile it the old way so I'm going to remove from here my LSD-SLAM no you don't want to keep them okay so I have to remove all the others the Islam a picture I have I don't load it before and what I'm going to try here is to do it the way which is indicated here so let's try this as well I need to install the python-rosinstall package so let's come again here and install this there we are then I need to build another workspace which is this ROS workspace so I'm going to come here and create this reversible into workspace here I have it as you can see it has appeared as well here okay so okay let's follow here the instructions so see the rosbuild then let's imitate our workspace there we are then mkdir we are going to create a new package called package dir and here let's execute this command yes there we are then okay finally let's execute bash here see the package de ok then what we need to do is to do load here the LSD-SLAM repository again inside the package dear so let's do this there we are so I have here now inside my package near the LSD-SLAM packages as before but now they are in the master branch ok so this is the master branch not the cutting branch the cutting goes to try to compile it doing academic and now here I have to do a rose make as the aslam so let's try to do this and as you can see here we will run on sewing through other arrows which I try it previously also to solve in a quick way but I couldn't so yeah this is the point where I am I will need to have a deeper look to try to solve these compilation errors I don't know if I finally will do it with this rush make method or if I'm going to try to solve the errors in the cut you make method I don't know but this is basically the status where I am so during this week I will try to solve this errors and three moments I have when I'm not working I will try to to solve it and one in the next video I will explain you how I did solve it and or at least if I was able to solve it I hope I hope I will be able to so yeah see you in the next video I hope you have liked the video and what you have like it if you want to see the next part please leave a like subscribe to our channel we keep publishing videos like these with projects with answering questions almost every day so yeah see you in the next video goodbye