Ross Hatton
August 29, 2007
My graphics platform is primarily designed for scripting, though without precluding user interactivity.
The example file, motion_planning_assignment_1.m
, incorporates obstacle definition, path selection by the user, and animation along the path. Figure 1 shows the obstacle and the path followed. The animation is shown in the accompanying video. Figure 2 shows a simpler example, where the start and end are connected without intermediate way-points.
The obstacles (ziggurats with triangles removed) are all rotations and translations of one set of vertices. My platform separates the shape and position data for each object in the world, such that a complex shape can be defined in a convenient orientation and location, then moved to any position and orientation. The drawing (and in the future, collision) routines recombine the shape and position data to get world-coordinates for each object.
The path generation method used here takes each consecutive pair of waypoints, finds the distance between them, and interpolates a set of points such that the distance between points is constant across different path segments.
A sample obstacle avoidance path algorithm, similar to Bug 2, is given in flow chart form in Figure 3.