Newsgroups: comp.robotics
Path: brunix!news.Brown.EDU!agate!howland.reston.ans.net!vixen.cso.uiuc.edu!sdd.hp.com!news.cs.indiana.edu!lynx.unm.edu!Mr-Hyde.aoc.nrao.edu!news
From: browen@aoc.nrao.edu (Bruce Rowen)
Subject: Re: CNC control
Message-ID: <1994Feb4.010249.17047@Mr-Hyde.aoc.nrao.edu>
Sender: news@Mr-Hyde.aoc.nrao.edu
Reply-To: browen@aoc.nrao.edu
Organization: National Radio Astronomy Observatory, Socorro NM
References: <CKKBIz.GHs@cbnews.cb.att.com>
Date: Fri, 4 Feb 94 01:02:49 GMT
Lines: 74


>In article <1994Feb1.171222.13420@mksol.dseg.ti.com> strohm@mksol.dseg.ti.com (john r strohm) writes:
>
>I did the video thing at lunch (impatient).  I had it drill a pattern like
>this:
>
>* * * .....................................................* * *
>1 3 5                                                      6 4 2
>
>The numbers are the order the holes are drilled in.  The farthest holes are
>5000 mils (5 in.) apart and they work inward at 100 mils a hole.  What I
>found was that 1, 2, 3, and 4 were fine.  On the way to 5, (moving in the
>-x direction) about 35-40 steps were apparently lost.  I figured it would
>be getting hung up at one spot and sitting there shaking for awhile, but it
>didn't.  I had to run the video and count revolutions.  A rev is 48 steps
>at 1.00433 mils/step.  I calculated what I saw and it corresponded with the
>measured error.  I couldn't see a single missed step on the video - too
>hard to see.
>
>My first sanity check will be to make sure my software stepped the correct


  SNIP

>
>-- 
>   Wally Blackburn		   Clinton-Gore - Socialist Leadership
>   wrb@ccsitn.att.com			          for the 90s!
>   Amateur Radio Station AA8DX	   I'm the NRA.
>      *More people have died in Ted Kennedy's car than from my gun!*


Though I'm sure someone has mentioned it, this is a classic case of 
backlash in the drive system. There are several ways to deal with it
though.

1. Only approach target positions from the same direction (this is how
   robot manufactures get impressive "repetability" numbers)

   Of course this involves keeping track of your position (encoder) and
   if you know your position you can use feedback or an elementary
   adaptive control law. Of course the encoder is best if mounted on 
   the output of the system (table). 

   A way to avoid the need for encoders is to drive the table to one
   hard limit and stall the motor. The motor is then zeroed here and
   positioning can resume. The idea is to do this whenever you need to
   reverse direction. The penality is time wasted.

2. Determine a backlash constant. Using a dial gauge, drive the table
   forward until it moves. Zero the gauge and single-step the motor
   in reverse until the guage starts to move. Record the number of 
   steps taken and use this offset to compensate whenever you change 
   direction. The problem is that the backlash may vary within the 
   workspace of the table and the value will change with wear and tear.


Hard core CNC mills use precision ball screws or hydraulics, contain 
large tables of backlash compensations, runout comps, axis skews etc..

You could create some slick non-linear compensation equations for your
table, but it gets real messy. In the end it is best to use closed loop 
feedback with table mounted encoders. Your control law can compensate
for a cheap driveline, but quality here also improves life.

---
-------------------------------------------------------------------------------
Bruce Rowen 				National Radio Astronomy Observatory
Scientific Programmer				Array Operations Center
browen@aoc.nrao.edu			  P.O. Box O  Socorro, NM   87801
(505)385-7329					     (505)385-7000
-------------------------------------------------------------------------------


