Lab 8: Forward Kinematics

Lead TAs: Eric West Brian Pilnick

Introduction:

The goal of this lab, and the next lab, is to introduce you to some of the mathematics in planning motion for arms and snake robots.

Reading:

P. J. McKerrow, Introduction to Robotics, pp175-200.

Challenge Statement:

Step 1:
Build a 2 degree of freedom, planar, jointed (i.e. not Cartesian) robot arm with angle feedback at both joints and mount a marker to the end. You may use potentiometers or the rotational encoders. You may optionally add a third degree of freedom by using your red micro-motor to raise and lower the marker, instead of doing it manually. (See requirements page)

Step 2:
Write software functions that can take as input Theta 1 (shoulder angle) and Theta 2 (elbow angle) from the keyboard (note that this will be called multiple times at the demo to input several sets of angles). I would suggest using floats or doubles to store the angle values, if only because it is good practice not to limit yourself to the discretezation introduced by ints. If you motorize your marker, also add a third function that causes the arm to mark the paper and immediately retract the marker; you'll need this during evaluation.

Step 3:
Use these functions in a program that does the following:

  • Takes Theta1 and Theta2 angle inputs through the keyboard.
  • Waits for start button to be pressed to begin.
  • Drives arm to the inputted point.
  • Waits so user can manually press marker down to make a dot. If you have added the 3rd DOF by motorizing the pen, you can replace this step with "automatically presses marker down, then retracts marker".
  • Take new Theta1 and Theta2 angle inputs and drive arm to next point, WITHOUT ZEROING THE ARM, wait (or mark), etc.

Positions of the points

  • All points will be within the range of motion of the two links.

Initial Arm Position

Arm Angles

Evaluation:

Demonstrate your robot drawing a connect-the-dots map with the points in the table. Connect the dots by hand, identify the picture, and turn in the drawing. We'll also have a set of points at the evaluation that you haven't seen before, and will ask you to move your arm to them via the functions you wrote in Step 2. You have reached the point successfully if you are within 1/4" of the destination. If you have a significant amount of error, being able to explain what the problem is may help you (hey, it can't hurt :).

  • A = follows a sequence of points
  • B = gets to one point
  • C = one joint angle works and the other does not
  • D = something moved
  • F = nothing moved
Last Year's Grading Sheet

Construction Tips:

Things to think about: