Path planning for articulated robots

The goal is to develop a planner for generating collision-free paths for a planar articulated linkage that moves among polygonal obstacles. The inputs are: i) a description of the environment in terms of convex polygons; ii) a robot that is modeled as a sequence of line segments that have equal length (like on the cover of the text); iii) initial and goal configurations for the robot. The output is a continuous collision-free path (in C-space) that brings the robot from its initial configuration to its goal configuration while avoiding collisions.

The project is organized into 4 steps:
  1. Implement a collision checker: Write a program that generates the convex C-obstacle, given a translating line segment and a convex polygonal obstacle. Extend this program to compute a 3D bitmap representation of the C-obstacle for a line segment that translates and rotates. Implement a binary-valued function that tests whether the configuration (q_1,...,q_r) produces a collision (the kinematics of the robot linkage will be used to rotate and translate each line segment).
  2. Generate a C-space roadmap: Randomly generate configurations (called milestones) of the robot until N are obtained that are collision free. Connect pairs of milestones by line segments. Discretize the segments and check them for collision. Build a graph by storing collision-free segments as roadmap edges.
  3. Process queries: Write a program that receives two free configurations, connects them to two nearby milestones using collision-free line segments, and searches the roadmap for a path between these two milestones. The program will report failure if the given configurations cannot be connected to the roadmap or the two selected milestones are in separate connected components of the roadmap.
  4. Roadmap improvement: Identify milestones that have a small branching factor in the roadmap. Generate additional milestones randomly in some neighborhood centered at each of these milestones. Connect these new milestones to the roadmap and attempt to solve problems that failed in the previous step.

Related paper: Probabilistic Roadmaps for Path Planning in High Dimensional Configuration Spaces by L. Kavraki, P. Svestka, J.-C. Latombe, and M. Overmars. IEEE Transactions on Robotics and Automation, 12(4), 1996, 566-580