| Menu Selection: | Motion Strategies
The Apache Presented by:
The goal of this project was to develop a strategy for a recon. helicopter to move through hostile terrain quickly. We choose the representation of a 2-D environment with a robot that could translate and rotate through it. (Holonomically) The configuration space for this problem is therefore R2 x S1 - a 3 D.O.F. (Degree of Freedom) problem.
We defined an environment using xfig that consists of 2-D rigid, polygons. These polygons can be could be non-convex, as long as they do not contain curves. Certain polygons represent obstacles (such as mountains, heavy enemy artillery area, etc.) that are impassible. Other objects are enemy targets that may lay on the route to the way point. We used a standard collision detection mechanism, (that only assumes that the robot cannot start in an obstacle), and Randomized Roadmap Path planning strategy. Enemy bunkers were not taken into account as obstacles, since they would be eliminated along the route. Start and Goal polygons were also considered part of the free configuration space.
Yes. The program worked well in the worlds we defined. It computed the shortest possible path to the goal (among the randomly generated configurations). However, using a randomized roadmap approach means there is always the possibility that a path may not be found even if it exists. (It has probabilistic completeness). With increased random configurations generated, the robot had a better chance of finding the goal, although this meant it took longer due to the need for more computations. Because of only probabilistic completeness, it may fail (often) in cases where the E-goodness (Epsilon goodness) is very poor. See the below examples for cases of success and failure.
Extra Notes on the Weapon System: The weapon system uses a precision guided projectile (represented as a small red square that is launched toward a target from anywhere). It's a very basically designed system that fires a projectile, and can hit a target (green square) from anywhere. The projectile can "fly over" boundaries to hit its target. Once the target is hit, the target flashes (signifying its explosion). None of the examples demonstrate this since the shortest path to the goal always beats the rocket hitting its target. [World 1] [World 2 (contains a failure)] [World 3] Program Files: main.Cthegraph.h
|