Robot system
The robot system addresses the issue of eccentric probe calibration by using cross-shaped contact and averaging techniques to ensure accurate coordinate transformation between robot and equipment systems, despite probe misalignment.
Patent Information
- Application Number
- JP2024100446
- 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 face challenges in accurately calibrating the origin position and reference direction of the worktable coordinate system when the probe attached to the arm is eccentric, leading to imprecise coordinate transformation between the robot and equipment coordinate systems.
A robot system with a probe extending coaxially with the arm's rotation axis, using cross-shaped contact with multiple calibration objects to calculate and average position information, and aligning the rotation axis with the calibration object's longitudinal direction to generate accurate coordinate transformation information, even if the probe is eccentric.
Enables precise acquisition of coordinate transformation information between the robot and equipment coordinate systems, despite probe eccentricity, by averaging position data and aligning the rotation axis, thereby enhancing calibration accuracy.
Smart Images

Figure 2026002447000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to a robot system. [Background technology]
[0002] Patent Document 1 discloses an articulated robot mounted on a carriage so as to be movable relative to a work table. Specifically, the target position of the arm is described in a work table coordinate system rather than a robot coordinate system, and the origin position and reference direction of the work table coordinate system in the robot coordinate system are calibrated. During calibration, a probe attached to the tip of the arm is fitted into a hole in the work table, the position of the probe at the time of fitting is acquired, and the origin position and reference direction of the work table coordinate system in the robot coordinate system are calibrated based on the position. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Application Laid-Open No. 2015-33747 Summary of the Invention [Problem to be solved by the invention]
[0004] However, in the configuration of Patent Document 1, when a probe is attached to the tip of the arm, if the central axis of the probe is eccentric with respect to the reference axis of the tip of the arm, it is not possible to calibrate the origin position and reference direction of the worktable coordinate system in the robot coordinate system with high precision.
[0005] An object of the present disclosure is to provide a technology for accurately acquiring coordinate transformation information between a robot coordinate system and an equipment coordinate system even if a probe attached to the tip link of an arm is eccentric. [Means for solving the problem]
[0006] A robot system including a robot and a controller that controls the robot, wherein the robot includes an arm having a plurality of links including a tip link, and a probe attached to the tip link so as to extend coaxially with a rotation axis of the tip link of the arm, and 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 equipment on which the robot is installed, and the calibration object is a plurality of cylindrical bodies extending parallel to each other. and the controller, for each of the plurality of cylinders, brings the probe into cross-shaped contact with the outer circumferential surface of the cylinder when the rotation angle of the tip link is a first rotation angle, and brings the probe into cross-shaped contact with the outer circumferential surface of the cylinder when the rotation angle of the tip link is a second rotation angle opposite to the first rotation angle, and calculates position information of the central axis of the cylinder by arithmetically averaging position information of the probe when the probe comes into contact with the outer circumferential surface of the cylinder, and the controller generates the coordinate transformation information based on the position information of the central axes of the plurality of cylinders. With the above configuration, even if the probe provided on the tip link of the arm is eccentric, it is possible to accurately obtain coordinate transformation information between the robot coordinate system and the equipment coordinate system.
[0007] The probe may be a ball probe having a ball fixed to the tip of a rod, and the controller may bring the probe into contact with the outer circumferential surfaces of the plurality of cylinders while aligning the rotation axis of the tip link with the longitudinal direction of the plurality of cylinders. With the above configuration, it is possible to prevent the rod from contacting the calibration object before the ball.
[0008] A robot system including a robot and a controller that controls the robot, wherein the robot includes an arm having a plurality of links including a tip link, and a probe attached to the tip link so as to extend coaxially with respect to a rotation axis of the tip link of the arm, and the controller generates coordinate transformation information between a robot coordinate system defined with respect to the robot itself and an equipment coordinate system defined with respect to the equipment by bringing the probe into contact with a calibration object provided in equipment on which the robot is installed, and the calibration objects extend parallel to each other. a robot system having a plurality of holes each having a first rotation angle, the controller contacting the probe in a cross shape with the inner circumferential surface of the hole for each of the plurality of holes when the rotation angle of the tip link is a first rotation angle, and contacting the probe in a cross shape with the inner circumferential surface of the hole when the rotation angle of the tip link is a second rotation angle opposite to the first rotation angle, and calculating position information of the central axis of the hole by arithmetically averaging position information of the probe when the probe contacts the inner circumferential surface of the hole, and the controller generating the coordinate transformation information based on the position information of the central axes of the plurality of holes. With the above configuration, even if the probe attached to the tip link of the arm is eccentric, it is possible to accurately obtain coordinate transformation information between the robot coordinate system and the equipment coordinate system.
[0009] The probe may be a ball probe having a ball fixed to the tip of a rod, and the controller may bring the probe into contact with inner circumferential surfaces of the plurality of holes in a state in which the rotation axis of the tip link is aligned with the longitudinal direction of the plurality of holes. With the above configuration, it is possible to prevent the rod from contacting the calibration object before the ball.
[0010] The calibration object may be provided detachably with respect to the equipment. [Effects of the Invention]
[0011] According to the present disclosure, even if the probe provided on the tip link of the arm is eccentric, coordinate transformation information between the robot coordinate system and the equipment coordinate system can be obtained with high accuracy. [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 robotic system comprising: the calibration object includes a plurality of cylindrical bodies extending parallel to one another; The controller For each of the plurality of cylindrical bodies, When the rotation angle of the tip link is a first rotation angle, the probe is brought into contact with the outer circumferential surface of the cylindrical body in a cross shape, When the rotation angle of the tip link is a second rotation angle opposite to the first rotation angle, the probe is brought into contact with the outer circumferential surface of the cylindrical body in a cross shape; calculating position information of the central axis of the cylindrical body by arithmetically averaging position information of the probe when the probe comes into contact with the outer peripheral surface of the cylindrical body; The controller generating the coordinate transformation information based on position information of the central axes of the plurality of cylindrical bodies; Robot system.
2. the probe is a ball probe having a ball fixed to the tip of a rod, the controller brings the probe into contact with the outer circumferential surfaces of the plurality of cylindrical bodies in a state in which the rotation axis of the tip link is aligned with the longitudinal direction of the plurality of cylindrical bodies; The robot system of claim 1 .
3. 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 robotic system comprising: the calibration object has a plurality of holes extending parallel to one another; The controller For each of the plurality of holes, When the rotation angle of the tip link is a first rotation angle, the probe is brought into contact with the inner circumferential surface of the hole in a cross shape, When the rotation angle of the tip link is a second rotation angle opposite to the first rotation angle, the probe is brought into contact with the inner circumferential surface of the hole in a cross shape; calculating position information of the central axis of the hole by arithmetically averaging position information of the probe when the probe comes into contact with the inner circumferential surface of the hole; The controller generating the coordinate transformation information based on position information of the central axes of the plurality of holes; Robot system.
4. the probe is a ball probe having a ball fixed to the tip of a rod, the controller brings the probe into contact with inner circumferential surfaces of the plurality of holes in a state in which the rotation axis of the tip link is aligned with the longitudinal direction of the plurality of holes; The robot system according to claim 3 .
5. The calibration object is detachably provided to the equipment.
5. The robot system according to claim 1.
Citation Information
Patent Citations
Robot system, robot control device and robot control method
JP2015033747A