Use this link to create your student repo for this assignment. When you are done push your submission.

Assignment: Motion Planning

This assignment focuses on the problem of motion planning for robotics. This is the problem of moving through space without colliding. It typically abstracts sensing and percerption and assumes perfect ability to move in the space. The problem is to find a trajectory through the space for the robot (which may be a drone, a vehicle or an arm) that avoids collisions.

Problem 1: Configuration Space

  1. Imagine an arm moving in two dimensions with two joints, $\theta_1$ and $\theta_2$. What is the configuration space?
  2. Imagine a $1\mbox{m}$ diameter circular robot moving in a room with four walls, one at $x=0$, a second at $x=10$, a third at $y=0$ and a fourth at $y=10$. The robot's position is indexed at its center and it is omnidirectional (that is, it can move in any direction without turning). All these coordinates are in meters. What is the robot's configuration space?

Problem 2: Manual Motion Planning

The following problems will use the arm.py code. First we ask you to perform motion planning manually. This is surprisingly useful for understanding the robot’s degrees of freedom and what it can do. It is also noteable that manual motion planning is how the Canada Arm on the International Space Station is used today. They check each plan manually and tweak it by hand, because collisions between the arm and the station would be catistrophic.

  1. Move the arm from its start location to as close as possible to $x=8, y=0$ so that it does not collide with the circle. Describe how you had to move the arm in words (for example using words like clockwise and counter clockwise) and also submit four images showing the sequence of positions the arm went through.

Problem 3: Implementing the RRT

Implement the skeleton methods for a 2d RRT in python following this paper and rrt.py.

Use the RRT to find a motion plan for a 2d robot for the same point as above. The ‘r’ key starts running the rrt to expand it, and then pressing ‘r’ again stops it from expanding.

  1. First run the RRT for a second or two. Describe in words what the RRT does, and submit four images showing its intermediate progress.
  2. Now run it for a long time, 10 or 20 seconds. Describe in words what the RRT does, and submit four images showing its intermediate progress.
  3. How does the motion of the robot with the RRT differ from your planned motion/ideal motion?
  4. How does the motion of the robot with the RRT when run for a short time differ from when run for a long time?

For this assignment, submit one PDF containing all writeups and images.