(19)
(11) EP 0 095 924 B1

(12) EUROPEAN PATENT SPECIFICATION

(45) Mention of the grant of the patent:
09.09.1987 Bulletin 1987/37

(21) Application number: 83303104.0

(22) Date of filing: 31.05.1983
(51) International Patent Classification (IPC)4G05D 3/20, G01B 7/03, G01D 15/24

(54)

Measurement method, and apparatus therefor

Messmethode und Vorrichtung dafür

Procédé de mesure et appareil pour celle-ci


(84) Designated Contracting States:
DE FR GB

(30) Priority: 31.05.1982 JP 92301/82

(43) Date of publication of application:
07.12.1983 Bulletin 1983/49

(71) Applicant: FANUC LTD.
Minamitsuru-gun, Yamanashi 401-05 (JP)

(72) Inventor:
  • Matsui, Mitsuo
    Tokyo (JP)

(74) Representative: Billington, Lawrence Emlyn et al
Haseltine Lake & Co., Imperial House, 15-19 Kingsway
London WC2B 6UD
London WC2B 6UD (GB)


(56) References cited: : 
   
       
    Note: Within nine months from the publication of the mention of the grant of the European patent, any person may give notice to the European Patent Office of opposition to the European patent granted. Notice of opposition shall be filed in a written reasoned statement. It shall not be deemed to have been filed until the opposition fee has been paid. (Art. 99(1) European Patent Convention).


    Description


    [0001] This invention relates to a measurement method and apparatus therefor and, more particularly, to a method and apparatus for measuring the coordinates of a point on an object, or the distance to the object.

    [0002] A method is available in which a measuring element is brought into contact with the surface of an object to measure the coordinates of a point on the object surface or the distance to the object. A method of measuring depth, for example, includes (a) commanding an amount of movement in excess of actual depth, (b) generating distributed pulses by performing a pulse distribution computation based on the commanded amount of movement, (c) transporting a measuring element by driving a servomotor in response to the distributed pulses, and (d) bringing the measuring element to rest after it contacts the object, and measuring depth by relying upon the actual amount of movement the measuring element made until coming to rest.

    [0003] The servo system which drives the servomotor controls the motor in such a manner that a difference (positional deviation) Er between the number of distributed pulses and a number of pulses sensed each time the measuring element is moved by a prescribed amount, will approach zero. Specifically, assume that the distributed pulses ordinarily have a pulse rate of Fi, and that the gain of the servo system is k. In such case the servomotor will be controlled so as to rotate with a delay equivalent to Er = Fi/k under steady conditions, and so that the delay will approach zero. The delay Fi/k (pulse number) is the difference between the number of distributed pulses and the number of sensed pulses, and is stored in an error counter. When the distributed pulses have ceased being generated, the servomotor will come to rest after rotating by an amount corresponding to the aforesaid difference (i.e., positional deviation).

    [0004] The foregoing leads to a problem in the conventional measuring method, which will be understood from Fig. 1. As described above, the measuring element, represented by ME, contacts the surface of the object being measured, designated by MW. Even though the generation of distributed pulses is halted with such contact, however, the measuring element will continue to travel a distance equivalent to Fi/k-number of pulses, and will bite into the object as a result. This makes it impossible to obtain an accurate measurement of position. An attempt at a solution has been to minimize the distributed pulse rate (i.e., feed speed) Fi of the measuring element ME in order to reduce the deviation Fi/k. However, a disadvantage with this expedient is that the lower pulse rate prolongs the time needed for measurement.

    [0005] Accordingly, an object of the present invention is to provide a measurement method and an apparatus therefor through which the coordinates of an object or the distance up to an object can be measured with great accuracy without prolonging measurement time.

    [0006] According to one aspect of the present invention there is provided a method of measuring a coordinate value of a prescribed point on an object by moving a measuring element, driven by a servomotor, toward said point and stopping the measuring element in dependence upon its contact with the object at said point, comprising

    (a) controlling the servomotor in such a manner that a difference between a number of command pulses corresponding to a commanded amount of movement for moving the measuring element toward the prescribed point on the object, and a number of feedback pulses corresponding to an actual element, will aproach zero,

    (b) producing an output signal when the measuring element contacts the object at the prescribed point;

    (c) halting the measuring element at the instant said output signal is generated;


    the method being characterised by:

    (d) computing at the instant said output signal is generated, the difference value between said commanded amount of movement and a positional deviation, the latter being equivalent to the difference between the number of command pulses issued up to said instant, and the number of feedback pulses indicative of the amount of rotation of the servomotor up to said instant, said difference value representing said coordinate value.



    [0007] According to another aspect of the present invention there is provided an apparatus for measuring a coordinate value of a prescribed point on an object by moving a measuring element, driven by a servomotor, toward said point and stopping the measuring element in dependence upon its contact with the object at said point, said servomotor being controlled by a servo system in such a manner that a difference between a number of command pulses corresponding to a commanded amount of movement and a number of feedback pulses corresponding to an actual amount of movement approaches zero, the apparatus comprising:

    pulse producing means which receives the commanded amount of movement as an input for producing command pulses the number of which corresponds to said commanded amount of movement;

    commanded position counting means which receives the commanded pulses as an input for producing an output signal indicative of a commanded position;

    error counting means which receives the command pulses and feedback pulses indicative of an amount of movement of the servomotor, for producing an output signal indicative of a positional deviation equivalent to the difference between the number of command pulses and the number of feedback pulses;

    the apparatus being characterised by:

    arithmetic means which receives the commanded position from said commanded position counting means and the positional deviation from said error counting means for computing the difference value between said commanded position and said positional deviation at the instant that the measuring element contacts the object.



    [0008] Features and advantages of an example of the present invention will be apparent from the following description taken in conjunction with the accompanying drawings, in which:

    Fig. 1 is an explanatory view useful in describing a method of measurement according to the prior art, and

    Fig. 2 is a block diagram of an apparatus for practicing a method of measurement according to the present invention.



    [0009] Reference will now be had to the block diagram Fig. 2 to describe an apparatus for practicing a measurement method according to the present invention. PDC designates a pulse distributor for producing distributed pulses Zdp by performing a pulse distribution computation on the basis of position command data Zc, namely a commanded amount of movement. The distributed pulses Zdp are applied to an error counter ERC, which also receives an input which is generated whenever a servomotor SM for Z-axis drive rotates by a predetermined amount. The error counter ERC has its status counted up or down by the pulses Zdp, Fp, depending upon the direction of movement, thereby recording the difference Er between the number of commanded pulses (distributed pulses) and the number of feedback pulses. This difference is referred to as a positional deviation. More specifically, when the commanded direction is forward, the error counter ERC has its status counted up each time a command pulse (distributed pulse) Zdp is generated. When the commanded direction is the reverse direction, the counter status is counted down by each command pulse Zdp. On the other hand, the error counter ERC is counted down by the feedback pulses Fp when the indicated direction of movement is forward, and is counted up by these pulses for movement in the reverse direction. The output Er of the error counter ERC is applied to a digital-to-analog converter DAC, which responds by producing a signal Ve serving as an analog speed command the magnitude whereof is proportional to the positional deviation Er. The servomotor SM mentioned above is, e.g., a DC motor for transporting a measuring element along the Z axis. A position sensor RE, such as a rotary encoder or resolver operatively associated with the servomotor SM, produces the feedback pulses Fp, each pulse being generated whenever the motor makes a predetermined amount of rotation. A tachometer TM is coupled to the servomotor SM for producing a voltage Vs representing the actual speed of the servomotor, namely a voltage proportional to the rotational speed thereof. An adder ADD receives the analog speed command value Ve and the actual speed voltage Vs, which is also an analog quantity, and computes a differential voltage Vi between Ve and Vs. The differential voltage Vi is applied to a speed control circuit VCC which controls the rotational speed of the servomotor SM in such a manner that Vi will be reduced to zero.

    [0010] Designated at PRE is a present position counter whose status is counted up or down, in accordance with the direction of movement, whenever a distributed pulse Zdp is generated by the pulse distributor PDC, the counter thereby recording a commanded position Zs along the Z axis at all times. The present position counter PRE applies Zs to a subtractor SBT, which also receives the positional deviation Er from the error counter ERC. The subtractor SBT computes the difference between Zs and Er performing the arithmetic operation:

    thereby producing a signal Zp, which will indicate the Z-axis coordinate of the object MW at the point contacted by the measuring element.

    [0011] The operation of the apparatus shown in Fig. 2 will now be described in greater detail. In performing measurement, a control unit (not shown) supplies the pulse distributor PDC with the commanded amount of movement Zc for travel along the Z axis, and the pulse distributor PDC responds by performing a pulse distribution computation to produce the distributed pulses Zdp. These pulses are fed into the error counter ERC so that the pulses will be recorded in accordance with the commanded direction of movement. For example, if the direction is -Z, the status of the error counter ERC will be decremented by one step each time a distributed pulse Zdp is generated. The digital status of the counter ERC is converted into the speed command of magnitude Ve by the D-A converter DAC, and the adder ADD computes the difference Vi between Ve and the analog voltage Vs indicative of the actual rotational speed of the servomotor SM, the latter being driven in accordance with Vi. As a result, the measuring element, not shown, is transported along the -Z axis toward the object being measured. As the servomotor SM rotates, the position sensor RE generates one feedback pulse Fp each time the motor rotates through a prescribed angle. The feedback pulses Fp enter the error counter ERC and count up its contents. This operation continues in the manner described until the measuring element comes into contact with the surface of the object being measured.

    [0012] When the measuring element contacts the object, a contact signal CTS is generated and applied to the pulse distributor PDC, error counter ERC and subtractor SBT. In response thereto, the pulse distributor PDC immediately ceases the pulse distribution operation, the contents of the error register ERC are cleared to zero, thereby halting the measuring element, and the subtractor SBT performs the operation of Eq. (1). In the latter, Zs is supplied by the commanded position counter PRE, the status whereof was updated by the distributed pulses Zdp in the positive or negative direction, depending upon the direction of movement. Thus, by performing the operation of Eq. (1), the subtractor SBT produces a value, namely Zp, which represents the Z-axis coordinate of the object at the point thereon contacted by the measurng element.

    [0013] In accordance with the present invention as described and illustrated hereinabove, movement of the measuring element is halted, and the operation of Eq. (1) is performed, as soon as the measuring element contacts the object being measured. As a result, highly accurate measurement is possible without prolonging measurement time, the latter because it is unnecessary to minimize the feed speed of the measuring element.

    [0014] While the foregoing description deals with measurement of the coordinate of a point on the surface of an object, the invention can also be applied to measure the distance up to the point.

    [0015] Further, according to the foregoing description, the operation of Eq. (1) is performed in response to generation of the contact signal CTS. However, an arrangement is possible wherein the measuring element is made spherical in shape (such as the stylus used in a tracer apparatus), with the operation of Eq. (1) being performed when the magnitude of a relative displacement vector between the object and measuring element exceeds a predetermined value.


    Claims

    1. A method of measuring a coordinate value of a prescribed point on an object (MW) by moving a measuring element (ME), driven by a servomotor (SM), toward said point and stopping the measuring element (ME) in dependence upon its contact with the object (MW) at said point, comprising

    (a) controlling the servomotor (SM) in such a manner that a difference (Er) between a number of command pulses (Zdp) corresponding to a commanded amount of movement (Zs) for moving the measuring element (ME) toward the prescribed point on the object (MW), and a number of feedback pulses (Fp) corresponding to an actual amount of movement made by the measuring element (ME), will approach zero,

    (b) producing an output signal (CTS) when the measuring element (ME) contacts the object (MW) at the prescribed point;

    (c) halting the measuring element (ME) at the instant said output signal (CTS) is generated;


    the method being characterised by:

    (d) computing, at the instant said output signal (CTS) is generated, the difference value (Zp) between said commanded amount of movement (Zs) and a positional deviation (Er), the latter being equivalent to the difference between the number of command pulses (Zdp) issued up to said instant, and the number of feedback pulses (Fp) indicative of the amount of rotation of the servomotor (SM) up to said instant, said difference value (Zp) representing said coordinate value.


     
    2. The method according to claim 1, wherein the measuring element (ME) is spherical in shape, and said output signal (CTS) is produced, to indicate the instant of contact, when the magnitude of the relative displacement vector between the object (MW) and the measuring element (ME) attains a predetermined value.
     
    3. An apparatus for measuring a coordinate value of a prescribed point on an object (MW) by moving a measuring element (ME), driven by a servomotor (SM), toward said point and stopping the measuring element (ME) in dependence upon its contact with the object (MW) at said point, said servomotor (SM) being controlled by a servosys- tem in such a manner that a difference (Er) between a number of command pulses (Zdp corresponding to a commanded amount of movement (Zs) and a number of feedback pulses (Fp) corresponding to an actual amount of movement approaches zero, the apparatus comprising:

    pulse producing means (PDC) which receives the commanded amount of movement as an input (Zc) for producing command pulses (Zdp) the number which corresponds to said commanded amount of movement;

    commanded position counting means (PRE) which receives the commanded pulses (Zdp) as an input for producing an output signal (Zs) indicative of a commanded position;

    error counting means (ERC) which receives the command pulses (Zdp) and feedback pulses (Fp) indicative of an amount of movement of the servomotor (SM), for producing an output signal (Er) indicative of a positional deviation equivalent to the difference between the number of command pulses (Zdp) and the number of feedback pulses (Fp);


    the apparatus being characterised by:

    arithmetic means (SBT) which receives the commanded position (Zs) from said commanded position counting means (PRE) and the positional deviation (Er) from said error counting means (ERC) for computing the difference value (Zp) between said commanded position and said positional deviation at the instant that the measuring element (ME) contacts the object (MW).


     


    Ansprüche

    1. Meßmethode zum Messen eines Koordinatenwerts eines vorgegebenen Punkts auf einem Objekt (MW) durch Bewegen eines Meßelements (ME), das durch einen Servomotor (SM) angetrieben wird, in Richtung auf den Punkt und Anhalten des Meßelements (ME) in Abhängigkeit von dessen Berührung mit dem Objekt (MW) bei dem Punkt, mit

    (a) einem Steuern des Servomotors (SM) in einer Weise, daß eine Differenz (Er) zwischen einer Anzahl von Befehlsimpulsen (Zdp), die mit einem Betrag der Bewegung (Zs) zum Bewegung des Meßelements (ME) in Richtung auf den vorgegebenen Punkt auf dem Objekt (MW) korrespondiert, und einer Anzahl von Rückkopplungsimpulsen (Fp), die mit einem Istbetrag der Bewegung korrespondiert, welche durch das Meßelement (ME) ausgeführt wird, gegen Null geht,

    (b) einem Erzeugen eines Augangssignals (CTS), wenn das Meßelement (ME) das Objekt (MW) bei dem vorgegebenen Punkt berührt, und

    (c) einem Anhalten des Meßelements (ME) in dem Augenblick, zu dem das Ausgangssignal (CTS) erzeugt wird,


    gekennzeichnet durch

    (d) ein Berechnen des Differenzwerts (Zp) einer Differenz zwischen dem befohlenen Betrag der Bewegung (Zs) und einer positionsmäßigen Abweichung (Er) in dem Augenblick, zu dem das Ausgangssignal (CTS) erzeugt wird, wobei letztere zu der Differenz zwischen der Anzahl der Befehlsimpulse (Zdp), die bis zu diesem Augenblick ausgegeben wurden, und der Anzahl der Rückkopplungsimpulse (Fp), die kennzeichnend für den Betrag der Drehung des Servomotors (SM) bis zu diesem Augenblick ist, äquivalent ist und wobei der Differenzwert (Zp) den Koordinatenwert respräsentiert.


     
    2. Meßmethode nach Anspruch 1, bei der das Meßelement (ME) eine ballige Form hat und das Ausgangssignal (CTS) erzeugt wird, um den Augenblick der Berührung zu kennzeichen, wenn die Größe des Vektors der relativen Abweichung zwischen dem Objekt (MW) und dem Meßelement (ME) einen vorbestimmten Wert erreicht.
     
    3. Vorrichtung zum Messen eines Koordinatenwerts eines vorgegebenen Punkts auf einem Objekt (MW) durch Bewegen eines Meßelements (ME), das durch einen Servomotor (SM) angetrieben wird, in Richtung auf den Punkt und Anhalten des Meßelements (ME) in Abhängigkeit von dessen Berührung mit dem Objekt (MW) bei dem Punkt, wobei der Servomotor (SM) durch ein Servomotor derärt gesteuert wird, daß eine Differenz (Er) zwischen einer Anzahl von Befehlsimpulsen (Zdp), die mit einem Betrag der Bewegung (Zs) zum Bewegung des Meßelements (ME) in Richtung auf den vorgegebenen Punkt auf dem Objekt (MW) korrespondiert, und einer Anzahl von Rückkopplungsimpulsen (Fp), die einem Istbetrag der Bewegung korrespondiert, welche durch das Meßelement (ME) ausgeführt wird, gegen Null geht, welche Vorrichtung

    ein Impulserzeugungsmittel (PDC), das den befohlenen Betrag der Bewegung als ein Eingangssignal (Zc) zum Erzeugen von Befehlsimpulsen (Zdp) empfängt, wobei die Anzahl dieser Befehlsimpulse mit dem befohlenen Betrag der Bewegung korrespondiert,

    ein Zählmittel (PRE) für die befohlene Position, das die befohlenen Impulse (Zdp) als ein Eingangssignal zum Erzeugen eines Ausgangssignals (Zs) empfängt, welches für eine befohlene Position kennzeichnend ist, sowie

    ein Fehlerzählmittel (ERC), das die befohlenen Impulse (Zdp) und Rückkopplungsimpulse (Fp), die für den Betrag der Bewegung des Servomotors (SM) kennzeichnend sind, zum Erzeugen eines Ausgangssignals (Er) empfängt, welches für eine positionsmäßige Abweichung kennzeichnend ist, die zu der Differenz zwischen der Anzahl von befohlenen Impulsen (Zdp) und der Anzahl von Rückkopplungsimpulsen (Fp) äquivalent ist, enthält,


    gekennzeichnet durch

    ein arithmetisches Mittel (SBT), das die befohlene Position (Zs) aus dem Zählmittel (PRE) für die befohlene Position und die positionsmäßige Abweichung (Er) aus dem Fehlerzählmittel (ERC) zum Berechnen des Differenzwerts (Zp) zwischen der befohlenen Position und der positionsmäßigen Abweichung in dem Augenblick, zu dem das Meßelement (ME) das Objekt (MW) berührt, empfängt.


     


    Revendications

    1. Un procédé de mesure d'une valeur de coordonnée d'un point prescrit sur un objet (MW) en déplaçant un élément de mesure (ME), entraîné par un servomoteur (SM), vers ledit point et en arrêtant l'élément de mesure (ME) en fonction de son contact avec l'objet (MW) au niveau dudit point, comprenant,

    (a) la commande du servomoteur (SM) de telle manière qu'une différence (Er) entre un nombre d'impulsions de commande (Zdp) correspondant à une valeur commandée de mouvement (Zs) pour déplacer l'élément de mesure (ME) vers le point prescrit sur l'objet (MW), et un nombre d'impulsions de retour (Fp) correspondant à une valeur effective de mouvement fait par l'élément de mesure (ME), va approcher de zéro;

    (b) la production d'un signal de sortie (CTS) lorsque l'élément de mesure (ME) contacte l'objet (MW) au niveau du point prescrit;

    (c) l'arrêt de l'élément de mesure (ME) au moment où ledit signal de sortie (CTS) est engendré;


    le procédé étant caractérisé par:

    (d) le calcul, au moment où ledit signal de sortie (CTS) est engendré, de la valeur de différence (Zp) entre ladite valeur commandée de mouvement (Zs) et une déviation de position (Er), cette dernière étant équivalente à la différence entre le nombre d'impulsions de commande (Zdp) émises jusqu'audit moment, et le nombre d'impulsions de retour (Fp) indiquant la valeur de rotation du servomotor (SM) jusqu'audit moment, ladite valeur de différence (Zp) représentant ladite valeur de coordonnée.


     
    2. Le procédé selon la revendication 1, dans lequel l'élément de mesure (ME) est de forme sphérique, et ledit signal de sortie (CTS) est produit, pour indiquer le moment de contact quand la grandeur du vecteur de déplacement relatif entre l'objet (MW) et l'élément de mesure (ME) atteint une valeur prédéterminée.
     
    3. Un appareil pour mesurer une valeur de coordonnée d'un point prescrit sur un objet (MW) en déplaçant un élément de mesure (ME), entraîné par un servomoteur (SM), vers ledit point et en arrêtant l'élément de mesure (ME) en fonction de son contact avec l'objet (MW) au niveau duti point, ledit servomoteur (SM) étant commandé par un système asservi de telle manière qu'une différence (Er) entre un nombre d'impulsions de commande (Zdp) correspondant à une valeur commandée de mouvement (Zs) et un nombre d'impulsions de retour (Fp) correspondant à une valeur effective de mouvement approche de zéro, l'appareil comprenant:

    des moyens de production d'impulsions (PDC) qui reçoivent la valeur commandée de mouvement comme une entrée (Zc) pour produire des impulsions de commande (Zdp) dont le nombre correspond à ladite valeur commandée de mouvement;

    des moyens de calcul de la position commandée (PRE) qui reçoivent les impulsions commandée (Zdp) comme une entrée pour produire un signal de sortie (Zs) indicateur d'une position commandée;

    des moyens de calcul d'erreur (ERC) qui reçoivent les impulsions de commande (Zdp) et les impulsions de retour (Fp) indiquant une valeur de mouvement du servomoteur (SM), pour produire un signal de sortie (Er) indicateur d'une déviation de position équivalente à la différence entre le nombre d'impulsions de commande (Zdp) et le nombre d'impulsions de retour (Fp);


    l'appareil étant caractérisé par:

    des moyens arithmétiques (SBT) qui reçoivent la position commandée (Zs) desdits moyens de calcul de la position commandée (PRE) et la déviation de position (Er) desdits moyens de calcul d'erreur (ERC) pour calculer la valeur de différence (Zp) entre ladite position commandée et ladite déviation de position au moment où l'élément de mesure (ME) contacte l'objet (MW).


     




    Drawing