What is SLAM? | Concept with a story | Localization | Mapping | Robotics Concepts

Поділитися
Вставка
  • Опубліковано 11 лип 2024
  • Imagine being completely lost in an airport with multiple terminals and inconsistent connections. Don’t you feel the need for a map or known landmarks. Well, a robot may not express, but they too feel the need for a lot of external inputs that we as humans gather and take for granted.
    0:00 Introduction
    0:40 Localization and Mapping: A Story
    3:35 SLAM
    #SLAM #Localization #Mapping
    Link of Video with implementation of Gmapping : • GMapping | ROS with We...
    In the video we touch upon the basics and importance of localization, mapping and slam.
    These concepts are essential to allow an autonomous mobile robot to perform complicated tasks that require successful navigation from any point A to point B in static as well as dynamic environments.
    Why is SLAM difficult?
    When you have a map its easy to look around for features, landmarks etc and localize yourself. When you are localized, you can create a map of your surroundings and storing wat you see as a 3d or a special model. However, when you have neither know where you are, not what the environment looks like, it becomes very challenging because now you completely rely on probability distributions, uncertainties and estimation which can broadly get effected by different kinds of sensor noise.
    We start with a story to ease the learning process.
    --- Imagine that you land on a planet that does not have any named places or known landmarks. Yes you do have eyes, your other sense organs and you can walk around.
    --- You are hungry and fortunately an alien on the planet can tell you the location of food and drinks. But how will he convey the position to you if there is no common coordinate frame of reference that both of you understand. How will you reach another location when you have no clue where you are with respect to that location..!
    --- Here’s one solution. Imagine a pair of coordinates like the latitudes and the longitudes we have on earth. Now based on this frame of reference you not only know where you are on the planet but also the relative position between you and the food. This is Localization, the knowledge of your pose and orientation wrt to the world or the map coordinate system.
    --- Now there’s still one more problem, you cannot directly see the food, so dont know how to form a path from where you are to the food location. Yes of course you could randomly start moving in the direction of the food and try to avoid obstacles on the way. However reactive navigation or bug algorithms of this kind has several disadvantages and unpredictable conditions, you could get trapped in several areas or even fall in the sea. Hence in autonomous robotic systems it’s best to preplan an optimized path from the source to the destination and then try to stick to the path while avoiding dynamic obstacles.
    For this you obviously need to have the knowledge about the obstacles and free spaces on the planet.
    --- Now how do we make this possible? If you are given a chance to take a complete tour of the world, while simultaneously being aware of your location you will be able to create a map with the information that you perceive using your senses, and save the built map or the image in your mind for future path planning and navigation. This is called mapping.
    And once you have the map or an occupancy grid distinguishing between obstacles and free spaces, you can now form an optimized path from any point A to point B. This is exactly how even GPS forms a path for you, it knows where you are and where you need to go with a common frame of reference andd what the world looks like.
    In the 4th video of the robotics picodegree series ( • Robotics Software Engi... ) you will find this implementation of gmapping on our custom stark robot. We will teleop our stark robot in the webots simulator using a keyboard and create our own map of a home using the lidar data, GPS and IMU mounted on the robot. We publish the base_link and lidar link using tf broadcaster package. It’s a perfect map or an occupancy grid where the environment is discretized into a matrix of cells where each cell is assigned a value that represents the probability that the cell is occupied by an obstacle.
    The generated map is saved in a file and used in the further videos of the series for navigation and obstacle avoidance. You can then use the process to create a map of your custom world.
    What is GMapping?
    Gmapping is the most widely used SLAM package available in ROS. Some of the other packages that gmapping is compared with are Core SLAM, Graph SLAM, and Hector, filter-based SLAM etc.
    Gmapping is implemented based on Rao-Blackwellized particle filters. This approach uses a particle filter in which each particle carries an individual map of the environment. Gmapping proposes an approach to compute an accurate proposal distribution taking into account not only the movement of the robot but also the most recent observation.

КОМЕНТАРІ • 2