Tags:
create new tag
view all tags

Starting and Calibrating ACME

If kiewa has been rebooted, then the motion controller card will have been reset, which means that the gantry and linear stages will have to be recalibrated. Log in to kiewa, and then do the following:

  • Run
         % /usr/bin/rtpatch
         
    This makes real-time Solaris extensions callable by regular users.

  • Turn off the gantry/stage power by hitting the red button on the big power box (which connects to the controller rack through a long grey cable).

  • Run
         % acmeboot
         
    The program will ask if you know what you're doing; enter "yes".

  • Make sure the gantry x axis (long side of the frame) is about 200 mm from its most negative direction of travel. You can position it by hand by manually turning the axle (this is the long spline that runs across the gantry at the positive end of the x axis).

  • Turn on the gantry/stage power by hitting the yellow button on the big power box. The pan/tilt head will move briefly as it autocalibrates; wait for this to stop.

  • Run
         % acmehome
         
    This will move the gantry z first, then gantry y, then a few other joints in the test station, linear stage, and gantry. The process takes a few minutes, and should produce a bunch of output that looks like this:
         
              HOME: gantry-Z
              start: chan2: mode=1 setp=+00000041 curp=+00000041 maxerr=0000
              search:chan2: mode=1 setp=+00001229 curp=+00001323 maxerr=0000
              switch:chan2: mode=1 setp=-00104294 curp=-00104143 maxerr=0000
              zero:  chan2: mode=1 setp=-00099421 curp=-00099284 maxerr=0000
              home:  chan2: mode=1 setp=+00000000 curp=-00000023 maxerr=0121
              HOME: gantry-Y
              start: chan1: mode=1 setp=-00000001 curp=-00000001 maxerr=0000
              search:chan1: mode=1 setp=-00010005 curp=-00010005 maxerr=0000
    
               ...
        
    finishing with
              HeadCfg: max step: 1000, start: 1000, accel: 16, power: 20
              GPA
              Moving to joint values:
              -757.057   67.030 -150.385 -180.000   -0.000
        
    Sometimes, the calibration process will bail out prematurely, with a message like
              stageX not homed
        
    If this happens, try calibrating again. If the problem repeats, it may be that the amps in the controller rack need to be power cycled. To do this, halt kiewa first (kiewa is connected to the rack). The proper way to halt kiewa is with the /etc/halt command, but you need an admin to do this. Otherwise, run sync a few times from the keyboard and then power cycle the rack using the switch on the bottom panel. Do not power off kiewa separately (a sign on kiewa will remind you of this).

-- WolfgangHeidrich - 24 Nov 2005

Dealing with calibration problems

These procedures are not guaranteed to work, but they have done so in the past. Lubricating the parts (especially the rotation stage) and removing dust every now and again should help too.

If the gantry rotation has trouble with the auto-calibration, it may do a full revolution when you power up (it usually rotates by about pi/2). The triclops cables will need to be unplugged in this case.

stage2 not homed
This culprit in this case is the gantry z-axis. There is an impedance sensor on it to detect when it has moved all the way to the top of its travel range (see attached image). There is a yellow light in the sensor (where the wire enters) which comes on when the marker on the drive belt is sufficiently close to the tip. This should not be on while the gantry is sitting ilde waiting for you to issue the acmehome command. Loosen the nut and tilt the tip of the sensor as far upwards as you can. When you fasten the nut again, the light should go off. Try acmehome again.

stage3 not homed
This is the linear stage. Power cycling kiewa seems to do the trick.

Changes since gantry stage was removed

In mid-2008 the gantry robot and surrounding frame was disassembled. The linear and rotary stages continue to work. However, some modifications must be made to the acmehome script in order to work in the new configuration. The original script attempts to calibrate each axis in turn, beginning with the gantry, and it halts upon first error. Therefore we must remove the offending code. Since we don't have write access to the /lci/project/pai/acme/ACME_2.0/bin/ directory, an easy way to do this is to copy the acmehome file from that directory to somewhere in your own space, make the changes described below, and execute it from there.

changes to acmehome
Comment out the following lines:
   print STDERR "HOME: gantry-Z\n";
   &homeList( 2 );
   $MC8::GOAL[2] = +100000 + $HomeZero[2];
   &domotion() || die "$0: gantry-Z safe motion failed\n";

   print STDERR "HOME: gantry-Y\n";
   &homeList( 1 );
   $MC8::GOAL[1] = -400000 + $HomeZero[1];
   &domotion() || die "$0: gantry-Y safe motion failed\n";

   print STDERR "HOME: gantry-X & motion stages\n";
   &homeList( 0, 3, 4, 5, 6 );

   print STDERR "Moving gantry X axis away from limits:\n";

   system "move gantry by 150";
And add this line immediately afterwards:
   &homeList( 3, 4, 5, 6 );
This tells it to calibrate axes 3, 4, 5 and 6, in that order.

The axes are:

  • 3: E1 motor on rotary stage (translation)
  • 4: E2 motor on rotary stage (translation)
  • 5: E3 motor on rotary stage (rotation)
  • 6: linear stage

-- BradAtcheson - 16 Dec 2006

Topic attachments
I Attachment History Action Size Date Who Comment
JPEGjpg z-axis-sensor.jpg r1 manage 152.0 K 2006-12-16 - 22:43 BradAtcheson z-axis impedance sensor
Edit | Attach | Watch | Print version | History: r5 < r4 < r3 < r2 < r1 | Backlinks | Raw View |  Raw edit | More topic actions
Topic revision: r5 - 2009-01-14 - BradAtcheson
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback