This module deals with calibration of the manipulator in the straight-up home configuration (basically the manipulator arm points straight up into the air). A straight up home configuration means that this is the zero configuration for the robot. All joint angles are measured from this reference configuration. Calibration will require measuring the link lengths associated to your manipulator, the servo command limits for each of the joints, and the angular limits of the manipulator. The limits imposed may actually be less than the full range of motion of the servo motors. The sub-problems below lead you through the procedure.
Save it into your own file whose default is called lynx6parms.mat
for use with the lynx6
class file. Turn in the values of the structure in the lynx6parm
matlab file as well as your link lengths. Some folk have been turning in a screenshot of the calibration dialog window. That works too (Ctrl-PrintScreen
will capture it and Ctrl-V
will paste the image). If you save the screen capture to an image file, you should even be able to load the image file, display it in a Matlab figure, then have it be output as part of the publish
execution.
To make sure that all the manipulators are calibrated, the demo will involve a verification exercise. To that end, I (or the TA) will run some code on your manipulator to do the following:
setArm
with all zeros to verify that your traight up really is straight up;setArm
with the proper values to make it go straight out;for
loop that will go to 5 random configurations, to be judged (subjectively) for correctness; then finallylynx6
m-file. The function should return an element of the SE3
class.I will post to t-square some code to do the main loop that you should demo to I or the TA to test for correct calibration. It is similar to the piktul code that was run and includes the predicted opening and closing widths of the gripper.