The arm for this assignment has been rebuilt. Unfortunately, this makes the shoulder motor much more powerful and dangerous. Avoid having the shoulder spin out of control and wrap up the elbow wires. ALWAYS keep your finger on the power strip off switch. Turn on the power strip, run your program, then turn it off.
The point of this assignment is to give you experience controlling a two DOF robot. The robot has encoders on the joints. There is no velocity measurement on the elbow joint.
Information from Matthew McNaughton, including sample code.
Part 1: Make a model of the two joint arm. Figure out how to present data to convince us that your model works well.
Part 2: Create an extended Kalman filter for the robot, to estimate velocity and to increase your position resolution. Figure out how to present data to convince us your velocity estimate is good, and that you have chosen reasonable parameters for the Kalman filter to best combine model information and measurements.
Part 3: Implement swingup (similar to assignment 2) on the robot, using the robot model. The swingup should actually swing the robot up in under 100 seconds, and minimize the sum of squared motor currents (proportional to torque) over the 100 seconds. Use trajectory learning to make your trajectory following more accurate, if you follow a trajectory.
Extra credit: Implement swingup for the acrobot (shoulder motor not used) and/or the whip (elbow motor not used).
None so far.