Understanding Autonomous Navigation in ROS2: Mapping, Planning, and Execution

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
autonomous driving for mobile robots is getting really interesting and popular you might have seen such simulations of Ross 2 with navigation stack to give a goal and the robot goes to a specific location there are multi-goals sending simulations as well but apparently you see that everything is just plug and play you give core location and the robot is moving but a lot of steps need to be taken before getting to this specific point let's go through the steps of mapping robot visualization to Delight our cost Maps planners and their navigation the very first thing is a robot in the simulation that has a 2d lidar scanner upon it and it is performing transform for the odometry we have this turtlebot 3 which is already Ross to enabled on the other hand you can build urdf of your custom robot and add the slider definition joint into its whole structure once your robot is ready for the simulation you bring this launch file that takes cartographer 2D mapping and Define all of the configurations for it lidar scans and the transforms then you perform call can build and run the node once that is done you can start creating the map by moving the robot in the simulation and you have to make sure that the origin or starting point for the robot is not changing and as you move throughout the map which should be static features should be saved in a 2d occupancy grid which saves all the information for occupied free area and unexplored spaces in a mobile robot the space is 2D when the terrain is plain and we call a 2d map as an occupancy grid because it tells us about which are the cells are occupied and which are free and which are unexplored so in basic understanding 100 is the value of a cell which is occupied zero is the cell of free space and -1 is unexplored area what you need to be careful is about the static environment for example a room or an area should be static of which you will produce a map it would become quite hard if you keep on making changes while mapping things can go bad so integration of navigation stack into a robot takes a lot of configuration parameters and they are stored in yaml files let's take a look into them for autonomous behavior of the robot you need cost maps and planners and for that we utilize the snap to bring a package which calls in a lot of other launch files slam launch file then localization and the navigation they contain a lot of parameters and package calls most important thing to understand is navigation stack requires parameters and those parameters are saved in this yaml file which are actually draws to params for each individual package for example local and Global cost map contains a lot of parameters which we will explore in the upcoming video effect of these parameters but they Define the behavior of the robot accordingly local and global contain individual and all of the navigation turtle board 3 simulation contains these much numbers of lines and these plugins with parameters are all explained in the wiki whenever we give a goal to a robot we see the robot planning and moving a window towards the end goal there are two things that are happening which are essential features of navigation stack too the first one is cost map and the second one is planners both of these things have Global and local parts so the global is always going to look at the bigger picture local is always going to look at the smaller picture for cost map there are two layers inflation and voxel layer we can add more layers for planners we have dwb as a default planner for local and nav FN planner for the global we can make a lot of changes in the parameters that we will look into in the upcoming video but for now let's understand what is the difference and the working principles of these two Global and local parts of planner and cost maps for starting the autonomous Behavior first we need to tell where the robot is using these two Depots estimator on the map that we created now once we have given the estimate the whole 2D map has converted into a cost map which is having inflated areas around the obstacles and we have given a goal and robot is moving according to the path that it has generated we have two cost map the white bigger square is the global and this smaller blue one is the local cost map this is the window the blue color is not for only the cost map it is because of the inflation layer defined in the local government the smaller area and you can see we have smaller inflation for the global cost Maps these are the two different things that you need to understand for cost Maps whenever we talk about planners we have two planners like cost Maps the global and local planner the pink lines with arrows is the global plan and you can see very damn blue line that is the local planet that is happening inside of the local plan so what happens is whenever you give a goal a global plan is produced and the local plant tries to follow it along the way you can control the length of local and Global plans according to your requirements even if you give multiple goals the local plant keeps on updating more often than Global plan ross2 nav2 stack is quite powerful and very simplified by great Engineers that you can just write python script and integrate autonomy behaviors into your robots with simple gold multi-cools and you can observe that results are quite impressive and because of the tweaking parameters are easily available with a lot of documentation very important thing and you have to keep in mind that nothing comes in out of the box you have to tweak for your custom environments to suit your needs there are a lot of documentation available for integration into my multiple types of robot a lot of examples which can help you out in integrating nav to stack into your robot
Info
Channel: Muhammad Luqman
Views: 3,413
Rating: undefined out of 5
Keywords:
Id: 5WbHezSdpNY
Channel Id: undefined
Length: 6min 16sec (376 seconds)
Published: Sat May 06 2023
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.