Calibration method
The calibration method addresses inaccurate deflection calculations by attaching weights to the robot's tip link based on end effector properties, enabling precise arm deflection reproduction and improving robot operation accuracy.
Patent Information
- Application Number
- JP2024100447
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-06-21
- Publication Date
- 2026-01-08
AI Technical Summary
Existing robot systems struggle to accurately calculate deflection amounts when using end effectors not assumed during deflection data generation, leading to inaccurate arm deflection calculations.
A calibration method that includes attaching weights to the robot's tip link based on the mass, center of gravity, or moment of inertia of the end effector and workpiece, and using a probe to generate coordinate transformation information between the robot and equipment coordinate systems, allowing for flexible reproduction of arm deflection.
Accurately reproduces arm deflection for each end effector in use, enhancing the precision of robot operations by compensating for mechanical and installation errors.
Smart Images

Figure 2026002448000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to a calibration method. [Background technology]
[0002] Patent Document 1 discloses a deflection correction device that automatically corrects the amount of deflection at taught points. Specifically, for each robot model and for each load with a different weight and center of gravity, the amount of deflection, which represents the deviation of the robot tip, is measured at multiple positions within the robot's operating area and stored as deflection amount data. When the robot is in use, the amount of deflection is calculated for each taught point based on the deflection amount data, and the taught points are corrected using the calculated deflection amount. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Application Laid-Open No. 2004-299010 Summary of the Invention [Problem to be solved by the invention]
[0004] However, in the above-mentioned Patent Document 1, when an end effector that is not assumed when generating the deflection amount data is used, there is a problem that the deflection amount for each teaching point cannot be accurately calculated.
[0005] An object of the present disclosure is to provide a technology for flexibly reproducing arm deflection for each end effector when a robot is used. [Means for solving the problem]
[0006] A calibration method for a robot system includes a robot and a controller for controlling the robot, the robot including an arm having a plurality of links including a tip link, and a probe attached to the tip link so as to extend coaxially about a rotation axis of the tip link of the arm, the controller generating coordinate transformation information between a robot coordinate system defined with the robot itself as the reference and an equipment coordinate system defined with the equipment as the reference by bringing the probe into contact with a calibration object provided in equipment on which the robot is installed, the calibration method comprising: prior to generating the coordinate transformation information, the controller attaching a plurality of weights to the tip link in accordance with the mass of an end effector to be mounted on the tip link when the robot is in use, or in accordance with the total mass of the end effector and a workpiece held by the end effector. This method allows for flexibly reproducing the bending of the arm for each end effector when the robot is in use.
[0007] The plurality of weights may be mounted on the tip link in accordance with the position of the center of gravity of an end effector mounted on the tip link when the robot is in use, or in accordance with the position of the center of gravity of the end effector and a workpiece held by the end effector. According to the above method, it is possible to more flexibly reproduce the bending of the arm for each end effector when the robot is in use.
[0008] The plurality of weights may be mounted on the tip link in accordance with the moment of inertia of an end effector mounted on the tip link when the robot is in use, or in accordance with the moment of inertia between the end effector and a workpiece held by the end effector. According to the above method, it is possible to more flexibly reproduce the bending of the arm for each end effector when the robot is in use.
[0009] The plurality of weights may include a first weight that extends annularly so as to surround the rotation axis of the tip link when mounted on the tip link, and a second weight that is eccentric from the rotation axis of the tip link when mounted on the tip link. According to the above method, the center of gravity position and moment of inertia of the end effector when the robot is in use can be flexibly reproduced.
[0010] The first weight may be mounted on the tip link, and the second weight may be mounted on the first weight. According to the above configuration, a plurality of weights can be mounted efficiently on the tip link. [Effects of the Invention]
[0011] According to the present disclosure, when generating coordinate transformation information between the robot coordinate system and the equipment coordinate system using a probe attached to an arm, the deflection of the arm can be flexibly reproduced for each end effector when the robot is in use. [Brief explanation of the drawings]
[0012] [Figure 1] FIG. 1 is a schematic diagram of a robot system. [Figure 2] FIG. 1 is a block diagram of a robot system. [Figure 3] FIG. 2 is a perspective view of a calibration object. [Figure 4] 1 is a control flow of a robot system. [Figure 5] FIG. 10 is a diagram illustrating a method for calculating the center coordinates of a cylinder. [Figure 6] FIG. 10 is a perspective view showing a plurality of weights mounted on the tip link. DETAILED DESCRIPTION OF THE INVENTION
[0013] The present invention will be described below through embodiments of the invention, but the invention according to the claims is not limited to the following embodiments. Furthermore, not all of the configurations described in the embodiments are necessarily essential means for solving the problems. For clarity of explanation, the following description and drawings have been omitted and simplified as appropriate. In each drawing, the same elements are given the same reference numerals, and repeated explanations are omitted as necessary.
[0014] 1 is a schematic diagram of a robot system 1 according to an embodiment of the present invention, and FIG. 2 is a block diagram of the robot system 1.
[0015] The robot system 1 includes a robot 2 having an articulated arm 21, and a controller 10 that controls the robot 2. The robot 2 is placed in a facility 80. As an example, the facility 80 is equipped with a transport device 81 that transports workpieces. The controller 10 is typically placed inside the robot body 9.
[0016] The arm 21 of the robot 2 includes a plurality of rotatable joints 31-37 and a plurality of links 41-47 connected via the joints 31-37. Each of the joints 31-37 is rotatable in the direction indicated by the double-headed arrow in FIG. 1 . The rotation axis of each of the joints 31-37 is disposed perpendicular to the rotation axis of the adjacent joint. In this embodiment, the arm 21 of the robot 2 includes seven joints 31-37, thereby providing seven degrees of freedom. That is, the arm 21 of the robot 2 has six degrees of freedom (three translational degrees of freedom and three rotational degrees of freedom) required for changing its position and posture, plus one redundant degree of freedom. Note that the number of joints in the arm 21 may be six. Of the multiple links 41-47, the link located closest to the tip of the arm will hereinafter be referred to as the tip link 47. The tip link 47 is configured to be rotatable around the longitudinal direction of the tip link 47, in other words, the longitudinal direction of the arm 21, as the rotation axis. The rotation angle of the tip link 47 is also called the orientation angle.
[0017] The robot 2 is equipped with a plurality of servo motors 51-57 that rotate and drive the joints 31-37, respectively. The servo motors 51-57 rotate and drive the joints 31-37 in response to commands from the controller 10. The servo motors 51-57 also include encoders that detect the rotation angle, and output detection signals corresponding to the rotation angle to the controller 10.
[0018] A ball probe 6 is disposed on the tip link 47 via a force sensor 7. The ball probe 6 is a specific example of a probe. The force sensor 7 detects the force applied to the ball probe 6 and outputs a detection signal corresponding to the received force to the controller 10. The force sensor 7 is, for example, a six-axis force sensor capable of detecting forces in three translational directions and three rotational directions. The ball probe 6 includes a rod 6a extending from the tip link 47 and a ball 6b provided at the tip of the rod 6a.
[0019] The controller 10 includes a microprocessor and a memory for storing programs executed by the microprocessor and data used for control. The programs may be provided from a computer-readable information recording medium or via a communication line. The controller 10 executes various processes in accordance with the programs read from the memory.
[0020] For example, the controller 10 executes a task process for performing a predetermined task, such as attaching a part, on a workpiece. In the task process, the controller 10 drives the servo motors 51-57 based on data representing the task, causing the arm 21 of the robot 2 to perform the predetermined task. In the data representing the task, the target position of the arm 21 is described in the equipment coordinate system 800, not the robot coordinate system 200. The robot coordinate system 200 is a coordinate system defined with the robot 2 itself as the reference. The equipment coordinate system 800 is a coordinate system defined with the equipment 80 as the reference. Therefore, the controller 10 uses coordinate transformation information between the robot coordinate system 200 and the equipment coordinate system 800 to convert the target position of the arm 21 described in the equipment coordinate system 800 into the target position of the arm 21 in the robot coordinate system 200. The coordinate transformation information typically consists of three translational components and three rotational components.
[0021] However, when installing the robot 2 in the facility 80, many errors accumulate in the coordinate transformation information theoretically calculated at the design stage of the facility 80 due to various factors such as mechanical differences and installation misalignment of the robot 2, and the inclination of the installation surface of the facility 80. Therefore, before using the robot 2 to perform work processing on a workpiece, it is necessary to remove as many errors in the coordinate transformation information as possible.
[0022] Therefore, the controller 10 generates coordinate transformation information from which errors have been removed as much as possible by bringing the ball probe 6 into contact with a calibration object 82 provided on a transport device 81 of the equipment 80 .
[0023] The calibration object 82 is configured to be detachable from a predetermined position on the transport device 81. Alternatively, the calibration object 82 may be arranged so as not to be detachable from the transport device 81. Furthermore, the calibration object 82 may be the workpiece itself arranged at a predetermined position on the transport device 81.
[0024] Fig. 3 shows a perspective view of a calibration object 82. Fig. 3(a) shows a cylindrical calibration object 82. Fig. 3(b) shows a hole-shaped calibration object 82. As the calibration object 82, either a cylindrical calibration object 82 or a hole-shaped calibration object 82 may be adopted.
[0025] <Cylindrical calibration object 82> As shown in FIG. 3A, the cylindrical calibration object 82 includes a base 90 and three cylindrical bodies 91. The three cylindrical bodies 91 typically extend vertically upward from the top surface of the base 90 and are parallel to one another. Each cylindrical body 91 has an outer circumferential surface 91a and a top surface 91b. In this embodiment, the top surfaces 91b of the three cylindrical bodies 91 are all arranged in the same plane. The three cylindrical bodies 91 include a first cylindrical body 91A, a second cylindrical body 91B, and a third cylindrical body 91C. In a plan view, the first cylindrical body 91A, the second cylindrical body 91B, and the third cylindrical body 91C are arranged so that a line segment connecting the central axis of the first cylindrical body 91A and the central axis of the second cylindrical body 91B is perpendicular to a line segment connecting the central axis of the first cylindrical body 91A and the central axis of the third cylindrical body 91C. The controller 10 then calculates position information for each cylinder 91 in the robot coordinate system 200 by bringing the ball 6b of the ball probe 6 into contact with the outer circumferential surface 91a or the top surface 91b of each cylinder 91, and generates coordinate transformation information based on the calculation results. As an example, the controller 10 calculates the center coordinate 91p of the top surface 91b of the first cylinder 91A, the center coordinate 91p of the top surface 91b of the second cylinder 91B, and the center coordinate 91p of the top surface 91b of the third cylinder 91C. The controller 10 then generates coordinate transformation information such that the center coordinate 91p of the first cylinder 91A is the origin of the equipment coordinate system 800 and two orthogonal axes of the equipment coordinate system 800 pass through the center coordinate 91p of the second cylinder 91B and the center coordinate 91p of the third cylinder 91C, respectively. Note that generating coordinate transformation information can be rephrased as calibrating the coordinate transformation information, which is a design value.
[0026] <Cavity calibration object 82> As shown in FIG. 3B, the hole-shaped calibration object 82 includes a base 100 and three holes 101. The three holes 101 typically extend vertically downward from the top surface of the base 100, parallel to one another. Each hole 101 has an inner circumferential surface 101a and an inner bottom surface 101b. In this embodiment, the inner bottom surfaces 101b of the three holes 101 are all arranged in the same plane. The three holes 101 include a first hole 101A, a second hole 101B, and a third hole 101C. In a plan view, the first hole 101A, the second hole 101B, and the third hole 101C are arranged such that a line segment connecting the central axis of the first hole 101A and the central axis of the second hole 101B is perpendicular to a line segment connecting the central axis of the first hole 101A and the central axis of the third hole 101C. The controller 10 then calculates position information for each hole 101 in the robot coordinate system 200 by bringing the ball 6b of the ball probe 6 into contact with the inner circumferential surface 101a and the inner bottom surface 101b of each hole 101, and generates coordinate transformation information based on the calculation results. As an example, the controller 10 calculates the center coordinate 101p of the inner bottom surface 101b of the first hole 101A, the center coordinate 101p of the inner bottom surface 101b of the second hole 101B, and the center coordinate 101p of the inner bottom surface 101b of the third hole 101C. The controller 10 then generates coordinate transformation information such that the center coordinate 101p of the first hole 101A is the origin of the equipment coordinate system 800 and two orthogonal axes of the equipment coordinate system 800 pass through the center coordinate 101p of the second hole 101B and the center coordinate 101p of the third hole 101C, respectively.
[0027] When a hole-shaped calibration object 82 is used as the calibration object 82 and each hole 101 is a through-hole, the upper surface of the base 100 in the vicinity of the hole 101 can be used instead of the inner bottom surface 101b.
[0028] Hereinafter, with reference to FIGS. 4 and 5, a control flow of the robot system 1 when a cylindrical calibration object 82 is used as the calibration object 82 will be described.
[0029] Fig. 4 shows a control flow of the robot system 1. Fig. 5 is a plan view of the cylindrical body 91.
[0030] Prior to generating the coordinate transformation information, the controller 10 stores in memory the design values of the XYZ coordinates of the center coordinates 91p of the three cylindrical bodies 91 described in the robot coordinate system 200.
[0031] S90: First, the controller 10 sequentially brings the ball 6b of the ball probe 6 into contact with the upper surfaces 91b of the three cylindrical bodies 91 from above based on the design values of the center coordinates 91p of the three cylindrical bodies 91 described in the robot coordinate system 200. For example, the controller 10 lowers the ball probe 6 so that the ball 6b of the ball probe 6 comes into contact with the upper surface 91b of the first cylindrical body 91A, and acquires position information of the ball 6b of the ball probe 6 based on the output values of the servo motors 51-57 when the output value from the force sensor 7 changes. Similarly, the controller 10 acquires position information of the ball 6b of the ball probe 6 at the time of contact with the second cylindrical body 91B and the third cylindrical body 91C. Here, the position information of the ball 6b of the ball probe 6 at the time of contact is position information described in the robot coordinate system 200. Then, based on the three pieces of position information, the controller 10 generates a virtual coordinate system in which two orthogonal axes coincide with a single XY plane that contains the upper surfaces 91b of the three cylindrical bodies 91. In the following processing, the controller 10 moves the ball probe 6 in accordance with the virtual coordinate system. For example, when moving the ball probe 6, the controller 10 maintains the orientation of the ball probe 6 so that the rotation axis of the tip link 47 is perpendicular to the XY plane. In other words, when moving the ball probe 6, the controller 10 maintains the orientation of the ball probe 6 so that the rotation axis of the tip link 47 coincides with the longitudinal direction of the multiple cylindrical bodies 91. Furthermore, when moving the ball probe 6 in the vertical direction, the controller 10 moves the ball probe 6 along the Z axis of the virtual coordinate system, and when moving the ball probe 6 in the horizontal direction, the controller 10 moves the ball probe 6 along the XY plane of the virtual coordinate system. This prevents the rod 6a of the ball probe 6 from contacting the calibration object 82 before the ball 6b of the ball probe 6 contacts the outer surface 91a of the cylindrical body 91 in the subsequent processing, due to the robot 2 being installed at an angle on the equipment 80.
[0032] S100: Next, the controller 10 acquires the center coordinates 91p of the upper surface 91b of the first cylindrical body 91A. Specifically, this is done as follows.
[0033] S110: First, the controller 10 brings the balls 6b of the ball probe 6 into contact with the outer circumferential surface 91a of the first cylindrical body 91A in a cross shape, as shown in FIG. 5(a).
[0034] Specifically, the controller 10 moves the ball 6b of the ball probe 6 in the +X direction in the robot coordinate system 200 relative to the outer peripheral surface 91a of the first cylindrical body 91A to bring it into contact with the outer peripheral surface 91a of the first cylindrical body 91A, and moves the ball 6b of the ball probe 6 in the -X direction in the robot coordinate system 200 while maintaining the same Y coordinate in the robot coordinate system 200 to bring it into contact with the outer peripheral surface 91a of the first cylindrical body 91A.
[0035] Similarly, the controller 10 moves the ball 6b of the ball probe 6 in the +Y direction in the robot coordinate system 200 relative to the outer peripheral surface 91a of the first cylindrical body 91A to bring it into contact with the outer peripheral surface 91a of the first cylindrical body 91A, and moves the ball 6b of the ball probe 6 in the -Y direction in the robot coordinate system 200 while maintaining the same X coordinate in the robot coordinate system 200 to bring it into contact with the outer peripheral surface 91a of the first cylindrical body 91A.
[0036] Then, the X coordinate of the center coordinate 91p of the first cylindrical body 91A in the robot coordinate system 200 is calculated by arithmetically averaging two pieces of position information acquired when the ball 6b of the ball probe 6 is moved in the X direction in the robot coordinate system 200. Similarly, the Y coordinate of the center coordinate 91p of the first cylindrical body 91A in the robot coordinate system 200 is calculated by arithmetically averaging two pieces of position information acquired when the ball 6b of the ball probe 6 is moved in the Y direction in the robot coordinate system 200. Here, although the ball probe 6 is assumed to be coaxial with the rotation axis 47C of the tip link 47, in reality it is eccentric with respect to the rotation axis 47C of the tip link 47. Therefore, the X coordinate and Y coordinate of the center coordinate 91p calculated here in the robot coordinate system 200 will include an error due to the eccentricity of the ball probe 6.
[0037] S120: Next, to offset the error due to the eccentricity, the controller 10 rotates the tip link 47 by 180 degrees. That is, if the rotation angle of the tip link 47 in step S110 is a first rotation angle, then in step S120, the controller 10 rotates the tip link 47 so that the rotation angle of the tip link 47 becomes a second rotation angle that is opposite to the first rotation angle. The second rotation angle is typically the first rotation angle plus or minus 180 degrees.
[0038] S130: Next, as shown in (b) of Fig. 5, the controller 10 again brings the ball 6b of the ball probe 6 into contact with the outer peripheral surface 91a of the first cylinder 91A in a cross shape in the same manner as above. As a result, by taking the arithmetic mean of two pieces of position information acquired when the ball 6b of the ball probe 6 is moved in the X direction, the X coordinate of the center coordinate 91p of the first cylinder 91A in the robot coordinate system 200 is calculated. Similarly, by taking the arithmetic mean of two pieces of position information acquired when the ball 6b of the ball probe 6 is moved in the Y direction, the Y coordinate of the center coordinate 91p of the first cylinder 91A in the robot coordinate system 200 is calculated.
[0039] S140: Next, the controller 10 obtains the X coordinate of the center coordinate 91p in the robot coordinate system 200, with the error due to eccentricity canceled out, by taking the arithmetic mean of the X coordinate of the center coordinate 91p in the robot coordinate system 200, calculated in step S110, and the X coordinate of the center coordinate 91p in the robot coordinate system 200, calculated in step S130. Similarly, the controller 10 obtains the Y coordinate of the center coordinate 91p in the robot coordinate system 200, with the error due to eccentricity canceled out, by taking the arithmetic mean of the Y coordinate of the center coordinate 91p in the robot coordinate system 200, with the error due to eccentricity canceled out, by taking the arithmetic mean of the Y coordinate of the center coordinate 91p in the robot coordinate system 200, calculated in step S110, and the Y coordinate of the center coordinate 91p in the robot coordinate system 200, calculated in step S130.
[0040] S150: Next, the controller 10 brings the ball 6b of the ball probe 6 into contact with the upper surface 91b of the first cylinder 91A from above. Specifically, the controller 10 moves the ball 6b of the ball probe 6 in the -Z direction of the virtual coordinate system 900 along the central axis of the first cylinder 91A, and brings the ball 6b of the ball probe 6 into contact with the upper surface 91b of the first cylinder 91A. In this way, the controller 10 acquires the Z coordinate in the robot coordinate system 200 of the center coordinate 91p of the upper surface 91b of the first cylinder 91A.
[0041] In this way, the controller 10 obtains the XYZ coordinates described in the robot coordinate system 200 of the center coordinate 91p of the upper surface 91b of the first cylindrical body 91A, with the eccentricity error of the ball probe 6 canceled out.
[0042] S200: Next, the controller 10 similarly acquires the XYZ coordinates described in the robot coordinate system 200 of the center coordinates 91p of the upper surface 91b of the second cylindrical body 91B. S300: Next, the controller 10 similarly acquires the XYZ coordinates described in the robot coordinate system 200 of the center coordinates 91p of the upper surface 91b of the third cylindrical body 91C.
[0043] S400: Next, the controller 10 identifies the equipment coordinate system 800 as described above based on the center coordinate 91p of the upper surface 91b of the first cylinder 91A, the center coordinate 91p of the upper surface 91b of the second cylinder 91B, and the center coordinate 91p of the upper surface 91b of the third cylinder 91C, and generates coordinate transformation information between the robot coordinate system 200 and the equipment coordinate system 800.
[0044] When a hole-shaped calibration object 82 is used as the calibration object 82, the outer peripheral surface 91a and the top surface 91b of the first cylinder 91A in the above description can be read as the inner peripheral surface 101a and the inner bottom surface 101b of the first hole 101A. As described above, when the first hole 101A is a through-hole, the top surface of the base 100 in the vicinity of the first hole 101A can be substituted for the inner bottom surface 101b.
[0045] Furthermore, although the ball 6b of the ball probe 6 has been described as being spherical, any shape, such as a disk shape, may be adopted as long as it is point-symmetrical with respect to the central axis of the rod 6a of the ball probe 6.
[0046] Although the controller 10 generates coordinate transformation information as described above, when an end effector is actually mounted on the tip link 47, and when the end effector holds a workpiece, the arm 21 may bend depending on the total mass, center of gravity position, and moment of inertia of the end effector and the workpiece held by it, and it may not be possible to accurately trace the target position of the arm 21. Therefore, in this embodiment, as shown in Fig. 6, before the controller 10 generates coordinate transformation information, multiple weights are mounted on the tip link 47, assuming the end effector to be mounted on the tip link 47 and the workpiece to be held by the end effector when the robot is in use.
[0047] Fig. 6 shows a perspective view of the tip link 47. As shown in Fig. 6, a plurality of weights 500 are detachably and selectively mounted on the tip link 47. At least one weight 500 is mounted on the tip link 47.
[0048] The multiple weights 500 may include multiple ring-shaped weights 501 and multiple block-shaped weights 502. This allows the center of gravity position and moment of inertia of the end effector when the robot is in use to be flexibly reproduced. The ring-shaped weight 501 is a specific example of a first weight. The block-shaped weight 502 is a specific example of a second weight.
[0049] The multiple ring-shaped weights 501 are weights that extend in a circular shape to surround the rotation axis 47C of the tip link 47 when mounted on the tip link 47. Each ring-shaped weight 501 typically weighs 300 grams, but is not limited to this. The multiple ring-shaped weights 501 may include a relatively thin 200 gram ring-shaped weight 501 and a relatively thick 400 gram ring-shaped weight 501. The multiple ring-shaped weights 501 are typically made of metal such as stainless steel. The multiple ring-shaped weights 501 can be mounted on the tip link 47 typically by screw fastening.
[0050] The multiple block-shaped weights 502 are mounted on the tip link 47 and are arranged eccentrically from the rotation axis 47C of the tip link 47. The multiple block-shaped weights 502 are typically mounted on the ring-shaped weight 501. However, the multiple block-shaped weights 502 may also be mounted directly on the tip link 47. Each block-shaped weight 502 typically weighs 30 grams, but is not limited to this. The multiple block-shaped weights 502 may include a relatively thin 20-gram block-shaped weight 502 and a relatively thick 40-gram block-shaped weight 502. The multiple block-shaped weights 502 are typically made of metal such as stainless steel. The multiple block-shaped weights 502 may be mounted on the ring-shaped weight 501 or the tip link 47 typically by screw fastening. By mounting the ring-shaped weight 501 on the tip link 47 and mounting multiple block-shaped weights 502 on the ring-shaped weight 501, multiple weights 500 can be efficiently mounted on the tip link 47. The multiple block-shaped weights 502 may further include a 5-gram spacer made of resin, for example.
[0051] Then, the user of the robot system 1 mounts multiple weights 500 on the tip link 47 in addition to the ball probe 6 and force sensor 7 so as to simulate the mass, center of gravity, and moment of inertia of the end effector that will be mounted on the tip link 47 when the robot is in use. Typically, the number of ring-shaped weights 501 and block-shaped weights 502 mounted on the tip link 47 is adjusted according to the mass of the end effector. Also, the number and arrangement of the multiple block-shaped weights 502 mounted on the ring-shaped weight 501 is adjusted according to the center of gravity and moment of inertia of the end effector. As shown in FIG. 6, the multiple block-shaped weights 502 can typically be mounted one on top of the other by screw fastening. The center of gravity of the end effector can be simulated three-dimensionally by arranging the multiple block-shaped weights 502 offset from the rotation axis 47C of the tip link 47, or by interposing the above-mentioned spacer between the block-shaped weight 502 and the ring-shaped weight 501, or between two stacked block-shaped weights 502. The moment of inertia of the end effector can also be simulated by moving the mounting positions of the multiple block-shaped weights 502 closer or farther from the rotation axis 47C of the tip link 47. For this reason, it is preferable to form multiple bolt holes in the tip link 47 and each ring-shaped weight 501 on arcs of different diameters, rather than just on concentric circles as shown in the figure.
[0052] Similarly, the user of the robot system 1 mounts multiple weights 500 on the tip link 47 in addition to the ball probe 6 and force sensor 7 so as to simulate the total mass, center of gravity position, and moment of inertia of the end effector mounted on the tip link 47 and the workpiece held by the end effector when using the robot.
[0053] The preferred embodiments of the present disclosure have been described above. The above embodiments have the following features.
[0054] The robot system 1 includes a robot 2 and a controller 10 that controls the robot 2. The robot 2 includes an arm 21 having a plurality of links including a tip link 47, and a ball probe 6 attached to the tip link 47 of the arm 21 so as to extend coaxially with a rotation axis 47C of the tip link 47. The controller 10 generates coordinate transformation information between a robot coordinate system 200 defined with respect to the robot 2 itself and an equipment coordinate system 800 defined with respect to the equipment 80 by bringing the ball probe 6 into contact with a calibration object 82 provided in equipment 80 on which the robot 2 is installed. The calibration object 82 has a plurality of cylindrical bodies 91 extending parallel to one another. The controller 10 brings the ball probe 6 into cross-shaped contact with the outer circumferential surface 91a of each of the plurality of cylindrical bodies 91 when the rotation angle of the tip link 47 is a first rotation angle, and brings the ball probe 6 into cross-shaped contact with the outer circumferential surface 91a of each of the cylindrical bodies 91 when the rotation angle of the tip link 47 is a second rotation angle opposite to the first rotation angle. The controller 10 calculates the XY coordinates (position information of the central axis) of the center coordinate 91p of each of the cylindrical bodies 91 by arithmetically averaging the position information of the ball probe 6 when the ball probe 6 comes into contact with the outer circumferential surface 91a of each of the cylindrical bodies 91. The controller 10 generates coordinate transformation information based on the XY coordinates (position information of the central axis) of the center coordinates 91p of each of the plurality of cylindrical bodies 91. With the above configuration, even if the ball probe 6 attached to the tip link 47 of the arm 21 is eccentric, it is possible to accurately acquire coordinate transformation information between the robot coordinate system 200 and the equipment coordinate system 800.
[0055] The ball probe 6 is a ball probe in which a ball 6b is fixed to the tip of a rod 6a. The controller 10 brings the ball probe 6 into contact with the outer circumferential surfaces 91a of the plurality of cylindrical bodies 91 while aligning the rotation axis 47C of the tip link 47 with the longitudinal direction of the plurality of cylindrical bodies 91. The above configuration can prevent the rod 6a from contacting the calibration object 82 before the ball 6b. In the above embodiment, the controller 10 generates the virtual coordinate system 900 and then brings the ball probe 6 into contact with the plurality of cylindrical bodies 91 again, thereby generating coordinate transformation information.
[0056] Furthermore, in the calibration method for the robot system 1, the user of the robot system 1 mounts multiple weights on the tip link 47 according to the mass of the end effector to be mounted on the tip link 47 when the robot is in use, or according to the total mass of the end effector and the workpiece held by the end effector, before the controller 10 generates coordinate transformation information. With the above configuration, it is possible to flexibly reproduce the deflection of the arm 21 for each end effector when the robot is in use. [Explanation of symbols]
[0057] 1. Robot System 2. Robot 6 Ball Probe 6a Rod 6b Ball 7 Force Sensor 10 Controllers 21 Arm 47 Tip link 47C Rotating Axis 80 Equipment 81 Transport equipment 82 Calibration Objects 90 base 91 Cylinder 91a Outer surface 91b Top side 200 Robot Coordinate System 500 weights 501 Ring weight 502 Block Weight 800 Facility Coordinate System 900 Virtual Coordinate System
Claims
1. a robot; and a controller that controls the robot, The robot an arm having a plurality of links including a tip link; a probe attached to the tip link of the arm so as to extend coaxially with respect to a rotation axis of the tip link; Including, the controller generates coordinate transformation information between a robot coordinate system defined with the robot itself as a reference and an equipment coordinate system defined with the equipment as a reference by bringing the probe into contact with a calibration object provided in the equipment on which the robot is installed; 1. A calibration method in a robotic system, comprising: Before the controller generates the coordinate transformation information, a plurality of weights are mounted on the tip link in accordance with a mass of an end effector to be mounted on the tip link when the robot is used, or in accordance with a total mass of the end effector and a workpiece held by the end effector. Calibration methods.
2. The plurality of weights are mounted on the tip link in accordance with the position of the center of gravity of an end effector mounted on the tip link when the robot is in use, or in accordance with the position of the center of gravity of the end effector and a workpiece held by the end effector. The calibration method of claim 1 .
3. The plurality of weights are mounted on the tip link in accordance with the moment of inertia of an end effector mounted on the tip link when the robot is in use, or in accordance with the moment of inertia between the end effector and a workpiece held by the end effector. The calibration method of claim 1 .
4. The plurality of weights are a first weight that extends annularly so as to surround the rotation axis of the tip link when mounted on the tip link; a second weight that is mounted on the tip link and is eccentric from the rotation axis of the tip link; Including, A calibration method according to any one of claims 1 to 3.
5. The first weight is mounted on the tip link, Mounting the second mass on the first mass; The calibration method of claim 4.
Citation Information
Patent Citations
Deflection correction device and deflection correction method
JP2004299010A