Motion Planning HW7

Ross Hatton

RRT planner for 5-linked solid arm

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

Matlab code

Backtrace along the RRT to produce a path from start to goal
Find the existing node that is closest to a new configuration
1-based modular arithmetic
Detect collisions between world-objects
Find the distance between points
Draw a world-object
Draw a composite world-object
Low-level line intersection
Main code
Position the robot arm
Main RRT algorithm
Update the world-geometry of an object