CMU RI 16-711: KDC: Assignment 2; Spring 2010


This assignment explores making models: kinematic and dynamic calibration, and learning.

We will use code similar to that provided in assignment 1. We will test your code on versions of this code with different types of modeling error.



Kinematic Calibration

Move the arm and observe the joint angles and wrist position (the elbow position is also provided). Learn/calibrate a forward kinematics function. What is its average error (distance between predicted and actual wrist location)? Learn/calibrate/create an inverse kinematics function. What is the average error (distance between actual wrist location and target) when the arm is placed at the computed joint angles?



Dynamic Calibration

Learn/calibrate a forward dynamics model. Learn/calibrate an inverse dynamic model. What is your steady state positioning error (in joint coordinates, this is gravity compensation)? How well can you follow a trajectory (in joint coordinates)? Do not change the feedback control part of the code or the integration timestep.



What to turn in?

Generate a web page describing what you did. Include links to your source and compiled code in either .zip, .tar, or .tar.gz format. Be sure to list the names of all the members of your group. Mail the URL of your web page to ewhitman@cmu.xxx and cc cga@cmu.xxx [You complete the address, we are trying to avoid spam.] The writeup is more important than the code. What did you do? Why did it work? What didn't work?


If you can't use the provided code on Windows or Linux, let us know.


Questions


What could be going on? Geometric parameters changed, inertial parameters changed, friction (viscous and stiction) added, flexibility (modeled as additional joints), big magnets, large gravitational fields, ...