hi Prasad, On Thu, Jul 15, 2010 at 5:37 AM, Prasad Dixit wrote: > I am working on slam_gmapping tutorial "How to build a Map using logged > data". > I have a case like, > A Robot while building its own map initially; if it comes across the > location where there are downstairs and so it will not find any boundary > line to draw. In such case what would be the cell occupancy? > Will it be treated as "-1 completely unknown"? gmapping is a 2-D SLAM system, so it cannot reason about downward stairs. Depending on the configuration of your building, the laser might see walls on the other side of stairs. In this situation, the map will indicate that the space over the stairs is unoccupied. If the laser doesn't see walls on the other side of the stairs, then the space over the stairs will be unknown. > If so then, according to 'LRF readings method' it should be completely > 'undecided area' and has to be treated always as an obstacle in future map > updates. Mapping is a separate operation from navigation. Depending on how you configure navigation (http://www.ros.org/wiki/navigation), the robot might be allowed to go through space that is unknown in the map, or it might not. But as I said above, the space over the stairs might be unoccupied in the map. You can prevent the robot from *planning* to go through the area over the stairs by manually drawing a line in the map image (e.g., using Gimp). But this is NOT a safe way to ensure that the robot will actually avoid stairs or other no-go areas. If the robot becomes mis-localized, it might go anywhere. This technique famously led to a robot falling down a flight of stairs (http://articles.latimes.com/1992-10-11/local/me-33_1_meal-service). To actually avoid stairs, the robot must be capable of perceiving negative obstacles (or you need to modify the environment, for example by closing the doors that lead to the stairs). In general, if the robot is to avoid hazards in the environment, it must be able to sense them. > Also, while initial mapping, do we require encoder reading (==distance > travelled) to match with the laser input? Yes, gmapping requires an odometry-like sensor that give information about the motion of the base in X, Y, and yaw. brian.