Mapping Contoured Terrain Using SLAM with a RadioControlled Helicopter Platform Project Proposal Cognitive Robotics, Spring 2005 Kaijen Hsiao Henry de Plinval Jason Miller Introduction In the context of a natural disaster, or when a military pilot has to eject in enemy territory, Search and Rescue teams often have to find people in unknown or hazardous areas. For safety reasons, Search and Rescue teams of the future will probably make use of unmanned aerial vehicles. For such a rescue vehicle, the ability to localize itself, both to avoid dangers (mountains/enemy bases) and to scan the entire area until survivors are found, is essential. However, this area may be unknown (enemy territory), or not mapped precisely (mountain summits). Moreover, global positioning systems (GPS) may not be usable in the area, or they may be not accurate enough, as is often the case in areas with dense foliage. In such a situation, a helicopter capable of mapping its surroundings while localizing itself on this map would be of special interest. In this project, we want to investigate such a platform. We would like to implement a SLAM algorithm for a helicopter moving in an area with uneven terrain and using 3-D rangefinder sensors. Our goal is for this helicopter to be able to create a 2-D contour map of the ground surrounding it, while localizing itself on that map. Problem Statement The goal of this project is to be able to do 2-D SLAM in a simulated, forested outdoor environment where the ground is not flat. Our platform of choice is a small, radio-controlled helicopter. In such a situation, traditional 2-D SLAM is problematic because the horizontal plane of the laser rangefinder can hit contoured ground, causing spurious landmarks to be placed on the map. It can also miss low-lying landmarks if the helicopter is hovering too high. Thus, the objectives of this project are: 1) To simulate an appropriate forested outdoor environment and the motion/perception of a small, radio-controlled helicopter 2) To use 3-D rangefinder data to create a leveled 2-D map, rejecting spurious landmarks 3) To attach elevation data to points on the leveled 2-D map, creating a contour map Previous Work In terms of mapping of non-flat terrain from a helicopter, (Thrun, 2003) creates a 3-D map using 2-D rangefinder data. A small helicopter is equipped with rangefinders whose measurements lie in a plane perpendicular to the direction of motion. Using scanalignment techniques, the noisy data is combined into a smooth 3-D picture of the world. However, they are not using SLAM, and the helicopter cannot image the same location twice with their algorithm. (Montemerlo, 2003) creates a 3-D map of a non-flat underground mine from a cart platform. It uses a forward-pointing vertical rangefinder (whose plane is parallel to the direction of motion and the up-direction) to reject spurious ‘wall’ detections made by a horizontal rangefinder pointed at non-level ground. The resulting data is used to create a 2-D map with a normal 2-D SLAM algorithm. The 3-D map is then created using a plane of rangefinder measurements perpendicular to the direction of motion, combined using the robot’s estimate of its location on the 2-D map generated using SLAM and smoothed using scan-alignment. This work is similar to what we are attempting to do, in that it performs 2-D SLAM with disambiguation of spurious measurements due to contoured terrain. However, we do not feel the need to create a full 3-D map, and the leveled 2-D map they create uses only a single plane of vertical measurements. This is sufficient under the assumption that the world is reasonably rectilinear, consisting only of walls and ground. However, this is insufficient for outdoor environments. Our project is essentially an extension of (Brenneke, 2003), which uses a motorized cart equipped with a rotating 2-D laser rangefinder, just as described in our proposed project, to map a contoured outdoor environment. The paper describes how to use the 3-D cloud of points to disambiguate ground from landmarks in order to create a leveled 2-D map. The techniques we will be using are largely similar to those used in this paper. However, our extensions are twofold: first, because we are using a helicopter platform, data can be taken from varying distances from the ground, and second, we hope to add elevation data to the leveled 2-D map, which this paper does not do. Outline of the Proposed Technical Approach Each point in the problem statement will be addressed in turn. 1) To simulate an appropriate forested outdoor environment and the motion/perception of a small, radio-controlled helicopter The simulation will be done in Open Dynamics Engine, an open-source physics engine. By applying the appropriate noisy forces to a simulated helicopter, we can simulate motion of the helicopter using the physics engine. By detecting collisions between rays protruding from the helicopter and the simulated world (and adding noise), we can create a realistic picture of what a laser rangefinder might return. In order to eliminate having to create autonomous navigation algorithms for the helicopter, we will assume that the helicopter has a camera attached, allowing a human to drive it around. 2) To use 3-D rangefinder data to create a leveled 2-D map, rejecting spurious landmarks Our simulated helicopter will be equipped with a 2-D laser rangefinder pointed vertically so that its measurement plane is parallel to both the up direction and the helicopter’s direction of movement. To obtain 3-D data from this sensor, we will sweep it quickly back and forth. Because the helicopter will continue to move during the sweep, the data must be adjusted for the motion of the sensor. The 3-D data will be used to distinguish ground and overhanging objects from legitimate landmarks, defined as objects sticking directly out of the ground, such as tree trunks and rocks. Using these segmented landmarks, a leveled 2-D map can be created using 2-D SLAM techniques. In particular, we plan to use a particle-filter based SLAM algorithm, such as the FastSLAM algorithm developed by Sebastian Thrun’s lab. 3) To attach elevation data to points on the leveled 2-D map, creating a contour map To simplify the control of the helicopter, we will likely assume that it will try to hover a fixed distance from the ground directly below it. Using the resulting inputs to the helicopter and the 3-D data from the helicopter’s direction of travel, we can track an estimate of the helicopter’s vertical movement. This would allow us to attach estimated elevation data to each point on the leveled 2-D map. Plans for Spirals 1 and 2 Spiral 1: Create the simulation of the world and the robot, starting with the ground being flat. Simulate the imperfect motion and 3-D perception of the helicopter, according to appropriate motion/perception models. Figure out how to adjust the data for movement of the robot. Create a 2-D landmark detector. Implement 2-D, particle-filter SLAM. Spiral 2: Make the simulated land contoured. Extend the landmark detector to operate with 3-D data. Track the helicopter’s vertical movement and attach elevation estimates to the map. Planning Division of labor Kaijen: implement the simulated world, including obstacles, motion, and sensors; help with algorithms to distinguish landmarks from ground and track elevation Henry: implement the particle-filter SLAM algorithm; help with algorithms to distinguish landmarks from ground and track elevation Jason: create movement and sensor models; lead the implementation effort for the algorithms to distinguish landmarks from ground track elevation Time schedule: April 10th-April 23rd (2 weeks): Figure out how helicopter will move and motion/perception models Create flat simulated world with helicopter and objects Create basic landmark detector using 2-D subset of 3-D rangefinder data Implement 2-D, particle-filter SLAM Week of April 24th: Create contoured terrain and 3-D rangefinder data Implement ground/landmark separator using 3-D rangefinder data Week of May 1st: Create a tracker of the vertical movement of the helicopter using 3-D rangefinder data in direction of motion Attach elevation estimates to leveled 2-D map Write presentation, paper May 9th/11th: Presentation and report due-date Bibliography Brenneke, Christian, Oliver Wulf, Bernardo Wagner. “Using 3D Laser Range Data for SLAM in Outdoor Environments,” IEEE/RSJ Conference on Intelligent Robots and Systems, Oct. 2003. Montemerlo, Michael, Dirk Hahnel, David Ferguson, Rudolph Triebel, Wolfram Burgard, Scott Thayer, William Whittaker, and Sebastian Thrun. “A System for Three-Dimensional Robotic Mapping of Underground Mines.” In IEEE International Conference on Robotics and Automation (ICRA), 2003. Thrun, Sebastian, Mark Diel, Dirk Hahnel. “Scan Alignment and 3-D Surface Modeling with a Helicopter Platform,” The 4th International Conference on Field and Service Robotics, 2003.