Abstract:
A method of calibrating a robot having a robot arm with a mechanically restricted moving displacement, includes obtaining a first moving displacement between a normal position of the robot arm and a contact position in which the robot arm comes into contact with the body of the robot. A second moving displacement between a current position of the robot arm and the contact position is further obtained by moving the robot arm to the contact position. The current position of the robot arm is corrected to the normal position based on a difference between the first and second moving displacements.

Description:
CROSS-REFERENCE TO RELATED APPLICATION  
         [0001]    This application claims the benefit of Korean Application No. 2002-39696, filed Jul. 9, 2002, in the Korean Intellectual Property Office, the disclosure of which is incorporated herein by reference.  
         BACKGROUND OF THE INVENTION  
         [0002]    1. Field of the Invention  
           [0003]    The present invention relates generally to a method of calibrating a robot, and more particularly to a method of calibrating a robot, which performs calibration by movement of a robot without requiring an additional calibration device.  
           [0004]    2. Description of the Related Art  
           [0005]    Generally, if machines or tools requiring precise position control, such as robots, are disassembled and reassembled for repair or change of parts, offset of initial positions of their moving parts such as robot arms, which may be varied relative to their previous positions, may frequently occur. Therefore, if the offset occurs due to the change of parts, etc., previous calibration data must be revised by performing calibration to correct the offset.  
           [0006]    In the prior art, if the parts of the robot are changed and the correction of the offset is required, the calibration is performed by using an exclusive calibration jig, or based on a calibration mark indicated on a body of] the robot.  
           [0007]    [0007]FIG. 1 is a control flowchart of a conventional method of calibrating a robot using a calibration jig. As shown in FIG. 1, an original working tool attached to the body of the robot is detached therefrom at operation S 10 . An exclusive calibration tool is attached to the body of the robot at operation S 11 . If the exclusive calibration tool is attached to the body of the robot, calibration is performed using the exclusive calibration tool at operation S 12 .  
           [0008]    At operation S 13 , calibration data are obtained using calibration results from the performance of the calibration at operation S 12 . Prestored previous calibration data are revised using the calibration data obtained at operation S 13  so as to correct the offset at operation S 14 .  
           [0009]    If the calibration data are revised, the exclusive calibration tool is detached from the body of the robot at operation S 15 . Thereafter, the original working tool is attached again to the body of the robot at operation S 16 .  
           [0010]    As described above, the conventional method using the calibration jig is problematic in that it requires high precision of the calibration jig. Thus, a calibrating operation is very complicated and requires much time because an operation of changing the original working tool and the exclusive calibration tool must be performed twice. Further, the conventional method is troublesome in that if an actual user performs the calibration personally, the user must retain the exclusive calibration tool.  
           [0011]    In the conventional method of performing calibration based on the calibration mark indicated on the body of the robot, calibration data are revised using the current position of the robot, after moving the mark indicated on the robot body to a position where a reference mark is indicated to enable the calibration mark and the reference mark to coincide with each other.  
           [0012]    Using the reference mark does not have the inconvenience of attaching and detaching tools to/from the body of the robot. However, the conventional method using the reference mark is problematic in that precision of the calibration is relatively low.  
         SUMMARY OF THE INVENTION  
         [0013]    Accordingly, it is an aspect of the present invention to provide a method of calibrating a robot, which corrects offset of moving parts of the robot by obtaining calibration information through contact with a robot body.  
           [0014]    Additional aspects and advantages of the invention will be set forth in part in the description which follows and, in part, will be obvious from the description, or may be learned by practice of the invention.  
           [0015]    The foregoing and other aspects of the present invention are achieved by providing a method of calibrating a robot. The robot has a robot arm joined to a robot shaft to a restrict moving displacement of the robot arm. The method includes setting a reference position within the moving displacement, calculating a difference between an actual displacement when the robot arm reaches the reference position and a preset normal displacement, and correcting a position of the robot arm based on the calculated difference. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0016]    The above and other aspects and advantages of the present invention will become apparent and more appreciated from the following detailed description of the preferred embodiment, taken in conjunction with the accompanying drawings of which:  
         [0017]    [0017]FIG. 1 is a control flowchart of a conventional method of calibrating a robot using a calibration jig;  
         [0018]    [0018]FIG. 2 is a view showing an operation of a robot, according to an embodiment of the present invention;  
         [0019]    [0019]FIG. 3 is a control block diagram showing a calibration of a robot of the present invention; and  
         [0020]    [0020]FIG. 4 is a control flowchart of a method of calibrating the robot, according to the present invention. 
     
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT  
       [0021]    Reference will now be made in detail to the present preferred embodiment of the present invention, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to like elements throughout.  
         [0022]    [0022]FIG. 2 is a view showing an operation of a robot, according to an embodiment of the present invention. As shown in FIG. 2, a first shaft  11  is rotatably connected to an upper portion of a base  10 , and a second shaft  12  rotating at a predetermined angle is connected to the upper portion of the first shaft  11 . A robot arm (working tool)  13  is joined to one end of the second shaft  12  to be rotatable at a predetermined angle.  
         [0023]    Stopper projections (not shown) are formed on the robot arm  13  and the second shaft  12  to prevent the robot arm  13  from moving beyond a certain position. The robot arm  13  comes into contact with the shaft of the robot when the robot arm  13  is rotated at an angle greater than the predetermined angle. The robot arm  13  is rotated by driving a motor (not shown) of the robot.  
         [0024]    [0024]FIG. 3 is a control block diagram showing a calibration of the robot of the present invention. As shown in FIG. 3, an apparatus for calibrating a robot of the present invention includes a key input unit  150 , a motor driving unit  110 , an encoder  130 , a storage unit  140  and a control unit  100 . The key input unit  150  is used to input commands from a user. The motor driving unit  110  operates a motor  120 , which rotates either in a forward or a reverse direction to move the robot arm  13  to a desired position. The encoder  130  is connected to the motor  120  to obtain a moving displacement of the robot arm  13  according to the rotation of the motor  120 . The storage unit  140  stores various pieces of information. The control unit  100  controls the storage unit  140  to store the moving displacement fed back through the encoder  130  therein, and controls an entire calibrating operation according to the various pieces of information stored in the storage unit  140 .  
         [0025]    [0025]FIG. 4 is a control flowchart of a method of calibrating the robot, according to the present invention. As shown in FIG. 4, the control unit  100  performs an initial calibration using a self-calibration program of the robot arm  13 , which is stored in the storage unit  140  at operation S 100 .  
         [0026]    The control unit  100  stores correction data obtained by the performance of the initial calibration in the storage unit  140  at operation S 101 . The control unit  100  operates the motor  120  through the motor driving unit  110  to allow the robot arm  13  to move to a contact position at operation S 102 . At this time, the control unit  100  inputs the moving displacement of the robot arm  13 , which is fed back through the encoder  130 .  
         [0027]    The control unit  100  determines whether the robot arm  13  has reached the contact position where the robot arm  13  does not rotate any longer and comes into contact with the body of the robot based on the moving displacement of the robot arm  13  obtained through the encoder  130  at operation S 103 . If the robot arm  13  has reached the contact position, the robot arm  13  cannot rotate any longer, so an amount of load of the motor  120  is temporarily increased, thus varying a rotating speed of the motor  120 . Accordingly, an output signal of the encoder  130  is varied, and the control unit  100  determines that the robot arm  13  has reached the contact position based on the varied output signal of the encoder  130 .  
         [0028]    If it is determined that the robot arm  13  has reached the contact position at operation S 103 , the control unit  100  stops the movement of the robot arm  13  by stopping the motor  120  through the motor driving unit  110  at operation Si 04 . The control unit  100  stores the moving displacement of the robot arm  13  obtained through the encoder  130  in the storage unit  140  as a first moving displacement at operation S 105 .  
         [0029]    Meanwhile, a corresponding command to perform a desired task is inputted from the user via the key input unit  150  at operation S 106 . This is done after initial position data of the robot arm  13  obtained when the initial calibration is performed, and the moving displacement of the robot arm  13  obtained when the robot arm  13  has reached the contact position, are stored in the storage unit  140 .  
         [0030]    If the command has been inputted, the control unit  100  drives the motor  120  with the motor driving unit  110  to move the robot arm to a corresponding working position at operation S 107 . When the robot arm  13  moves to the corresponding working position, the control unit  100  performs the corresponding task using the robot arm  13  at operation S 108 . In this case, the control unit  100  calculates a first moving displacement obtained when the robot arm  13  has reached the contact position at the corresponding working position based on the moving displacement obtained at operation S 105 , and stores the first moving displacement in the storage unit  140  at operation S 109 .  
         [0031]    While working, the robot arm  13  is sometimes detached from the body of the robot and re-joined to the body due to repair or change of the robot arm  13 . Thus, it is required to perform the calibration of the robot arm  13  again. The control unit  100  determines whether a command to re-calibrate the robot arm  13  has been inputted from the user through the key input unit  150 , so as to check whether re-calibration is required at operation S 110 . If it is determined that a command to re-calibrate has been inputted at operation S 110 , the control unit  100  determines that the re-calibration is required, and drives the motor  120  through the motor driving unit  110  to move the robot arm  13  to the contact position at operation S 111 . At this time, the control unit  100  inputs the moving displacement of the robot arm  13 , which is fed back through the encoder  130 .  
         [0032]    The control unit  100  determines whether the robot arm  13  has reached the contact position based on the output signal of the encoder  130  at operation S 112 . If the robot arm  13  has reached the contact position at operation S 112 , the control unit  100  stops the movement of the robot arm  13  by stopping the motor  120  through the motor driving unit  110  at operation S 113 .  
         [0033]    Then, the control unit  100  stores a second moving displacement obtained when the robot arm  13  has reached the contact position at operation S 114 . The control unit  100  obtains the second moving displacement of the robot arm  13  through the encoder  130 .  
         [0034]    When the second moving displacement of the robot arm  13  is stored, the control unit  100  calculates a difference between the first moving displacement of the robot arm  13  obtained at operation S 105  and the second moving displacement at operation S 115 . When the difference is calculated, the control unit  100  corrects a current position of the robot arm  13  based on the calculated difference at operation S 116 .  
         [0035]    As described above, the present invention provides a method of calibrating a robot, which promptly obtains precise calibration data using calibration position data obtained by moving a robot arm based on a reference position of a moving displacement of the robot arm, without requiring an additional calibration device.  
         [0036]    Although a preferred embodiment of the present invention has been shown and described, it would be appreciated by those skilled in the art that changes may be made in this embodiment without departing from the principles and spirit of the invention, the scope of which is defined in the claims and their equivalents.