yy Autofib technical note 2
Autofib 2 Technical Note 2-Gripper Unit Mechanical and Optical Alignment

Document web address: http://andromeda.roque.ing.iac.es/~af2/af2_tech_note_2.htm
Version: 1.0
Author: Ian J. Lewis
Date: 07/1996

1.0 Introduction
2.0 Have you really lost the gripper alignment?
3.0 Alignment of the tv and rotation axis of the theta bearing
4.0 Calibration of the FVS scale and rotation
5.0 Lotate all fibres
6.0 Gripper and sky viewing probe alignment
7.0 Gripper FVS focus
8.0 Setting the fieldplate height variable
 

1.0 Introduction

This technical note provides information on realigning the gripper unit and recalibrating the various image scales and offsets used within the robot control system. Most importantly it is possible that even after dismantling parts of the gripper unit that optical alignment has not been lost so tyhe first section deals with how to decide whether the alignment has been lost. If this is the case then the subsequent sections deal with the step by step procedure to recover the alignment.

It should be noted that simple removal of the gripper unit from the XY carriage should not necessitate realignment of the gripper provided the small indexing block is not removed from the rear of the backplate of the gripper unit.
 

2.0 Have you really lost the gripper alignment?

The gripper tv does not have its pixels perfectly aligned with the xy axes of the robot, but the rotation angle is known and the effect is allowed for when determining the centroid position. Therefore if the gripper is positioned over a fibre and then the robot moved only in X to move the image from side to side on the tv screen, issuing a centroid command at the engineering interface should show little or no change in the y position returned by the CEN801 status response (the CEN800 will show the result from the previous centroid). Due to the straightness correction of the x axis which modifies the y position there will
possibly be a small change. I have never done this test but I would expect it to be less than 10 microns (the maximum correction due to x straightness). A similar test can be done in the Y direction.

To check the scale it is simple to compare the difference in the centroid positions with the offset used to move the robot. Note that amovement of approximately 800?m will move the fibre image from one side of the tv screen to the other.

These simple tests will confirm of the optical alignment of the fibre viewing system is ok. Unfortunately it is not possible to quickly test if the centre of the tv is coincident with the rotation axis of the theta bearing but if this has been disturbed the camera will have been knocked and the camera pixel alignment should show evidence of movement.

If these tests show that alignment has been lost or if the gripper unit has been completely dismantled (including removing the fibre viewing system from the gripper casework) then the following steps should be taken to realign the gripper. It is important to fully understand all of the Autofib coordinate systems as well as the software and hardware as both will have to be worked on to re-establish the gripper alignment.

The indexing block on the back of the gripper to ensure that the gripper unit as a whole is repeatably mounted should NOT be removed. DO NOT remove the tv camera or any part of the gripper tv optics from from their support structure.

If the fibre viewing system (FVS) has been knocked out of alignment you will not have lost the tv focus. (if the tv has been moved see tv focussing below) You will have lost the alignment of the tv with the theta axis and the offset between the gripper origin and the sky viewing probes (both fixed and mobile). After realigning the tv system you will have to recalibrate the various offsets and the geometry of the gripper tv system (rotation and scale).
 

3.0 Alignment of the tv and rotation axis of the theta bearing

The gripper unit and tv system should be removed from the robot to a clean workbench. You will require a compressed air supply to activate the gripper jaws. Remove the lightproof cover from the gripper tv system, this will reveal the optics and the two bolts with oversized washers which locate the tv system.

Alignment of the gripper theta axis with the tv centre means that as a fibre is gripped in the jaws and the theta axis rotated the fibre image should rotate about the tv centre.

This test was initially done with a dummy fibre with no long stainless steel tube. This was gripped in the jaws slightly off axis with light shining down the bare end. The video output should be displayed on a live video tv screen (12V supply to the video camera required but take care with the polarity). The Z axis can then be moved by hand to focus the image. Rotation of the theta axis by hand allows determination of the rotation axis. The bolts locating the FVS should be slackened to offset the FVS to centre the rotation axis in the tv field. This operation should be repeated until the two axes are coincident by eye, no accurate measurement should be required. Note that the FVS should be kept as square as possible to the gripper casework so that adjustments are made by offsetting the FVS in XY not by rotating it.

With this done everything should be tightened up and the alignment checked before replacing the cover and reinstalling the gripper on the robot.
 

4.0 Calibration of FVS scale and rotation.

This is a bit of a fiddle! You have to reassemble the robot and fibre module, then arrange back illumination for a good fibre.

Before starting the control system you must reset the current TV image scales and rotation. You do this by manually editing the file tvstuff.c in the /h0/autofib/appsource directory. The variables xscale,yscale,alpha in the findfibre() function should be set to:

xscale 1.00000 /*microns/pixel */
yscale 1.00000 /* microns/pixel */
alpha 0.00000 /* radians rotation of tv x axis wrt robot x axis */

This means that the centroid command from the engineering interface will return raw pixel information rather than microns converted to the correct coordinate system. Make the above modifications making sure that you save (write down) the old values. Then rebuild the code (make[return]). If make fails due to 'no output files', reboot and repeat the make.

Now start the system up and locate a fibre using the engineering interface.This may not be straight forward as the coordinate systems are still out of alignment. DO NOT attempt to move any fibres.

Using the centroid command and the offsetrobot command determine the image scale of the tv in the X and Y directions. The centroid command will return pixels (as the scale is set to 1 micron/pixel) and the robot is moved in microns. Use the full width of the tv screen making sure that the centroids look ok. Also work out the correct value of alpha, where alpha is the angle the camera pixels are rotated from the robot XY axes with alpha positive corresponding to the camera X pixels being rotated anticlockwise from the X axis of the robot.

Edit the tvstuff.c to put the new values of scale and rotation back in after checking that they are not ridiculously different from the previous values. Now rebuild the code to use the newly determined images scales and rotation.
 

5.0 Locate all the fibres.

This will prove time consuming as all the fibres will have been placed using a different zero point. The new gripper setup is the new reference point so doing a loadmodule should rectify this, or more safely do a viewfibre and a loadfibre for every fibre by hand unless most of the fibres are coming in ok and you watch the loadmodule to note which fibre it fails on.

You now have the fibres and robot on the same coordinate system, check things out by moving a few poor fibres....just in case!
 

6.0 Gripper and sky viewing probe alignment.

The final step involves chekcing the alignment between the gripper and the sky viewing probes. This really needs doing on the sky with a bright (10th Mag) star.

Put a guide fibre at 0,0, move the telescope to centre the star as well as possible. Move the sky viewing probe to view 0,0 (viewsky 0 0) then offset the robot to centre the star on the centre of the coherent using the autoguide in tv mode. Note down the positions of the ROBOT XY after the viewsky 0 0 and after the star has successfully been centred.

The relationship between the gripper and mobile probe coordinates are as follows:

xgrip = xsky -xview_offset
ygrip = ysky -yview_offset

where xview_offset and yview_offset are variables with values hardwired into the code at the beginning of the main() function in control.c in the /h0/autofib/appsource directory.

With the star going down the guide fibre at 0,0 moving the mobile probe around so that the star appears at the centre of the mobile probe window will enable you to find the requied offset...the gripper position will be equal in size but opposite in sign to the value of the offsets.

ie xsky = ysky = 0
xgrip = -xview_offset ygrip = -yview_offset

Remembering to save the old values, change the inline code to use the new values, rebuild the code and reboot the micro before restarting the control system. Then repeat the test to check that the changes have been correct.

Once you are confident about locating stars, try to put the star in the centre of the fixed probe. Using a sky PA of 90? centre a star at 0,0 in the robot coordinate system, then offset the telescope by 1756 arcsec in declination (north or south?).

Now park the fixed probe then move the mobile probe to the stars location (afvsky -102000 0), move the probe around to centre the star in the mobile window, the coordinate of the mobile probe then defines the off axis probe position which should not be too different from that above. (it was -101887,-72 in June 95 but the off axis probe has been removed since then). Now park the mobile probe and bring in the off axis probe (moveprobe 150000) and the star should appear in the fixed probe window.
 

7.0 Gripper focus

The gripper focus must be done with the fibre on the fieldplate, carefully remove the FVS cover, the microscope objective to be moved is in a brass lens barrel between the tv and the folding prism. The tv should be focused using the near IR leds as used in wyffos or the guidefibre backillumination. IT WILL NOT WORK if you focus in the visible or white light.

After changing the focus or moving the tv camera you must check the scales and rotation of the tv camera as above.
 

8.0 Setting the fieldplate height variable

The gripper fieldplate height variable defines the position the gripper is driven to in order to pick up fibres from the fieldplate. The home switch is defined as zero for the incremental encoder. The park position is 500 counts from the home position, this is the lower limit for driving the robot. The normal position for the gripper in the raised position (carrying a fibre or not) is 2000 counts from the home switch towards the fieldplate. The fieldplate is approximately 5800 counts from the home position. One fault with this system is that if the home switch is moved the relative positions of the fieldplate and home switch will need to be remeasured.

To determine the correct height of the fieldplate the follwing procedure is suggested, an alternative is mentioned at the end of the section.

It can be noted from the gripper subassembly engineering drawings (grip-sa.dwg) that when the gripper body is in a position suitable to pick a fibre from the fieldplate (ie jaws halfway down the fibre handle) the gap between the inside of the casework and the gripper body (measured between the two linear bushings on the opposite side to the leadscrew) is 7.58mm.

Power up the robot from the dmc300 test program as if testing the Z servo loop tuning (see the technical manual for detailed instructions). Initialise the Z axis by instructing it to find the home swtcih and then define that position as zero, the endoer is nw set up as it is used by the main control system. Now turn the motors off (MO), you should now be able to turn the Z axis motor by hand and see the Z position changing (issue the TP command to the Galil card).

Carefully insert a small slip block 7.58mm think between the gripper casework and the gripper body and drive the gripper down in Z until the block just stops the motion but not beyond as the sprung leadnut will allow further motion and give an incorrect reading. At this point get the encoder reading, this will be the correct value for the PLATE variable in the af2defs.h file. The code must be rebuilt after changing the PLATE variable.

Note that in practice the dimension of 7.58mm may be inaccurate and should be checked and updated.

Before proceeding wind back the Z axis, remove the slip block and quit from the test program.

An alternative might be to set the PLATE variable to a large number (say 10000) and very carefully drive the gripper unit down over a number of fibres checking the height at which a good grip is found, however this is dangerous as there will be little protection against driving the gripper into the fieldplate.