robot systems

The robot system improves positional accuracy by calculating and applying correction amounts based on reference object positions, addressing recalibration challenges and enhancing alignment between digital and real-world positions.

JP2026120963APending Publication Date: 2026-07-23TOYOTA JIDOSHA KK +3
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
TOYOTA JIDOSHA KK
Filing Date
2025-01-10
Publication Date
2026-07-23

AI Technical Summary

Technical Problem

Existing robot systems face challenges in recalibrating the absolute position of a robot arm after accidental misalignment, leading to a decrease in accuracy.

Method used

A robot system that includes information acquisition, measuring, and target position correction means to calculate and apply correction amounts based on differences between measured and known positions of reference objects, using a correction amount map and objective functions to improve positional accuracy.

Benefits of technology

Enhances the absolute positional accuracy of the robot arm by correcting target positions, allowing for better alignment of taught positions in the digital world with the real space and reducing on-site man-hours.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026120963000001_ABST
    Figure 2026120963000001_ABST
Patent Text Reader

Abstract

To improve the absolute positional accuracy of the robot arm. [Solution] The robot system includes: an information acquisition means for acquiring positional information of each measuring object placed on a reference plate; a measuring means for controlling the robot arm to bring the robot arm's contact sensor into contact with each measuring object on the reference plate placed at a predetermined position near the robot arm, thereby measuring and acquiring positional information of each measuring object; and a target position correction means for calculating the difference between the positional information of each measuring object acquired by the information acquisition means and the positional information of each measuring object acquired by the measuring means, and correcting the target position for the robot arm's movement based on the calculated difference.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to a robot system for controlling a robot.

Background Art

[0002] A robot system has been proposed that calibrates the absolute position of a robot arm by controlling the robot arm to measure a measurement object arranged at a predetermined position near the robot arm with a contact sensor of the robot arm and obtaining position information of the measurement object (see, for example, Patent Document 1).

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] However, in the above robot system, for example, when an accidental misalignment occurs, such as by hitting the robot arm, it is not easy to recalibrate the absolute position of the robot arm, and there is a risk that the absolute position accuracy thereof may decrease.

[0005] This disclosure has been made to solve such problems, and a main object thereof is to provide a robot system capable of improving the absolute position accuracy of a robot arm.

Means for Solving the Problems

[0006] One aspect of this disclosure for achieving the above object is information acquisition means for acquiring position information of each measurement object arranged on a reference plate, A measuring means that controls a robot arm to bring the robot arm's contact sensor into contact with each measuring object of the reference plate placed at a predetermined position near the robot arm, thereby measuring and acquiring positional information of each measuring object. A target position correction means calculates the difference between the position information of each measurement object acquired by the information acquisition means and the position information of each measurement object acquired by the measurement means, and corrects the target position for the movement of the robot arm based on the calculated difference. Equipped with, robot systems That is the case. On this flight, The system further includes a storage means for storing a correction amount map that associates the calculated difference with the position where each difference was taken. The aforementioned target position correction means is The distance between the target position and the position of each difference in the correction amount map is calculated, The difference at the position with the shortest calculated distance is identified, and this identified difference is used as the correction amount. The target position may be corrected by adding the correction amount to the target position. On this flight, The aforementioned target position correction means is Based on the difference calculated above, the objective function with the target position as the explanatory variable is derived. The target position may be corrected by adding the value of the derived objective function to the target position. On this flight, The system may further include a means for determining whether the objective function is appropriate, which plots the position information measured by the measurement means and the objective function on a graph, calculates a correlation coefficient between the position information measured by the measurement means and the objective function based on the graph, and determines whether the objective function is appropriate based on the calculated correlation coefficient. On this flight, The system may further include a display means for displaying a graph plotting the position information measured by the measurement means and the objective function. [Effects of the Invention]

[0007] According to this disclosure, it is possible to provide a robot system that can improve the absolute positional accuracy of a robot arm. [Brief explanation of the drawing]

[0008] [Figure 1] This figure shows a schematic configuration of the robot system according to this embodiment. [Figure 2] This diagram shows a cylindrical member, which is a measurement object, placed on a reference plate. [Figure 3] This diagram shows a hole, which is the measurement object, placed on a reference plate. [Figure 4] This is a block diagram showing a schematic system configuration of the arithmetic processing unit according to this embodiment. [Figure 5] This figure shows an example of the measurement results for the center position of each measurement object. [Figure 6] This figure compares the measurement results obtained by the robot arm with the correction formula. [Modes for carrying out the invention]

[0009] Embodiment 1 This embodiment will be described below with reference to the drawings. For example, deviations from the design specifications of a robotic arm, such as the arm length or the rotation center of the actuator, can create a difference between the coordinate space recognized by the robotic arm's inverse kinematics and the real world. Furthermore, the way this difference manifests itself differs depending on the robotic arm's posture (angle).

[0010] In contrast, the robot system according to this embodiment improves the absolute positional accuracy of the robot arm within a predetermined area by (1) calculating the difference between the measurement result of the reference plate measured by the robot arm's own contact sensor and the known measurement result of the reference plate, and (2) using that difference to pseudo-correct the target position (command value) for the robot arm.

[0011] As a result, for example, in the case of offline consideration, vision AI, etc., the taught positions of the robot arm in the digital world can be better adjusted to the real space, enabling improvement in accuracy and also expecting an effect of reducing on-site man-hours.

[0012] FIG. 1 is a diagram showing a schematic configuration of a robot system according to the present embodiment. The robot system 1 according to the present embodiment includes a robot arm 2, a contact sensor 3 provided on the robot arm 2, a reference plate 4, and an arithmetic processing unit 5.

[0013] The robot arm 2 is configured as, for example, a multi-joint arm having a plurality of joint portions 21 such as a wrist joint, an elbow joint, and a shoulder joint. Each joint portion 21 is provided with an actuator such as a servo motor and sensors such as an angle sensor and a torque sensor.

[0014] The contact sensor 3 is provided, for example, at the tip of the robot arm 2. The contact sensor 3 is a sensor capable of detecting contact with an object. The contact sensor 3 is composed of a touch probe, a force sensor, or the like.

[0015] A plurality of measurement objects 41 are arranged on the reference plate 4. The measurement object 41 is, for example, a cylindrical member as shown in FIG. 2. The reference plate 4 may be configured such that a plurality of measurement objects 41 having substantially the same shape are arranged on a plate member 42. Further, three types of reference plates 4 on which three types of cylindrical members having different heights (height type 1 to height type 3) are respectively arranged may be preset.

[0016] The measurement object 41 may be a hole as shown in FIG. 3. Further, three types of reference plates 4 on which three types of holes having different heights (height type 1 to height type 3) are respectively arranged may be preset.

[0017] As shown in Figure 1, the reference plate 4 is placed at a predetermined position near the robot arm 2. Each measurement object 41 on the reference plate 4 is used to recognize the user coordinate system, as will be described later.

[0018] The arithmetic processing unit 5 is a device capable of performing various calculations and control processes for the robot arm 2, as described later. For example, the arithmetic processing unit 5 performs feedback control and robust control of the robot arm 2 by outputting control signals to actuators based on information from sensors at each joint 21 of the robot arm 2. The arithmetic processing unit 5 may be built into the robot controller or may be configured as a personal computer (PC) for calculations.

[0019] The arithmetic processing unit 5 has a hardware configuration similar to that of a typical computer, comprising, for example, a processor such as a CPU (Central Processing Unit) or GPU (Graphics Processing Unit), internal memory such as RAM (Random Access Memory) or ROM (Read Only Memory), storage devices such as an HDD (Hard Disk Drive) or SSD (Solid State Drive), an input / output interface for connecting peripheral devices such as a display, and a communication interface for communicating with devices outside the device.

[0020] Figure 4 is a block diagram showing a schematic system configuration of the arithmetic processing unit according to this embodiment. The arithmetic processing unit 5 includes an information acquisition unit 51, a measurement unit 52, and a target position correction unit 53.

[0021] The information acquisition unit 51 is one specific example of an information acquisition means. The information acquisition unit 51 acquires the position information of each measurement object 41 placed on the reference plate 4. The information acquisition unit 51 may acquire the position information of each measurement object 41 on the reference plate 4 from the 3D measuring machine 6, as described later.

[0022] The measuring unit 52 is a specific example of a measuring means. The measuring unit 52 controls the robot arm 2 to bring the contact sensor 3 of the robot arm 2 into contact with each measuring object 41 of the reference plate 4, thereby measuring and acquiring the position information of each measuring object 41.

[0023] The target position correction unit 53 is a specific example of a target position correction means. The target position correction unit 53 calculates the difference ΔPn between the position information of each measurement object 41 acquired by the information acquisition unit 51 and the position information of each measurement object 41 acquired by the measurement unit 52. ΔPn = F(Pn)

[0024] The target position correction unit 53 corrects the target position relative to the movement of the robot arm 2 based on the calculated difference ΔPn. For example, the target position correction unit 53 corrects the target position Pn(x,y,z) by adding the calculated difference ΔPn to the target position Pn(x,y,z) and calculates the true target position Pn'(x',y',z'). Pn′=Pn+ΔPn

[0025] In this way, by using the difference ΔPn to simulate correction of the target position Pn(x,y,z) relative to the robot arm 2, the absolute positional accuracy of the robot arm 2 within a predetermined region can be improved.

[0026] Here, we will explain in more detail how the robot system 1 according to this embodiment calculates the difference between the measurement result of the reference plate 4 measured by the robot's own contact sensor 3 and the known measurement result of the reference plate 4.

[0027] For example, the 3D measuring machine 6 pre-measures the position of each measuring object 41 on the reference plate 4. The 3D measuring machine 6 sets a user coordinate system on the reference plate 4, as shown in Figure 2, for example, and measures the center position (X, Y, Z) of each measuring object 41. This center position of each measuring object 41 may be, for example, the center of the cylinder member which is the measuring object 41 and its top dead center.

[0028] As shown in Figure 2, the 3D measuring machine 6 sets the coordinates of the origin measuring object 41 to (0,0,0), sets the measuring object 41 that determines the X direction, and generates a user coordinate system using the position of the measuring object 41 that determines the Rx angle (angle around the X axis) in the XY plane. The user coordinate system is a coordinate system defined by the user based on each measuring object 41 of the reference plate 4, as described above.

[0029] The 3D measuring machine 6 outputs the center position (X, Y, Z) of each measurement object 41 of the reference plate 4 in the user coordinate system to the arithmetic processing unit 5.

[0030] The information acquisition unit 51 of the arithmetic processing unit 5 acquires the center position (X, Y, Z) of each measurement object 41 of the reference plate 4 in the user coordinate system output from the 3D measuring machine 6 as a known measurement result of the reference plate 4.

[0031] As described above, the reference plate 4, which has been measured in advance by the 3D measuring machine 6, is placed at a predetermined position near the robot arm 2, as shown in Figure 1.

[0032] The measurement unit 52 of the arithmetic processing unit 5 controls the robot arm 2 to move the contact sensor 3 at the tip of the arm, thereby detecting the position of the measurement object 41 (reference master) of the reference plate 4, which is set in advance as a reference. Based on the detected position of the measurement object 41 of the reference plate 4, the measurement unit 52 generates a user coordinate system for the robot arm 2.

[0033] The measuring unit 52 controls the robot arm 2 and moves the contact sensor 3 at the tip of the arm to detect the position of each measuring object 41 (each cylindrical member) of the reference plate 4, with the user coordinate system as the origin.

[0034] For example, the measuring unit 52 controls the robot arm 2 to move the contact sensor 3 at the tip of the arm to the measurement point of each measuring object 41 and make contact with the measurement point. The measuring unit 52 acquires the position information of each measuring object 41 when the contact sensor reacts.

[0035] The measurement unit 52 uses pre-set coordinate transformation information to convert the acquired position information of each measurement object 41 in the robot coordinate system into position information of each measurement object 41 in the user coordinate system. The coordinate transformation information is generated, for example, based on the position information of the central axis of each measurement object 41 (each cylindrical member).

[0036] As described above, the measuring unit 52 controls the robot arm 2 to measure the center position (X', Y', Z')n of each measuring object 41 in the user coordinate system. The center position of each measuring object 41 (cylindrical member) may be the center of the circle and the top dead center. Figure 5 shows an example of the measurement results of the center position of each measuring object 41.

[0037] The target position correction unit 53 calculates the difference (ΔX, ΔY, ΔZ)n between the center position (X, Y, Z)n of each measurement object 41 acquired by the information acquisition unit 51 and the center position (X', Y', Z')n of each measurement object 41 measured by the measurement unit 52, using the following formula. (X′,Y′,Z′)n‐(X,Y,Z)n=(ΔX,ΔY,ΔZ)n

[0038] This difference (ΔX, ΔY, ΔZ)n represents the characteristic of the displacement (error) caused by the measured robot arm 2. Therefore, as described later, the displacement can be corrected by using the difference in the position near the teaching point when operating the robot arm 2 as a simple correction amount.

[0039] The target position correction unit 53 stores a correction amount map, including the calculated difference (ΔX, ΔY, ΔZ)n, in the storage unit 54. The correction amount map is table information that associates each of the calculated differences (ΔX, ΔY, ΔZ)n with the position where each difference was taken. The storage unit 54 is a specific example of a storage means. The storage unit 54 is composed of, for example, the storage device described above.

[0040] Next, we will explain in more detail how the robot system 1 according to this embodiment uses the difference described above to simulate correct the robot's taught position (target position) and improve the control accuracy of the robot arm 2 within a predetermined area.

[0041] The target position correction unit 53 of the arithmetic processing unit 5 sets the generated user coordinate system for the robot arm 2.

[0042] The target position correction unit 53 acquires the target position (x, y, z) as a pre-specified teaching point for the robot arm 2 as a variable.

[0043] The target position correction unit 53 calculates the absolute distance between the acquired target position (x, y, z) and the position of each difference in the correction amount map.

[0044] The target position correction unit 53 identifies the difference (ΔX, ΔY, ΔZ)n of the position with the shortest absolute distance calculated above and is the closest. This identified difference (ΔX, ΔY, ΔZ)n becomes the correction amount.

[0045] The target position correction unit 53 calculates a pseudo target position (x', y', z') by adding the specified correction amount (ΔX, ΔY, ΔZ)n to the target position (x, y, z). (x,y,z)+(ΔX,ΔY,ΔZ)n=(x′,y′,z′)

[0046] The target position correction unit 53 uses the calculated pseudo target position (x', y', z') as the true target position and outputs an operation command to the robot arm 2.

[0047] In this embodiment, the target position correction unit 53 may derive an objective function (Δx, Δy, Δz) with the target position (x, y, z) as the explanatory variable, based on the calculated difference (ΔX, ΔY, ΔZ)n, as shown in the following equation. This objective function is a correction function that corrects the target position (x, y, z).

number

[0048] Furthermore, the target position correction unit 53 may derive objective functions (Δx, Δy, Δz) divided in the Z direction, as shown below, in order to obtain a more effective correction amount.

number

[0049] Note that the above formula is an example of dividing the data into three parts: Z=0, Z=50, and Z=100. However, it is not limited to this, and the number of divisions and the value of Z (division interval) can be arbitrary.

[0050] The target position correction unit 53 may calculate a pseudo target position (x', y', z') by adding the value of the derived objective function (Δx, Δy, Δz) to the target position (x, y, z). (x,y,z)+(Δx, Δy, Δz)=(x′,y′,z′)

[0051] The target position correction unit 53 uses the calculated pseudo target position (x', y', z') as the true target position and outputs an operation command to the robot arm 2.

[0052] Furthermore, the arithmetic processing unit 5 may further include an appropriateness determination unit 55 that determines whether the derived objective function equation (hereinafter referred to as the correction equation) is appropriate or not. The appropriateness determination unit 55 is one specific example of an appropriateness determination means.

[0053] The appropriateness judgment unit 55 may, for example, plot the correction formula using accurately known values ​​as explanatory variables, along with the results measured by the robot arm 2 (hereinafter referred to as the measurement results by the robot arm 2), on a graph and display it on the display unit 7.

[0054] The display unit 7 is one specific example of a display means. The display unit 7 is composed of, for example, a liquid crystal display device. The user can determine whether the correction formula is appropriate by comparing the correction formula with the measurement results from the robot arm 2 on the graph displayed on the display unit 7.

[0055] The suitability determination unit 55 may determine whether the correction formula is appropriate based on the correlation between the amount of error between the correction formula and the measurement results from the robot arm 2. More specifically, the suitability determination unit 55 may determine whether there is a correlation between the measurement results from the robot arm 2 and the correction formula by plotting them on a graph with the measurement location on the horizontal axis and the values ​​of Δx, Δy, and Δz on the vertical axis.

[0056] Figure 6 compares the measurement results obtained by the robot arm with the correction formula. In Figure 6, (a) is a comparison with respect to Δx, (b) is a comparison with respect to Δy, and (c) is a comparison with respect to Δz.

[0057] As shown in Figure 6, a correlation is observed between the measurement results from the robot arm 2 and the correction formula for Δx, Δy, and Δz, so it can be concluded that the correction formula is appropriate.

[0058] Furthermore, the suitability determination unit 55 may calculate a correlation coefficient value between the measurement results from the robot arm 2 and the correction formula based on the graph generated above. Based on this correlation value, the suitability determination unit 55 can visually determine whether the correction is appropriate within the area where it is actually to be applied. If the suitability determination unit 55 determines that the correlation coefficient value is high and above a predetermined value, it may determine that the correction formula is appropriate.

[0059] When the suitability determination unit 55 determines that the position is suitable, it sets the correction formula in the target position correction unit 53 of the arithmetic processing unit 5, thereby applying the correction each time and operating the robot arm 2.

[0060] As described above, according to this embodiment, the user can verify the absolute position accuracy of the robot arm 2 and easily improve it. Furthermore, the user can derive the correction formula and decide whether or not to perform correction using the derived correction formula, and can apply the correction formula to the teaching point or group of teaching points that they wish to correct. Moreover, even if some abnormality occurs in the robot arm 2 and it becomes unable to perform the intended operation, the user can easily recalibrate it.

[0061] Embodiment 2 In the robot system 1 according to this embodiment, the robot arm 2 itself may be used as a measuring instrument for object measurement.

[0062] The processing unit 5 sets the user coordinate system relative to the robot arm 2. The user places the object to be measured at a predetermined position near the robot arm 2. The processing unit 5 measures the measurement object 41 of the object in the user coordinate system by controlling the movement of the contact sensor 3 of the robot arm 2.

[0063] The arithmetic processing unit 5 uses the coordinates (x, y, z) of the measurement position as explanatory variables and calculates the correction amounts (Δx, Δy, Δz) using the correction formula.

[0064] The arithmetic processing unit 5 calculates the measurement position (x', y', z') of the object by subtracting the correction amounts (Δx, Δy, Δz) calculated above from the coordinates (x, y, z) of the measurement position. (x,y,z)-(Δx, Δy, Δz)=(x′,y′,z′)

[0065] Furthermore, the arithmetic processing unit 5 may use the above correction formula to diagnose a malfunction in the robot arm 2. For example, the arithmetic processing unit 5 may derive a correction formula in advance for when the robot arm 2 is functioning normally. The arithmetic processing unit 5 may determine whether or not the robot arm 2 is malfunctioning by comparing the correction formula for when the robot arm 2 is functioning normally with the correction formula derived at the present time. If the correction formula for when the robot arm 2 is functioning normally differs from the correction formula derived at the present time, the arithmetic processing unit 5 can determine that the robot arm 2 is malfunctioning at the present time.

[0066] If the robot arm 2 experiences a malfunction such as increased backlash due to aging, the robot arm 2 can be repaired based on the results of the above fault diagnosis, thereby improving its accuracy once again.

[0067] Furthermore, the processing unit 5 may also apply the above correction formula to the teaching points of the robot arm 2. For example, the user places the workpiece to be measured at a predetermined position near the robot arm 2.

[0068] The processing unit 5 controls the movement of the contact sensor 3 of the robot arm 2, thereby measuring the target position on the workpiece using the teaching points created offline.

[0069] The processing unit 5 uses the measured coordinates (x, y, z) of the target position as explanatory variables and calculates the correction amounts (Δx, Δy, Δz) using the correction formula.

[0070] The arithmetic processing unit 5 calculates an improved target position by adding correction amounts (Δx, Δy, Δz) to the target position (x, y, z). Using this improved target position, the arithmetic processing unit 5 can operate the robot arm 2 with higher precision.

[0071] While several embodiments of this disclosure have been described, these embodiments are presented as examples only and are not intended to limit the scope of the invention. These novel embodiments can be carried out in a variety of other forms, and various omissions, substitutions, and modifications can be made without departing from the spirit of the invention. These embodiments and their variations are included in the scope and spirit of the invention, as well as in the claims and their equivalents.

[0072] This disclosure also allows each of the processes performed by the robot system 1 described above to be realized by having a processor execute a computer program.

[0073] Programs can be stored and supplied to a computer using various types of non-transitory computer-readable media. Non-transitory computer-readable media include various types of tangible storage media. Examples of non-transitory computer-readable media include magnetic recording media (e.g., flexible disks, magnetic tapes, hard disk drives), magneto-optical recording media (e.g., magneto-optical disks), CD-ROMs (Read Only Memory), CD-Rs, CD-R / Ws, and semiconductor memory (e.g., mask ROMs, PROMs (Programmable ROMs), EPROMs (Erasable PROMs), flash ROMs, RAMs (random access memory)).

[0074] Programs may be supplied to a computer by various types of transient computer-readable medium. Examples of transient computer-readable medium include electrical signals, optical signals, and electromagnetic waves. Transitory computer-readable medium can be supplied to a computer via wired communication channels such as electric wires and optical fibers, or via wireless communication channels.

[0075] Each component of the robot system 1 according to this embodiment can be implemented not only by program, but also partially or entirely by dedicated hardware such as an ASIC (Application Specific Integrated Circuit) or FPGA (Field-Programmable Gate Array). [Explanation of symbols]

[0076] 1. Robot System 2 Robot Arms 3. Contact Sensor 4. Reference plate 5. Arithmetic Processing Unit 6. 3D measuring machine 7 Display section 21 Joints 41 Measurement Objects 42 Plate members 51 Information Acquisition Department 52 Measuring part 53 Target position correction section 54 Storage section 55 Appropriateness Judgment Department

Claims

1. Information acquisition means for acquiring positional information of each measurement object placed on a reference plate, A measuring means that controls a robot arm to bring the robot arm's contact sensor into contact with each measuring object of the reference plate placed at a predetermined position near the robot arm, thereby measuring and acquiring positional information of each measuring object. A target position correction means calculates the difference between the position information of each measurement object acquired by the information acquisition means and the position information of each measurement object acquired by the measurement means, and corrects the target position for the movement of the robot arm based on the calculated difference. Equipped with, Robot system.

2. A robot system according to claim 1, The system further includes a storage means for storing a correction amount map that associates the calculated difference with the position where each difference was taken. The aforementioned target position correction means is The distance between the target position and the position of each difference in the correction amount map is calculated, The difference at the position with the shortest calculated distance is identified, and this identified difference is used as the correction amount. The target position is corrected by adding the correction amount to the target position. Robot system.

3. A robot system according to claim 1, The aforementioned target position correction means is Based on the difference calculated above, the objective function with the target position as the explanatory variable is derived. The target position is corrected by adding the value of the derived objective function to the target position. Robot system.

4. A robot system according to claim 3, The system further includes a means for determining appropriateness, which plots the position information measured by the measurement means and the objective function on a graph, calculates a correlation coefficient between the position information measured by the measurement means and the objective function based on the graph, and determines whether the objective function is appropriate based on the calculated correlation coefficient. Robot system.

5. A robot system according to claim 4, The system further includes a display means for displaying a graph plotting the position information measured by the measurement means and the objective function. Robot system.