Navigation:Exercise3-Maze Mapping
Contents |
Introduction
In this exercise, you will learn about how to build a map of the environment. This exercise will discuss what entails building an occupancy grid. This mapping exercise can be done both in the real world or in stage (a simulator). For reasons that will be explained later, this exercise will be largely theoretical.
Localization and Mapping
Mapping an unknown environment can be tricky. As a robot moves through an environment, slippage of the wheels, bumping into obstacles, or imperfections in the floor can make it difficult to know a position by odometry alone. It is difficult to create an accurate map of the environment if a robot is unsure of its position. The field of localization, or determining the position of the robot using the environment as a guide, is helpful for reducing the uncertaintly of position. For truly effective mapping in the real world, mapping should be paired with localization. This technique is called Simultaneous Localization And Mapping (SLAM). This method is not covered in this workbook.
Occupancy Grid Creation
For this exercise, create a blank occupancy grid the size of the environment. Make each pixel in the grid 1cm. Write a program to move the robot througout the environment, making each pixel where a sensor hits black. There are two components to this exercise:
Mapping
For each iteration, wherever the sensor scores a hit, mark the pixel as an obstacle. In a line between the robot and the sensor hit, mark the pixels as clear. This allows for the gradual creation of a map as the robot explores the environment.
Exploration
Exploration refers to how the robot moves through the environment to create a complete map. This can be done in a variety of ways. One way to handle exploration is merely to have the robot wander randomly while avoiding obstacles. Another is to have the robot wall follow as it moves through the environment. Still another is to maintain a list of each pixel in the environment that is beyond the maximum range of a sensor.
![[LOGO]](/workbook/skins/workbook/create_small2.png)



