Motion Planning HW7
Ross Hatton
For this assignment, I implemented an RRT planner for a 5-link serial
arm. Each link of the robot is a solid hexagon. Each joint is allowed
to revolve completely, making the configuration space of the robot the
unit 5-torus.
In the demonstration movies, the goal region is the blue circle,
and the black circle is an obstacle that the arm must avoid. The first
movie shows a sampling of the test configurations the robot moved
through, while the second shows the path that was eventually found.
The toroidal nature of the configuration space is accounted for
by the planner, which uses a triple-chart-check to find the true
shortest distance from a randomly selected configuration to each of the
configurations already reached. This behavior is apparent in the
demonstration videos, where the path found swings the arm down and
around, even though the goal region is above the robot base.
Search movie
Path found movie
Matlab code
- backtrace.m
- Backtrace along the RRT to produce a path from start to goal
- closest_node.m
- Find the existing node that is closest to a new configuration
- cyclic.m
- 1-based modular arithmetic
- detect_collisions.m
- Detect collisions between world-objects
- distance.m
- Find the distance between points
- draw_object.m
- Draw a world-object
- draw_set.m
- Draw a composite world-object
- meetpoint.m
- Low-level line intersection
- motion_planning_HW7.m
- Main code
- place_links.m
- Position the robot arm
- rrttry.m
- Main RRT algorithm
- update_vertices.m
- Update the world-geometry of an object