EE 570: Programming Laboratory 4

Velocity Kinematics


Due: W 03/31/2010


Add a means to compute and visualize the velocity kinematics to your existing forward and inverse position kinematics with 3D visualization of manipulators.

Forward Kinematics:

The forward kinematic calculator should now take the following as inputs:
  1. D-H Table and
  2. series of correlated joint variables, q, and velocities, dq/dt,
and do the following:
  1. compute Homogeneous Transformation Matrix relating end-effector position and orientation to the base frame;
  2. compute end-effector linear and rotational velocities with respect to the base frame;
  3. display frames 1 to n (with ability to turn on/off);
  4. display end-effector linear and rotational velocities as vectors (with ability to turn on/off); and
  5. display link offsets and lengths as cylinders to visualize robot in 3D.
Test your forward kinematics for a variety of q, dq/dt including moving them one at a time, and turn in results (values plus visualization) for the cases qi = dqi/dt = 0; qi = dqi/dt = 1; and qi = dqi/dt = -1.

Inverse Kinematics:

The inverse kinematic calculator should now take as inputs:
  1. D-H Table;
  2. Homogeneous Transformation matrix representing desired end-effector position and orientation; and
  3. corresponding desired linear and angular velocities, v and ω, of the end-effector
and do the following:
  1. compute joint positions and velocities, q and dq/dt, that achieve desired end-effector position and velocity;
  2. display desired end-effector position and orientation (with ability to turn on/off);
  3. display manipulator configurations that reach desired end-effector position and orientation (with ability to turn on/off);
Test your inverse kinematics using the following:
  1. Stanford: o6 = [4; 4; 2], R6 = [0, -1, 0; -1, 0, 0; 0, 0, -1], v6 = ω6 = [1; -1; 0.5].
  2. SCARA: o4 = [500; 500; 250], R4 = [0, -1, 0; -1, 0, 0; 0, 0, -1], v4 = [100; -100; 50], ω4 = [0; 0; 0.5].
  3. PUMA 260: o6 = [10; 10; 5], R6 = [0, -1, 0; -1, 0, 0; 0, 0, -1], v6 = ω6 = [1; -1; 0.5].
  4. Three-Link Planar RRR: o3 = [1; 1; 0], R3 = [0, 1, 0; -1, 0, 0; 0, 0, 1], v3 = [1; -1; 0], ω3 = [0; 0; 0.5].
  5. Two-Link Planar RP: o2 = [0; 1; 0], R2 = [-1, 0, 0; 0, 0, 1; 0, 1, 0], v2 = [-1; 1; 0], ω2 = [0; 0; ?].
  6. Elbow Manipulator with Spherical Wrist from problem 3-8: o6 = [-0.75; -0.75; 0.5], R6 = [-1, 0, 0; 0, 1, 0; 0, 0, -1] where we'll use d1 = 1m, a2 = 0.7m, d4 = 0.7m, d6 = 0.3, v6 = ω6 = [1; -1; 0.5].

Results:

Turn in a clear, concise document that convinces me your calculations are correct. The items that should be new are the velocities that result from the forward and inverse kinemtatics. Give these values for the test cases and show them with your 3D visualization.