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
- Imagine an arm moving in two dimensions with two joints, $\theta_1$ and $\theta_2$. What is the configuration space?
- 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.
- 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.
- First run the RRT for a second or two. Describe in words
what the RRT does, and submit four images showing its intermediate
progress.
- 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.
- How does the motion of the robot with the RRT differ from your planned motion/ideal motion?
- 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.