Comp150-07: Intelligent Robotics
Lab 7: Manipulator
Due Tuesday, March 31, in class

The objective of this lab is to build and program a manipulator robot capable of reaching precisely towards a known goal location inside a 25cm x 25cm planar workspace.

Build the robot

The planar 25cm x 25cm workspace will be marked on a table and your robot will also be placed on the same table. That means that the workspace z coordinate will coincide with the bottom of the base of your robot. The workspace will be free of obstacles, and the goal location will be marked with tape (and its coordinates will be given to you before you start). The end-effector point on your robot should be identifyably marked. The robot's position will be just outside the workspace with the end effector at (0,0). You will be able to choose the robot's orientation.

You may make your manipulator robot planar or 3D. However, your robot may not cross the goal location before it has stopped its end effector at the goal. In other words, imagine there is some object there we want the robot to pick up. We don't want the robot to knock it out of position before the end effector gets there.

Compute kinematics and inverse kinematics

Write the equations for the kinematics (joint angles to workspace coordinates) and inverse kinematics (workspace coordinates to joint angles). Program your robot with the correct inverse kinematics: when you enter the workspace coordinates and press 'Start', the robot should move its joints to the correct angular positions corresponding to the end effector's position being right at the marked goal.

You may (but do not have to) use the Homogeneous Transform matrix in your calculations.

Hand in

Your report should contain, apart from the obvious things (names, title etc.):
  1. Mechanical design, including labelled picture, and discussion of early failures.
  2. A simple drawing of your final design showing links and joint angles, for the purposes of kinematic analysis.
  3. Equations for forward and inverse kinematics for your robot, based on 2.
  4. Code (implementation of inverse kinematics).
Hand in your hardcopy report (one document, can send code separately by email if you like) on Tuesday, March 31, in class.

Grading

The grade will reflect the precision of your robot's reaching motion (aim to be within 0.5 cm of the goal -- best of 3 trials), as well as the correctness of your kinematics model and its implementation.

Extra credit

For extra credit, build a gripper at the end of your manipulator arm, and pick up a ball positioned on top of the goal location.

Tips and things to think about

You can ask Denise for design brainstorming and for more LEGO parts if needed.

The mechanical design of your robot will have a great impact on both the ease of kinematics computations and the precision of motion.

If your design has more than one actuated joint, consider using a belt-and-pulley system and keeping the motors on the base or as close to the base as possible. A heavy motor attached at the second or third joint will cause deflection in the link and loss of motion precision.

The requirement to not cross the goal location before it's time to point at it can be satisfied by planning in configuration space. That may be quite hard. It's ok to think of a clever way to avoid c-space planning based on what you know about the problem and your design, and what you've learned so far in class.


Paulina Varshavskaya, paulina [at] cs.tufts.edu