CMU RI 16-711: KDC: Assignment 6

 

ROBOT USAGE INSRUCTIONS:

(Please have a printout of this page with you each time you use the robot)

For this assignment you are going to use the PUMA 500 robot at the REL lab.

         You will need to take a guided intro of the robot

         You are only allowed to change the following files

         control.c - your controller and trajectory loader

         traj - a reference trajectory that you specify

         user.cfg - allows you to load new parameters (like gains) without having to recompile

         DO NOT ENTER ROBOT WORKSPACE WHILE CONTROL PROGRAM IS RUNNING

         To compile and run your code:

1.       Copy your source code to the directory C:\kdc\[name]\

2.       Open MSDOS prompt and go to your directory ("cd \kdc\[name]")

3.       Run "c:\tc\tc.exe"

4.       Load the project file "robotm.prj" (Alt-P, P, Enter, Enter)

5.       Select robotm.c as the primary file (Alt-C, P, Enter, Select ROBOTM.C, Enter)

6.       Compile the code (Alt-C, B)

         To run a trajectory on the robot:

1.       Create a trajectory in the format given above

2.       Turn on the control box by flipping the POWER ON switch

3.       Run your program c:\kdc\[initials]\robotm.exe

4.       Press 'e' to enable power

5.       Press 'c' to enable the controller

6.       Press the button labeled ARM POWER ON on the control box

7.       Press 'T' to initiate the trajectory

8.       Press 'q' to quit and disable power

 

Joint1

 

 

Joint2

 

 

Joint3

 

 

 

Angle (rad)

Velocity (rad/s)

Torque (?)

Angle

Velocity

Torque

Angle

Velocity

Torque

Min

-1

---

-2500

-2.5

---

-3000

0.8

---

-3000

Max

1

---

2500

-0.8

---

2500

2.5

---

3000

 

 

QUESTIONS:

 

 

1.1 Find an estimate of the DH parameters for the PUMA robot (you can search for this on the net or measure the physical parameters of the robot).

 

1.2 Derive the equations of motion for based on your model of the robot (use maple/mathematica/matlab or anything else you know of).

 

2.1 Generate a simulation of the robot based on these equations of motion. You can use a simplified simulation provided here to validate your simulation. The parameters in the given simulation need to be modified to match up with your parameters.

 

2.2 Generate a stable controller to move the robot in simulation to any desired configuration (the configuration is given by the 3 joint angles). Report the performance of your controller.

2.3 Test this controller on the real robot. Report the performance of your controller.

2.4 Now generate a trajectory in joint space and make the real robot follow it.

Always test your controller on the simulator before trying it on the robot

 

3.1 Improve your estimates of the robot model (Mass matrix, friction etc) using data collected from the robot. Report the improvement in the model.

3.2 Extra credit: Implement some form of feed forward control on the robot using the improved parameters or learn the feed forward torques to improve performance along a trajectory by practicing it. Report the improvement in trajectory following performance.

 

 

4. Suppose the motor for the second joint (the one actuating the final link) fails, is the system locally controllable about the vertical up position? Explain your answer.

 

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 sanan@cmu.xxx and cc cga@cmu.xxx [You complete the address, we are trying to avoid spam.] The write up is more important than the code. What did you do? Why did it work? What didn't work?