How to Map with LiDAR - using a Raspberry Pi Zero 2W, RPLidar and Rviz

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
[Music] hey romo because i'll try that again hey robot makers how are you doing hope you have a good day so far so jump to know how to use a lie dye in your robot to detect the environment and map using roz using a raspberry pi zero two which i didn't think was possible then this is the show for you so let's dive straight in my name's kevin come with me as we build robots bring them to life with code and have a whole load of fun along the way so yes today's show is all about lidar mapping i've had this light i used it for quite some time and i wanted to put it on my own robot so that's exactly what i've done i can't wait to show you this today so yeah some of the session goals for today we're going to have a look at the rp lidar which is the unit that i've got how lidar works uh we're gonna have a look at how we get ubuntu on a raspberry pi zero very briefly uh installing raws again very briefly and then creating a swap file which is something we need to do to give the raspberry pi zero a little bit more memory and then we're gonna have a whole play with the uh the light out which is just the best bit so can't wait to show you this okay so the rp lidar is a 360 degree distance sensor so it's made by slamtech and it's it's about 90 pounds 89 pounds i could see at the moment you might be able to get it cheaper on ebay so it rotates round between 5 and 10 hertz i think there's a setting to make it go faster or slower it's got about an 8 meter guaranteed range it can go a lot further than that but guaranteed 8 meters that's quite a long way and it takes between two thousand and four thousand again there's a sum there's a setting for that takes two thousand four thousand samples per second which is unbelievable and if you think it's doing you know so many rotations ten rotations a second that's a lot of data and uh yeah connects to uart or usb so i use usb because it's dead easy it just presents itself as like a usb port a uart file essentially on the ubuntu very very easy to get connected and working so how does lidar actually work so it's a bit like a rotating range finder is how i would describe this uh quite interesting mechanically how this works as well so there is a there's a little unit the head which is sat on a ball bearing and well a bearing i should say and all the electronics are in there so how do you connect something between one thing and another power and also data so how they've done that i think um andreas did a video on actually taking one of these apart to show you inside quite clever quite a clever piece of technology so uh yeah sat on a bearing so it's got very low friction and it spins around it looks a little bit clunky when it's sort of spinning around it doesn't look quite elegant but it works perfectly so the light reflects off any objects and bounces back to the sensor it does this 40 000 times a second which is just insane and the distance is uh measured because essentially what you're doing is sending out a signal it's bouncing back off an object and the time it takes to receive that that light reflection you want to have that because that's the distance of the object that you're looking at at that point in time so there you go nice bit of animation just in case you didn't know what rotation looks like there okay so this i've really enjoyed red doing out this picture today i can't tell you how much joy i got for doing this i found an rp lidar um model on grab card and i had to just have a play with this so this is how it works it's time of flight if you've ever played with the laser sensor before time of flight is the the technology that we use in there so the laser sends that modulated pulse that's reflected off an object comes bouncing back to the to the sensor so you've got a transmitter and a receiver a bit like the uh the rangefinder but that uses ultrasound instead of light and the distance is calculated by taking the time it takes for that laser to to hit the object and return back so we have a calculation for that speed of light and we just have that to get the actual distance of the object and essentially because it's rotating round um well not because it's rotating around so fast because it's speed of light is so fast and it can send and receive so quickly the rotation is almost trivially it doesn't really matter you're not going to get sort of jagged lines when you're trying to measure a straight object and you're always going to get a point cloud anyway with these things so now you essentially just get a number of points and the software that you put into to map it will do all the correction and make it look like a solid straight line so essentially just loads of dots forty thousand dots per second which is just insane the rotation is important because obviously we want to get a 360 degree view and we will know once it's made an entire revolution just because there's a there's a sensor in there a counter that can just say yep i've got this um rotated round once therefore all the readings that you took in that that one period of time you can then divide it by pi um two or pi two to get like a tis pi isn't it to get the actual angle and therefore where it was pointing at that point in time when it found the object so quite straightforward really so yes all trigonometry the points you can see them little diagram [Music] thank you for subscribing to the channel there so yes the points can be measured and mapped into a two 2d coordinate system so you do need to remember this when you're um when you're using a lidar it's kind of a slice across the plane that the laser is firing out so it's not three-dimensional it's not like um if you've ever mapped with your iphone that's on an iphone 13 i think i don't think the 11 had it the the 13 definitely has it and the ipads have it now as well they have a lidar detector on the back and you can sort of walk around um mapping out your environment and that's something clever too because it can use the camera to detect the color of the pixels of the thing that it hit as well but we're just basically just tracking the environment and now we compare this to a camera using ros using the rvs library which we'll have a look at later i've not got the camera module plugged in yet in fact it's just here on my desk so we will look at that in future videos too so yeah so the points are measured they can be mapped in a 2d coordinate system the time that they are they were taken the distance that was measured and the angle of rotation all those things can basically just tell you where this thing is and it's reasonably straightforward and we actually don't need to do a lot of that the software that we use in the software stack will do a lot of that for us so if you really enjoy these videos and you want to help me out give this video a like cost you nothing to do that um if you drop a comment as well on the video whether it's on the live or whether it's on um the pre on the playback um that also helps the algorithm to detect this is a good video worth sharing and also if you subscribe to the channel then you get to know when i go live with a new video and this is live people always surprised oh this is actually live i thought it was pre-recorded as we're going out seven o'clock sunday evening gmt uh yep it's definitely live as it says that i do go live every single sunday at seven o'clock gmt every single sunday so the first thing we need to do with our raspberry pi zero is we need to get the ubuntu installed on it and when i first saw this i thought really can we not get this working on the regular raspberry pi os nope it's not supported roz doesn't support the raspberry pi uh os for whatever reason debian it does support ubuntu and in fact when i was um speaking with ebon upton um last sunday was it or sunday before whenever it was when the raspberry pi event must been last sunday saturday um he mentioned about the original raspberry pi uh was going to run first of all see python and then they decided no let's put a unix linux system on it and they tried putting ubuntu on it that was their first choice but ubuntu dropped the support for the um six chip so they couldn't uh use that so that's why um roz is is more of a big boy operating system for it's called an operating system it's really just a bunch of scripts and libraries and frameworks um very cleverly put together so yeah we need to use ubuntu that's the first thing we need to understand and roz we need raws because we want to access those laser mapping tools and particularly this one that's called arvis so somebody's asking a question there which version of ubuntu am i using so i think it's 20.04 and we'll get on to that in a second as well in fact it says up there 20.04 on this subtitle so not the not the very latest one and again this is to do with the versions and the thing that's all rosie is very confusing full stop i'll put that out there i think i spent all of saturday just meddling with this and there's essentially two versions of ross there's a ros one and ros two rows two is for all the new stuff ros one is where the bulk of all the existing scripts and things are and this lidar um the scripts i've got to work with ros one or just rolls so that's the version i'm going to be using today and avis is the software i want to to visualize this the ros visualizer so you can download this using the raspberry pi imager you can just go to the ubuntu website and download for the raspberry pi you want the 64-bit version not the 32-bit version so this doesn't work on raspberry pi zeros of the old generation it's only on the raspberry pi um zero two w that this will work because that that's now m7 chip and that will run 64-bit operating systems so you can download that using the raspberry pi imagery or you can just go on the web and grab that but make sure you get version 20 point not for that version unless it's years later when you're watching this and they've corrected that and so on so i think it would work with ubuntu 18 not four i think that's fine as well it's just not the the very latest version of ubuntu so one of the challenges that we have um with the raspberry pi zero is the memory so it only has half a gig of ram which isn't massive if you think 10 years ago the very first raspberry pi that came out had a quarter of a gig of ram then this is only twice as much as that and this is 10 years later it is what it is so if we want to use this we have to do something that's a bit forbidden in raspberry pi or you know raspberry pi eco system and that's use a swap file normally raspberry pi's have swap files turned off so why is that and it's to do with my memory cards i've got a little memory card here just in case you don't know what i'm talking about so one of these tiny little memory cards they have a life where they will only these samsung ones are dreadful by the way um they only have an active life of so many rights and reads it's more the rights than the reads that uh that caused the problem so if we want to have um give our raspberry pi zero some extra memory we have to have a swap file and the reason that it will damage the file the the card is because the reading rights happen thousands of times a second because it thinks it's using it as memory on those memory things might change that often so it'll basically just burn your card out if you do this long term but we're just doing this for a bit of an experiment today so it's fine and you can get new cards the newer generation of cards these endurance cards um i think they work much much better so i think actually the samsung one is fine it's the ones that are not branded the issue if i've got any of those my little drawer over here a little graveyard of uh sd cards that have failed of course you'd never find the one you want when you want to find it well that's the sandisk so maybe it's sandisk are the good ones maybe samsung are the poorer ones some of them are just unbranded they just have um not very much writing not just how's your size they don't tend to last very long i've found the sandisk ones one you pay a bit more for they seem fine and they do this range of endurance cards so we're gonna do a two gig swap file now you can do more than that if you wish um and you certainly need to have more than an eight gig memory card as well i've gone for i think it's a 64 gig card in here as well we can have a look at that when we log into it later so this is how we do this on on ubuntu so use fallocate which is a way of allocating um disk space for a file so we do sudo falloccate dash l the size of the swap file that we want which is two gig to g capital g and then forward slash swap file forward swap file is the path to the file that we want to create um so then we need to change the permissions because only the root user should access this file so we do sudo chmod 600 which is the permission set and then slash swap file which is the path to the file again and then we need to use the make swap utility so we do sudo make swap slash swap file it then becomes a swap file just as active yet so to activate it we then do sudo swap on swap file that will make it active and you can if you do something like h top you'll see um the memory being used and it'll say swap file so you can you can use a swap off as well if you want to switch that off after you've used it and if you want to make this permanent and i suggest you do if you're doing this ros experiment with me today you need to edit you need to do sudo nano or whatever editor you can use vim if you're in that way inclined um sudo nano and then slash etc sf tab which is a file system table and then you can just copy that line onto the bottom which is a forward slash swap file swap swap and then defaults zero zero so somebody says do people here say sudo or sudo because it's super user do isn't it so sudo is probably the correct one but sudo i don't know i pronounce everything incorrectly people always give me the hate in the comments i don't care so i'm using noetic nim i can pronounce this ninjaemmies noetic ninjami's whatever that is so that's the version of roz that i'm using it's roz1 so to install this on ubuntu we can just follow the instructions at ros.org very straightforward to do that um i wouldn't try and build this from source i would just use the the um the install i think it's like a debian package that you can install if you follow the instructions so that's what i'm using so the rp lidar software this is a really really great um what we need to do for this one we need to create a new folder now this is quite a cool command if you do make directory and then dash p it will make all the folders in the path you give it so if if um catkin underscore ws which is our workspace doesn't exist and the source doesn't exist this one command will create the whole thing and that little squiggle just means go to your home directory um so this will create a new thing in like slash home slash whatever the user is and then catkin underscore ws underscore sorry or forward slash source we can then do cd and that path to get into that source folder we then use git clone to grab the the ros files now they're on github and robopeak is one of the the people who maintain the library of code for this so if you do that whole path there https slash github dot com slash robo peak slash rp lidar underscore ros that will download that and unpack it into the the source folder you can then go back either do cd space dot dot or just do cd squiggle catkin ws and then you'll be back into the catkin catkin is the the building what's the right phrase for this it's kind of the environment builder for roz that's what we're going to use to create um the launch files for this so if you do catkin underscore make it will create all the files all the structure and everything for you using that source that you just built so that's it and then it will also create um it'll create three folders it'll create a develop folder a build folder and i think the source folder is already there sometimes it has an install folder as well but it's the dev el dev folder that will um contain your source files that you need to if you want to create lots of environment variables sometimes you do this when you're creating like a python virtual environment you use the command source and that will essentially load up all those different environment variables for this particular instance so we need to do source and then slash dev devel i think it is slash devel slash setup.bash i've got that on another screen in a second here we go in fact so to save you doing this every single time you can put this into your your squiggle slash dot bash rc which is the uh when you log in as a user on on any linux if you're using bash as your um your shell then bash rc is where every time you log in it will read that file and it will run everything that's in there so if you add this to the bottom of there source opt ros noetic setup dot bash add that to that squiggle slash dot bash rc it will run that every single time and we need to do that if you want ros to work it's like it's got a whole bunch of environment variables and things that we need now there is another thing which is um the if you type export that will create a new environment variable and it will set it to whatever you you you use the equal sign to the right of it and there is um there's a special parameter that we want to add to our environment variable which is ros underscore master underscore uri that's the universal resource um not indicator what is it the uri it's like a url but it's it's a it's not a locator it's a a thing i can't remember i've got live stream uh what's the word live adrenaline monster your brain goes all you and you you're live streaming so that bit this in gray that says your ip that'll be specific to the machine that you're loading this on to and what what's happening here is you can have raws running on a whole bunch of different computers different nodes and um you can separate out the you know the more powerful stuff can be done on more powerful computers so for example if we were doing image processing we could have a raspberry pi zero taking images and then feeding that to a more powerful machine like one jetson nano that could crunch through do object detection send it to another node which could coordinate it so yeah it can it can help split things out and this is what this master uri is all about um it helps you separate out things and this is the master node the resource ros ip ros underscore ip is just the ip address machine that you're running this from and it's just a way when it sends the information it can say by the way i'm on this machine so let's add all this um to bash.rc sorry dot squiggle slash dot bash rc and it will just save us a whole lot of hell if we keep forgetting to do that because you have to keep typing in it's painful so let's add all that now so the very first thing that we need to do and we'll do this in a second on our demo is run roscor it looks like rose score it's ros core thank you neversix makes he's just found universe sorry uniform resource identifier there we go that's what ui stands for so we're going to run uh roscore and we will see some messages and it will also say what the ros master uri is our universe i keep saying universe a uniform resource identifier and on here on the screen you can see there it's got the ip address of the machine on the uh my little explorer robot on my desk here and it's got a another thing there but the one we're actually interested in is this one one three one one that's like the ros port that we will always see um we need to see that it says they're the ip address not like local host or something else it needs to be one that we've purposely shared out there because other machines need to see it and then it will say a whole bunch of other things we will look at in our live demo in a minute so that is um the core we then need to launch our rp lidar a lidar file so we need to do source squiggle catkin underscore ws i think it's d-e-v-e-l not dev which i've typed there setup.bash that will load up all those specific environment variables for that package that we've just built and then we can do ros launch which is the command to launch raz packages we do ros launch rp lidar ros which is the package and then the launchers file itself is rp lidar.launch if we type all that in it will detect the gross core is running and it will kind of say here i am i've got loads of other things i can bring to the party and it does that using topics so remember when we've done things in like um mqtt where we've sent messages like our weather data from our weather station to our node-red instance we use mqtt and ros has something very similar to that but it's just not mqtt madam says the squiggly line is called a tilde i just call it the squiggly line so ros topic is how we look at this uh this mqtt that it's not broker we can have a look at all the different topics that are on there we should see one now called scan scan is the the one that the topic that has all the data coming from our lidar and kind of just firing out all these messages if we want to look at those messages to make sure the data is coming through properly we can have a look at ros topic it's a bit like looking at the matrix it's just like loads of data flying past but you can at least see that it's there you can see that it's changing it's not just all zeroes um so ros topic echo scan um will show us the the data there and then finally there's this thing called transforms so our robot lives in a world and the lidar is also living in the same world and we need to make sure that they understand that they are in the same coordinate system so we need to do a transformation a static transform and we use the static transform publisher to do that so ros run is the command that will run this static transform uh publisher and the zeros there is just basically i'm basically saying there's no quad there's no um transform that you need to provide but what we could do is we could say it's so many centimeters up it's so many centimeters forward uh you know and is it rotated all that kind of stuff um from the center point of the robot so that's how we would do that we're just using xeros for now because we just we just want to play with the thing and then we've got the two coordinate system names so we've got world which is the world as we see it and we've got our laser one which is the data that's coming from our scan uh rp lidar 100 is just how many um readings per second per sorry per millisecond we want 100 milliseconds worth of uh readings being transformed and this is the best software this is so cool so the ros visualization tool there's so many things you can do with this and i've just not even scraped the surface of this so i'm going to use a different machine to run this on i'm going to use my mac and i have a ubuntu virtual machine running on the mac it's just a bit quicker and it's less memory less hell for the raspberry pi zero which is already running flat out there um so i've got that running on a different instance it also means we can see how it can connect to that ros core on a different machine and it will just work and we can get the data from the lidar being visualized in a little 2d map that we can play with so we simply just type arviz and then we will add in a couple of things i'll do that in the demo we basically just add in a laser laser scan node and then we set the topic on that laser scan node to scan set our fixed frame to world and we will be able to see everything okay so if you want to join the if you want to join a more deeper conversation about robots uh you can join our discord server if you want to do that you can just head over to uh thanks action.smilesfan.com join discord and you can join our discord group it's a growing group of people um all dedicated all very friendly and nice to speak to so let's have a demo i've been waiting for this fit this is the best bit okay so let me just get myself sorted over here um so i'm going to just go to me for a second let's load up that right so i've got three terminals here so the first one is the one i'm going to run roscor on so i'm just going to type roscore and that's going to fire up everything that we need so it's just talking about yeah it's over a gig for the log file or whatever we can see there that it started though the server um it's created two topics it's got ros distro and ros version and we can also see there that the ros master uri is the ip address with the port 11311 and that's that slash as well don't forget that so that's running that's and then it started the core service ros out which is like our output our console so down here i'm now going to run ros launch rp lidar and rp lidar.launch so that's the package name and then the file within that and so that's now said that yep here's also the parameters and i've just heard that stop and start which is the uh the lidar which means everything's good and you can see that all the different things like reversion seven of the hardware health is zero which is good and there's the max distance point number so it's 8 000 points it's currently doing and ankle compensate is two whatever that means okay and then in this other window up here i'm going to run that transform so there you go ros run tf for the transform we've got static transform publisher we don't really care about actually any real transformations and we're going from world to laser with 100 milliseconds so we're going to run that doesn't really tell you very much it just does it okay so what i'm going to do now i'm just going to go back to me for a second while i grab my ubuntu machine let me just log into that and here we go right so over here i've got um another machine i've downloaded the same um version of ros on here so if i type uh ros topic list for example we should be able to see everything that it can see so you can see our scan data so let's just do ros topic echo scan and what we should see is loads of data and if i stop it in a second it's not all 47 it looks like it is there it's just the way that the screen is updated if i just do control c and then i just scroll up a little bit that's the actual data that's coming all the different points so that means that's that's good that means that the data is coming through so i'm going to load up um oops ah viz typed it wrong then this with a zed sorry right here we go a few that's good have is okay so first of all i'm just gonna get rid of my little um buy me a coffee thing you can buy me a coffee if you want to help support the show that really does help out so if we go to add down here we can add in the laser scan and then we can just click ok and if we come over to this little disclosure triangle there click on topic and we grab scan and then we come up here into our fixed frame and change that from map to world what was going to happen there's some little bits of red going on down there let's increase the size of our points so 2.3 and then let's let's have a look what's going on right so this is our little map so what i'm going to do if i go to that view there right if i grab this and i start moving it around can you see the shape of the room that i'm in you can even see the curtains i'm kind of in the way a little bit the reason that there's like a black spot down here is because my body's in the way if i duck down you can see that's where alex's chair would be over there and that little squiggle in the middle there is me waving my hand if i put it down and put it up again you can just see appearing and you can see that the shape of the room now there is over this side there is um kind of a cabinet with lots of bits and pieces so if i hold it up higher you can see that it's pretty it's pretty straight that line and over in this corner here is the 3d printer there's another one over there so you can kind of see the two lines there and yeah that's that's working really well so you can just see that it doesn't look like it's spinning that fast in fact so if i tilt it up you can see the room kind of because it's taking a slice out of the room they're the actual beams up in the uh the roof area and if i put this back down on the desk now you can sort of see it get obscured by all the other bits so there's a there's a camera right in front of it there that's why it looks a bit uh chunky there that's what these little bits are but you can sort of spin round you can change all the settings let's go back to to that view that view there so we can change the style of these blobs we can make them points so we zoom in a little bit on some of these points which is the best way to do that sometimes it does seem to do this when you try and zoom in it doesn't seem to update as fast but let's change that from that to squares if it messes up like this what i'm just going to do is just kill it i think this is more to do working in a visual a virtual machine rather than anything else but it's really quick to just get it up and running again so let's just do that let's grab our laser scan let's just get our topic scan and then world and let's zoom in a bit more there we go right so we can see these little dots sort of jiggling about a little bit so we can change that again so the size is not point three i mean if we go really big like one it's just like one massive massive blog block so let's go let's go 0.03 so instead of being flat squares we can make them cubes we can make them spheres or just points or squares whatever we think's good points looks good to me yes whenever i try and move this it doesn't like it it seems to stop updating on there what else can we do on there so the next step in this process and this is where i got to i i wanted to do a show more about the next step than this part um is to map the data using something like hector slam or g mapping and they are quite tricky to get up and running i'll put it out there so what we would have to do to do that is we'd have to install a hector slam and slam stands for simultaneous location and mapping and what that means is it knows where it is in space it can all these points that it's mapped out there can be a mapping node that goes okay i've got that data and as the uh the lidar is continually updating this it can go that still looks like you're at this point in the room given these points given all these different you know 40 000 measurements per second i think you're here given a certain error rate and it's pretty accurate so um we can do all that in here but i've not got there yet that's the next step and that's where i want to get to so let me just jump back out in fact let's go to the overhead for a second and you can have a bit of a wonder at the uh the beauty of this thing so you can see that it's just very very simple mechanically if i just turn it on its side there there's just a great big motor at the front that's just responsible for rotating it round and you can see that it's just connected up into the raspberry pi at the back just using a little uh little cute little hub there and this little connector here is just connecting that up to the raspberry pi zero i've just got some power there i've not got my battery which is sat under here which is here no sorry that's not the battery battery is just here that's not connected up yet and i've taken off for now the uh the camera and the the thing which just sits so in there because at the moment on this version of the model that big motor clashes with where the camera is so i've redesigned this piece actually in the fusion 360 so this points the other direction it makes no difference at all from the actual workings of this it just means everything fits together nicely you can see everything's just kind of stacked if i just hold it up again everything is stacked quite nicely on the standoffs so these standoffs come with the lidar and then these ones i've just bought from uh pimeroni and in fact there's a pimeroni explorer hat on there you can see it says explorer and that means that we can connect these motors these n20 motors which are all just underneath there to the to the um the raspberry pi zero and uh and have it basically just zoom around so that's the next step we can do all the kind of moving of the robot using ros and instead of just saying um move forward we use angular velocity we'll say move this angle and move this speed and we did for that we just need to take some measurements of the robot before we uh we get it to do that and then it can do some really magical things like you just point to a place on the map where you want it to go and it will map it or figure it out it will plan the route of avoiding any obstacles that occur in real time so it's really really clever and we don't have to worry about the algorithm behind that we can just use roz and it will pick the best way of of mapping that there's lots of different ones to choose from so that's what i've got for you today on the uh um the lidar stuff the the robot itself explorer is a working progress just hold it up here and and the laser is harmless by the way as long as you don't like look directly at it i'm sure it's completely harmless to you um but yes the uh i love these moon boogie wheels that are on here and uh the boot the base is just a flat three millimeter thick base so all the the files for this will be available shortly once i've finished designing it because it's not quite there yet so the other design thing i need to update is that this little front piece that's got the camera it's got the raspberry pi camera sort of sandwiched between them and the rangefinder sandwiched between it as well that's a little bit too thick there so i just need to adjust the model so everything fits just right now somebody asked a really interesting question why have you got a range finder on there and the camera and lidar so lidar is light and if you've got really strong light your led lights like these ones i have just here off camera if you've got them it can actually disrupt the lidar signal because it's not a very powerful laser it's just a very very pure frequency of light so a very strong light of you know light outside or a material that's very absorbent will mean that it can't detect anything in front of it and obviously this is sat quite high up so when we look at the robot there could be an object down here and the lidar can't see it because it's held quite high up so the rangefinder is kind of just like an extra backup of detecting things using a completely different technology just using ultrasound and then the camera is for a different purpose really that's for us we could perhaps as we're driving the robot just see what it can see or we could use that camera to capture and detect objects so i'm imagining this is going to drive around a maze and it'll be able to see everything as well as map everything so the next step will be to get that hectare slam mapping up and running using ros now everything works together nicely and i've got um my ubuntu for doing all the fancy graphics on the mac and i've got the ubuntu on the raspberry pi zero um for doing the sort of heavy lifting robotic stuff cool cool so if you're watching this live you can carry on and we'll have a bit of a chat if you're watching this on replay this is the part of the video or i'll say thank you so much for watching and i shall see you next time
Info
Channel: Kevin McAleer
Views: 45,364
Rating: undefined out of 5
Keywords: Kevin McAleer, Robotics, Small Robots, how does lidar work, lidar, lidar mapping, lidar robor, lidar scanner, lidar sensor, raspberry pi, raspberry pi robot, raspberry pi zero 2 w, raspberry pi zero 2w projects, raspberrypi, robot, ros, ros programming, rplidar, slamtec lidar, slamtec mapper, slamtec rplidar, slamtec rplidar a1, slamtec rplidar a1m8, ubuntu
Id: -BObt8inVs8
Channel Id: undefined
Length: 35min 51sec (2151 seconds)
Published: Mon Mar 14 2022
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.