Computer systems, methods for adjusting geometric errors in robots, and non-temporary computer-readable media
A computer system automatically adjusts geometric errors in robots by using a touch probe to calculate and correct positional and orientation deviations, enhancing manufacturing line setup and modification efficiency without requiring a rotary table.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2023-02-27
- Publication Date
- 2026-03-30
AI Technical Summary
Existing methods for adjusting geometric errors in robots require manual, time-consuming operations and cannot be applied to equipment without a rotary table.
A computer system that automatically adjusts geometric errors by using a touch probe mounted on a robot's arm, calculating positional and orientation deviations without a rotary table, and generating corrected teaching data.
Enables efficient automatic adjustment of geometric errors in robots without a rotary table, improving setup and modification efficiency in manufacturing lines.
Smart Images

Figure 0007837291000004 
Figure 0007837291000005 
Figure 0007837291000006
Abstract
Description
[Technical Field]
[0001] This invention relates to a technique for adjusting the geometric errors of a robot performing a task. [Background technology]
[0002] In the manufacturing industry, there is a need to shorten the time required for setting up new lines and modifying existing lines in order to keep up with frequent changes in the business environment. When constructing lines using industrial robots, a teaching method in a virtual environment, generally called offline teaching, is used to shorten the design period during line setup and the downtime during line modification. However, this results in a discrepancy (geometric error) between the position and orientation of the robot taught in the virtual environment and the position and orientation in the actual machine environment, requiring adjustment work in the actual machine environment. Existing geometric error adjustment methods, such as the 6-point teaching method, calculate the geometric error by positioning the robot's tool tip at multiple reference points on the reference coordinate axis. This method requires manually and visually positioning the robot by directly operating it in the actual machine environment, which is time-consuming.
[0003] As background technology for this field, there is Japanese Patent Publication No. 2011-38902 (Patent Document 1). This publication describes a method for identifying geometric errors relating to the translational axes and rotational axes of a machine having two or more translational axes and one or more rotational axes using control means, which includes a measurement step of dividing the rotational axis into multiple angles and positioning a jig to be measured at multiple locations, and measuring the position of the jig to be measured in three-dimensional space using a position measurement sensor; an arc approximation step of approximating the multiple position measurement values measured in the measurement step with an arc; and an error calculation step of calculating the error of the center position of the rotational axis and / or the tilt error of the rotational axis, as well as the tilt error of the translational axis, from the arc approximated in the arc approximation step. [Prior art documents] [Patent Documents]
[0004] [Patent Document 1] Japanese Patent Publication No. 2011-38902 [Overview of the project] [Problems that the invention aims to solve]
[0005] Patent Document 1 describes a method for identifying geometric errors in equipment by positioning a jig to be measured at multiple locations and performing measurements using position measurement sensors. However, the method in Patent Document 1 assumes an equipment configuration in which the jig to be measured can be positioned at multiple locations by dividing the rotation axis into multiple angles, and therefore has the problem that it cannot be applied unless the equipment includes components such as a rotary table for rotating the jig to be measured.
[0006] The present invention aims to provide a technology for automatically adjusting geometric errors without using a rotary table or the like. [Means for solving the problem]
[0007] A representative example of the invention disclosed in this application is as follows: In other words, a computer system connected to a robot performing work, wherein the robot has an arm, the end of the arm has a rotating mechanism and a coupling part to which an end effector can be attached, a touch probe is installed on the coupling part at a predetermined distance from the rotation axis in a plane perpendicular to the rotation axis of the rotating mechanism, the computer system comprises a calculation unit, a storage device connected to the calculation unit, and an interface connected to the calculation unit, the storage device holds teaching data for controlling the robot according to the work content, and posture vector information for managing posture vectors representing the posture of the coupling part after control based on the teaching data, the calculation unit controls the robot based on the teaching data, rotates the rotating mechanism, controls the robot so that the touch probe contacts a reference point of a measurement object, performs a measurement process multiple times to record the position of the coupling part, calculates a plane passing through the position of the coupling part obtained by the multiple measurement processes, calculates the normal vector of the plane, and calculates the amount of adjustment for the deviation of the posture of the coupling part based on the normal vector and the posture vector. [Effects of the Invention]
[0008] According to the present invention, geometric errors can be automatically adjusted in equipment that does not have a rotary table. Other problems, configurations, and effects will be clarified by the following description of embodiments. [Brief explanation of the drawing]
[0009] [Figure 1] This figure shows an example of the system configuration of Example 1. [Figure 2A] This diagram illustrates the mounting position of the touch probe on the robot in Example 1. [Figure 2B] This diagram illustrates the mounting position of the touch probe on the robot in Example 1. [Figure 3] This figure shows an example of the data structure of the teaching information in Example 1. [Figure 4]It is a diagram showing an example of the data structure of the measurement control information of Example 1. [Figure 5] It is a diagram showing an example of the data structure of the measurement result information of Example 1. [Figure 6] It is a diagram showing an example of the data structure of the attitude vector information of Example 1. [Figure 7] It is a diagram showing an example of the data structure of the adjustment amount information of Example 1. [Figure 8] It is a diagram showing an example of the data structure of the correction instruction information of Example 1. [Figure 9] It is a flowchart explaining an example of the process executed by the geometric error adjustment system of Example 1. [Figure 10] It is a diagram explaining an example of the measurement process of Example 1. [Figure 11] It is a flowchart explaining an example of the attitude deviation adjustment process executed by the geometric error adjustment system of Example 1. [Figure 12] It is a diagram showing an example of the method for calculating the position adjustment amount by the geometric error adjustment system of Example 1. [Figure 13] It is a diagram showing an example of the method for calculating the attitude adjustment amount by the geometric error adjustment system of Example 1. [Figure 14] It is a diagram showing an example of the screen presented by the geometric error adjustment system of Example 1 to the user. [Figure 15] It is a diagram showing an example of the screen presented by the geometric error adjustment system of Example 1 to the user. [Figure 16] It is a diagram showing an example of the configuration of the system of Example 2. [Figure 17] It is a diagram showing an example of the data structure of the shape information of Example 2. [Figure 18] It is a diagram showing an example of the data structure of the measurement point information of Example 2. [Figure 19] It is a flowchart explaining an example of the reference point estimation process executed by the geometric error adjustment system of Example 2. [Figure 20] It is a diagram explaining an example of the method for estimating the reference point by the geometric error adjustment system of Example 2. [Modes for carrying out the invention]
[0010] The following describes a system for adjusting the geometric errors of robots in a production line, based on an embodiment and with reference to the drawings.
[0011] In the configuration of the invention described below, identical or similar components or functions are denoted by the same reference numerals, and redundant descriptions are omitted.
[0012] The positions, sizes, shapes, and ranges of each component shown in the drawings may not represent the actual positions, sizes, shapes, and ranges, in order to facilitate understanding of the invention. Therefore, the present invention is not limited to the positions, sizes, shapes, and ranges disclosed in the drawings. [Examples]
[0013] Example 1 describes a system for adjusting the geometric errors of robots in a production line.
[0014] (System Configuration) Figure 1 shows an example of the system configuration of Embodiment 1. The system consists of a geometric error adjustment system 100, a robot 160, and a measurement object 170. There may be two or more robots 160.
[0015] The robot 160 has an arm. The end of the arm has a coupling 161 to which an end effector is attached. A touch probe 163 is mounted on the coupling 161 via an offset jig 162. In actual operation, the end effector is attached to the coupling 161.
[0016] Here, we will describe the characteristics of the mounting position of the touch probe 163. Figures 2A and 2B illustrate the mounting position of the touch probe 163 on the robot 160 of Embodiment 1.
[0017] The coupling section 161 has a rotation mechanism for rotating the end effector, etc. The touch probe 163 is installed via an offset jig 162, with the distance between the rotation axis on a plane perpendicular to the rotation axis of the rotation mechanism and the touch probe 163 being at an arbitrary offset.
[0018] Figure 2A is a view of robot 160 in the ZX plane, and Figure 2B is a view of robot 160 in the XY plane. In the examples shown in Figures 2A and 2B, the touch probe 163 is positioned at an offset distance in the X-axis direction of the XY plane. Robot 160 can rotate the touch probe 163.
[0019] The measurement object 170 is an object to which the touch probe 163 makes contact, and a reference point is provided for the touch probe 163 to make contact.
[0020] The geometric error correction system 100 consists of computers such as personal computers and servers. The number of computers constituting the geometric error correction system 100 may be one or two or more. The geometric error correction system 100 includes, as a hardware configuration, an arithmetic unit 110, a storage device 120, an input device 130, and an output device 140.
[0021] The input device 130 includes a keyboard, mouse, touch panel, etc., and is a device for inputting various types of information. The output device 140 includes a network interface, display, etc., and is a device for outputting various types of information.
[0022] The storage device 120 is, for example, an HDD (Hard Disk Drive) and an SSD (Solid State Drive), and stores programs executed by the arithmetic unit 110, information used by the programs, and information generated by arithmetic processing.
[0023] The storage device 120 stores the program that implements the geometric error adjustment unit 111. The storage device 120 also stores the input information group input via the input device 130 and the output information group obtained by the calculation process. The input information group includes teaching information 121, measurement and control information 122, measurement result information 123, and attitude vector information 124. The output information group includes adjustment amount information 125 and correction teaching information 126.
[0024] The teaching information 121 is information for managing the position and orientation of the robot 160 that was taught offline. The measurement and control information 122 is information for managing the rotation angle of the rotation mechanism in the measurement process using the touch probe 163. The measurement result information 123 is information for managing the position of the robot 160 measured by the measurement process using the touch probe 163. The orientation vector information 124 is information for managing the vector (orientation vector) that represents the orientation of the robot 160 relative to a reference point after control has been performed based on the teaching data.
[0025] Here, the position of the robot 160 represents the position of the coupling part 161, and the orientation of the robot 160 represents the direction of the coupling part 161.
[0026] As will be described later, the deviation in the robot 160's posture is adjusted so that the estimated posture vector of the robot 160 matches the posture vector of the posture vector information 124.
[0027] The adjustment amount information 125 is information regarding the adjustment amount to correct positional and orientation deviations. The corrected teaching information 126 is information obtained by correcting the teaching information 121 based on the adjustment amount.
[0028] The arithmetic unit 110 is a CPU or the like, and executes programs stored in the memory device 120. The arithmetic unit 110 operates as a functional unit (module) that realizes a specific function by executing processing according to the program. In the following description, when the processing is described with the functional unit as the subject, it indicates that the arithmetic unit 110 is executing the program that realizes that functional unit. In Embodiment 1, the arithmetic unit 110 functions as a geometric error adjustment unit 111.
[0029] (Information data structure) Figure 3 shows an example of the data structure of the teaching information 121 in Example 1.
[0030] The teaching information 121 stores entries that include the work ID 301, position 302, and orientation 303. There is one entry for each work. In the following description, one entry will also be referred to as teaching data.
[0031] Task ID 301 is a field that stores the ID of the task.
[0032] Position 302 is a field that stores the position (teaching position) of the coupling portion 161. Position 302 stores, for example, the coordinates (x, y, z) of a three-dimensional Cartesian coordinate system. In this embodiment, position 302 stores the position of the coupling portion 161 where the end effector tool contacts the reference point.
[0033] Attitude 303 is a field that stores the attitude of the coupling unit 161 after control based on the teaching data (teaching attitude). Attitude 303 stores, for example, Euler angles (Roll, Pitch, Yaw).
[0034] Alternatively, instead of position and orientation, combinations of joint angles for the robot 160 may be stored.
[0035] Figure 4 shows an example of the data structure of the measurement and control information 122 in Example 1.
[0036] The measurement and control information 122 stores entries that include the control ID 401 and joint angle 402. There is one entry for each measurement and control. In the following description, one entry will also be referred to as control data.
[0037] Control ID 401 is a field that stores the ID of the measurement and control. Joint angle 402 is a field that stores the rotation angle of the rotation mechanism. In the case of a 6-axis robot arm, joint angle 402 stores the angle of the 6th joint.
[0038] In this embodiment, in order to calculate the plane used to estimate the orientation of the joint 161, the measurement control information 122 stores three or more entries with different rotation angles.
[0039] Alternatively, a rotation angle that does not interfere with surrounding equipment may be searched in advance using software such as a robot simulator and set in the measurement and control information 122.
[0040] Figure 5 shows an example of the data structure of the measurement result information 123 in Example 1.
[0041] The measurement result information 123 stores an entry that includes the result ID 501, operation ID 502, control ID 503, and measurement position 504. There is one entry for each measurement process.
[0042] Result ID 501 is a field that stores the entry ID. Work ID 502 and control ID 503 are the same fields as Work ID 301 and control ID 401.
[0043] The measurement position 504 is a field that stores the position of the coupling portion 161 when the tip of the touch probe 163 contacts the reference point. For example, the coordinates (x, y, z) of a three-dimensional Cartesian coordinate system are stored in the measurement position 504.
[0044] Figure 6 shows an example of the data structure of the attitude vector information 124 in Example 1.
[0045] The posture vector information 124 stores entries containing the work ID 601 and posture vector 602. There is one entry for each work.
[0046] Task ID 601 is the same field as Task ID 301. The attitude vector 602 is a field that stores the attitude vector representing the attitude of the joint 161 relative to the reference point. The attitude vector 602 stores a vector (x, y, z) in a three-dimensional Cartesian coordinate system.
[0047] Figure 7 shows an example of the data structure of the adjustment amount information 125 in Example 1.
[0048] The adjustment amount information 125 stores entries that include the work ID 701, position adjustment amount 702, and posture adjustment amount 703. There is one entry for each work.
[0049] Task ID 701 is the same field as Task ID 301. Position adjustment amount 702 is a field that stores the amount of adjustment of the taught position included in the teaching data. Attitude adjustment amount 703 is a field that stores the amount of adjustment of the taught attitude included in the teaching data.
[0050] Figure 8 shows an example of the data structure of the correction teaching information 126 in Example 1.
[0051] The correction teaching information 126 stores entries that include the work ID 801, position 802, and orientation 803. There is one entry for each work. In the following description, one entry will also be referred to as correction teaching data.
[0052] Task ID 801 is the same field as Task ID 301. Position 802 is a field that stores the corrected teaching position. Pose 803 is a field that stores the corrected teaching pose.
[0053] (Processing of geometric error correction system 100) Figure 9 is a flowchart illustrating an example of the process performed by the geometric error adjustment system 100 of Example 1. Figure 10 is a diagram illustrating an example of the measurement process of Example 1.
[0054] The geometric error adjustment system 100 performs the following processes when it receives an execution instruction or periodically. However, the triggers for execution are not limited to these. For example, the input or update of teaching information 121 may be used as the trigger for execution.
[0055] The geometric error adjustment unit 111 starts loop processing of the teaching data (step S101). The geometric error adjustment unit 111 acquires one teaching data from the teaching information 121.
[0056] The geometric error adjustment unit 111 starts loop processing of control data (step S102). The geometric error adjustment unit 111 acquires one control data item of measurement control information 122.
[0057] The geometric error adjustment unit 111 controls the robot 160 based on the teaching data (step S103).
[0058] The geometric error adjustment unit 111 rotates the rotation mechanism of the joint 161 of the robot 160 based on the control data (step S104). The geometric error adjustment unit 111 rotates the rotation mechanism while maintaining the position of the joints other than the joint 161.
[0059] The geometric error adjustment unit 111 controls the robot 160 to bring the touch probe 163 into contact with the reference point of the measurement object 170, based on the current position and orientation of the robot 160, and performs a measurement process to measure the position of the coupling part 161 (step S105).
[0060] Specifically, as shown in Figure 10, the geometric error adjustment unit 111 controls the robot 160 so that the coordinate system Ct set at the tip 1002 of the touch probe 163 coincides with the coordinate system Cw set at the reference point 1001.
[0061] In this embodiment, it is assumed that teaching data for bringing the touch probe 163 into contact with the reference point 1001 is set in the teaching information 121. In this case, the distance between the origins of coordinate system Ct and coordinate system Cw corresponds to the positional displacement (p), and the inclination of coordinate system Ct and coordinate system Cw corresponds to the orientation displacement (R).
[0062] The geometric error adjustment unit 111 registers the position of the coupling portion 161 of the robot 160, in the state where the touch probe 163 is in contact with the reference point, in the measurement result information 123 (step S106).
[0063] Specifically, the geometric error adjustment unit 111 adds an entry to the measurement result information 123 and sets the ID to the result ID 501 of the added entry. The geometric error adjustment unit 111 sets the IDs of the teaching data and control data to the work ID 502 and control ID 503 of the added entry. In addition, the geometric error adjustment unit 111 sets the measured position to the measurement position 504 of the added entry.
[0064] The geometric error adjustment unit 111 determines whether processing of all control data has been completed (step S107).
[0065] If processing of all control data has not been completed, the geometric error adjustment unit 111 returns to step S102 and performs the same processing.
[0066] Once processing of all control data is complete, the geometric error adjustment unit 111 executes attitude misalignment adjustment processing (step S108). Details of the attitude misalignment adjustment processing will be described later.
[0067] The geometric error adjustment unit 111 determines whether processing has been completed for all teaching data (step S109).
[0068] If processing of all teaching data has not been completed, the geometric error adjustment unit 111 returns to step S101 and performs the same processing.
[0069] Once processing is complete for all teaching data, the geometric error adjustment unit 111 terminates the process.
[0070] Figure 11 is a flowchart illustrating an example of the attitude misalignment adjustment process performed by the geometric error adjustment system 100 of Example 1. Figure 12 is a diagram illustrating an example of the method for calculating the position adjustment amount by the geometric error adjustment system 100 of Example 1. Figure 13 is a diagram illustrating an example of the method for calculating the attitude adjustment amount by the geometric error adjustment system 100 of Example 1.
[0071] The geometric error adjustment unit 111 calculates the position adjustment amount using the teaching data and multiple measurement results (step S201). Here, the method for calculating the position misalignment adjustment amount will be explained using Figure 12.
[0072] In Figure 12, position P teach This represents the position indicated by the teaching data, position P. ref represents the measurement location, and distance P pt This represents the position of the driver, etc., represented by TCP (Tool Center Point) and the offset of the touch probe 163. Here, position P teach , position P ref , distance P pt It is assumed that this is represented as a 3-dimensional vector in a Cartesian coordinate system.
[0073] (S201-1) The geometric error adjustment unit 111 selects one measurement result. The geometric error adjustment unit 111 adds distance P to the control data corresponding to the measurement result. pt Calculate.
[0074] (S201-2) The geometric error adjustment unit 111 calculates the positional displacement P using equation (1).
[0075]
number
[0076] The geometric error adjustment unit 111 calculates a position adjustment amount to eliminate the positional misalignment based on the amount of misalignment. For example, if the amount of misalignment P is represented as a three-dimensional vector in a Cartesian coordinate system, the position adjustment amount is the vector obtained by multiplying that vector by a negative number (i.e., -P).
[0077] (S201-3) The geometric error adjustment unit 111 adjusts the misalignment P of the TCP and touch probe 163. pt The position adjustment amount P is corrected based on this. For example, the position adjustment amount P is corrected as shown in equation (2).
[0078]
number
[0079] (S201-4) The geometric error adjustment unit 111 determines whether processing has been completed for all measurement results. If processing has not been completed for all measurement results, the geometric error adjustment unit 111 returns to S201-1.
[0080] (S201-5) Once processing of all measurement results is complete, the geometric error adjustment unit 111 calculates the average value of the position adjustment amount for each measurement result.
[0081] The above is a description of the process in step S201.
[0082] The geometric error adjustment unit 111 calculates a vector representing the attitude of the coupling unit 161 (estimated attitude vector) using multiple measurement results (step S202). Here, the method for calculating the estimated attitude vector will be explained using Figure 13.
[0083] Here, it is assumed that measurements were taken at rotation angles θ1, θ2, and θ3. As shown in Figure 13, the geometric error adjustment unit 111 calculates a two-dimensional plane 1310 that passes through positions 1301, 1302, and 1303 of the coupling unit 161 corresponding to the measurement results for each rotation angle. The geometric error adjustment unit 111 calculates the normal vector of the two-dimensional plane 1310 as the estimated attitude vector.
[0084] In addition, when there are four or more measurement results, the geometric error adjustment unit 111 obtains a two-dimensional plane from each combination of three points, and calculates the distance between the two-dimensional plane and the reference point 1001 by a method such as the least squares method. The geometric error adjustment unit 111 calculates the normal vector of the two-dimensional plane with the minimum distance as the estimated attitude vector.
[0085] The geometric error adjustment unit 111 calculates an attitude adjustment amount by using the reference attitude vector and the estimated attitude vector corresponding to the teaching data (step S203).
[0086] Specifically, the geometric error adjustment unit 111 calculates the angle formed by the reference attitude vector and the estimated attitude vector as the attitude adjustment amount. For example, the geometric error adjustment unit 111 calculates the rotation matrix R by using the Rodrigues' formula shown in Equation (3), and converts the rotation matrix R into Euler angles (Roll, Pitch, Yaw). Here, n ref represents the estimated attitude vector, n tgt represents the reference attitude vector, and I represents the identity matrix.
[0087]
Equation
[0088] In addition, when the attitude of the touch probe 163 is different from the attitude of the tool, the attitude error (angle) may be measured and corrected in advance.
[0089] The geometric error adjustment unit 111 registers the position adjustment amount and the attitude adjustment amount in the adjustment amount information 125 (step S204).
[0090] Specifically, the geometric error adjustment unit 111 adds an entry to the adjustment amount information 125, and sets the ID of the operation corresponding to the teaching data to the operation ID 701 of the added entry. The geometric error adjustment unit 111 sets the calculated position adjustment amount and attitude adjustment amount to the position adjustment amount 702 and the attitude adjustment amount 703 of the added entry.
[0091] The geometric error adjustment unit 111 generates corrected teaching data using the teaching data, position adjustment amount, and attitude adjustment amount, and registers it in the corrected teaching information 126 (step S205). After that, the geometric error adjustment unit 111 terminates the attitude misalignment adjustment process.
[0092] Specifically, the geometric error adjustment unit 111 adds an entry to the corrected teaching information 126 and sets the work ID 801 of the added entry to the work ID of the work corresponding to the teaching data. The geometric error adjustment unit 111 sets the corrected position and orientation to the position 802 and orientation 803 of the added entry.
[0093] Furthermore, corrective teaching data may be generated using only one of either the position adjustment amount or the attitude adjustment amount.
[0094] The geometric error adjustment unit 111 can measure multiple positions while maintaining the orientation by rotating the rotation mechanism of the coupling unit 161. The geometric error adjustment unit 111 can estimate the orientation of the coupling unit 161 from a two-dimensional plane passing through multiple positions. This allows for automatic adjustment of positional and orientation deviations, i.e., geometric errors. Therefore, the efficiency of geometric error adjustment work can be improved.
[0095] Furthermore, the present invention is not limited to the position indicated by the teaching data. The amount of movement can be known in advance from the position of the coupling part 161 and the position of the reference point 1001, as indicated by the teaching data. Therefore, the positional displacement can be estimated based on the amount of movement of the coupling part 161 after control based on the teaching data. The attitude displacement does not depend on the position indicated by the teaching data, so it can be calculated using a similar method.
[0096] (Output screen) Figure 14 shows an example of a screen presented to the user by the geometric error adjustment system 100 of Embodiment 1.
[0097] The geometric error adjustment system 100 presents the user with a screen 1400, as shown in Figure 14, via an output device 140. The screen 1400 includes a selection field 1401, display buttons 1402, and a display area 1403.
[0098] The selection field 1401 is for selecting teaching data. The display button 1402 is an operation button for instructing the display of the adjustment results of the teaching data. The display area 1403 is an area for displaying the adjustment results of the teaching data. The user operates the selection field 1401 to select the teaching data to be referenced and presses the display button 1402. The geometric error adjustment system 100 displays the adjustment results of the teaching data selected by the user in the display area 1403.
[0099] The display area 1403 includes display fields 1411, 1412, and 1413. Display field 1411 is a field that displays the ID of the teaching data. Display field 1412 is a field that displays an image of the state in which the touch probe 163 is in contact with the reference point 1001 of the measurement object 170. The image in display field 1412 is generated based on the teaching data, measurement control information 122, and measurement result information 123. Display field 1413 is a field that displays information regarding the position adjustment amount and attitude adjustment amount. The information displayed in display field 1413 is generated based on the teaching data, adjustment amount information 125, and correction teaching data.
[0100] In this embodiment, the rotation angle and reference orientation vector are assumed to be pre-set, but they may be made selectable by the user via the screen.
[0101] Figure 15 shows an example of a screen presented to the user by the geometric error adjustment system 100 of Embodiment 1.
[0102] The display screen 1500 includes a selection field 1501, display areas 1502 and 1503, a video playback button 1504, and an output button 1505.
[0103] Selection field 1501 is for selecting teaching data. Display area 1502 is for displaying a video showing the robot 160's movements based on the teaching data before adjustment. Display area 1503 is for displaying a video showing the robot 160's movements based on the adjusted teaching data (corrected teaching data).
[0104] The video playback button 1504 is an operation button used to instruct the system to display a video in the display areas 1502 and 1503. When the video playback button 1504 is pressed, the geometric error adjustment system 100 displays a video in the display areas 1502 and 1503 based on the teaching data and correction teaching data selected in the selection field 1501. The output button 1505 is an operation button used to instruct the system to write out the correction teaching data.
[0105] The user reviews the video and, once they confirm that the adjustments are correct, instructs the system to export the correction teaching data.
[0106] According to Example 1, geometric errors can be automatically adjusted without using a rotary table or the like. [Examples]
[0107] In Example 2, the geometric error adjustment system 100 estimates the reference point 1001 of the measurement object 170, which is different from Example 1. The following description will focus on the differences between Example 2 and Example 1.
[0108] (System Configuration) Figure 16 shows an example of the system configuration of Embodiment 2. The system consists of a geometric error adjustment system 100, a robot 160, and a measurement object 170. There may be two or more robots 160.
[0109] The arithmetic unit 110 in Example 2 differs from that in Example 1 in that it functions as a reference point estimation unit 1601. Furthermore, the storage device 120 in Example 2 differs from that in Example 1 in that it stores shape information 1611, measurement point information 1612, and pre-measurement result information 1613.
[0110] The reference point estimation unit 1601 estimates the reference point 1001. Shape information 1611 is information for managing the shapes of the touch probe 163 and the measurement object 170. Measurement point information 1612 is information for managing the measurement points of the measurement object 170. Pre-measurement result information 1613 is information for managing the results of the pre-measurement process for estimating the reference point 1001.
[0111] (Information data structure) Figure 17 shows an example of the data structure of the shape information 1611 in Example 2.
[0112] Shape information 1611 stores entries containing parameter 1701 and parameter value 1702. There is one entry for each parameter.
[0113] Parameter 1701 is a field that stores parameters related to the shapes of the offset jig 162 and the touch probe 163. Parameter value 1702 is a field that stores the values of the parameters. If the measurement object 170 is cylindrical, the shape information 1611 stores the radius and height. If the tip of the touch probe 163 is spherical, the shape information 1611 stores the radius of the sphere. The unit of the numerical value representing the shape is, for example, mm. Information regarding the position of the reference point 1001 on the measurement object 170 is also stored. The position of the reference point 1001 is, for example, the position in the coordinate system (relative coordinate system) of the measurement object 170.
[0114] Figure 18 shows an example of the data structure of measurement point information 1612 in Example 2.
[0115] Measurement point information 1612 stores entries including measurement point ID 1801 and measurement point 1802. There is one entry for each measurement point. In the following description, one entry will also be referred to as measurement point data.
[0116] Measurement point ID 1801 is a field that stores the ID of the measurement point. Measurement point 1802 is a field that stores the coordinates of the measurement point. For example, measurement point 1802 stores the coordinates in a 3D Cartesian coordinate system.
[0117] Since the pre-measurement result information 1613 has the same data structure as the measurement point information 1612, a detailed explanation will be omitted.
[0118] (Processing of geometric error correction system 100) The geometric error adjustment system 100 of Example 2 performs the following processes in addition to the processes described in Example 1. Figure 19 is a flowchart illustrating an example of the reference point estimation process performed by the geometric error adjustment system 100 of Example 2. Figure 20 is a diagram illustrating an example of the reference point estimation method by the geometric error adjustment system 100 of Example 2.
[0119] The reference point estimation unit 1601 starts loop processing of measurement point data (step S301). Specifically, the reference point estimation unit 1601 selects one measurement point data from the measurement point information 1612.
[0120] The reference point estimation unit 1601 controls the robot 160 based on the selected measurement point data (step S302).
[0121] The reference point estimation unit 1601 determines whether or not the touch probe 163 is in contact with the measurement object 170 (step S303).
[0122] If the touch probe 163 is in contact with the measurement object 170, the reference point estimation unit 1601 proceeds to step S305.
[0123] If the touch probe 163 is not in contact with the measurement object 170, the reference point estimation unit 1601 controls the robot 160 so that the touch probe 163 makes contact with the measurement object 170 (step S304), and then proceeds to step S305. At this time, the reference point estimation unit 1601 controls the robot 160 to maintain the measurement posture. It is assumed that a control method has been set in advance for each measurement point.
[0124] The reference point estimation unit 1601 measures the position of the joint 161 and registers it in the pre-measurement result information 1613 (step S305).
[0125] The reference point estimation unit 1601 determines whether processing has been completed for all measurement points (step S306).
[0126] If processing is not complete for all measurement points, the reference point estimation unit 1601 returns to step S301 and performs the same processing.
[0127] Once processing is complete for all measurement points, the reference point estimation unit 1601 estimates the reference point 1001 of the measurement object 170 based on the shape information 1611 and the pre-measurement result information 1613 (step S307). After that, the reference point estimation unit 1601 terminates the reference point estimation process.
[0128] Here, the method for estimating the reference point 1001 will be explained using Figure 20. Point 2000 represents the measurement point. The reference point estimation unit 1601 contacts the measurement point 2000 with the touch probe 163 and measures the position 2001 of the coupling part 161.
[0129] The reference point estimation unit 1601 corrects the position 2001 of the coupling portion 161 based on information regarding the position 2001 of the coupling portion 161 and the shape of the touch probe 163, etc.
[0130] The reference point estimation unit 1601 fits the shape 2003 of the measurement object 170 based on the positions 2001 of the multiple connection points 161. Fitting refers to the process of estimating the shape 1903 of the measurement object 170 such that the sum of the squares of the distances from the positions 2001 of the connection points 161 to the measurement object 170 is minimized, for example, by the least squares method.
[0131] The reference point estimation unit 1601 estimates the position of the reference point 1001 based on information regarding the shape 1903 of the measurement object 170 and the position of the reference point 1001.
[0132] The geometric error adjustment system 100 can automatically estimate the position of the reference point 1001. This allows for efficient processing to adjust for geometric errors.
[0133] It should be noted that the present invention is not limited to the embodiments described above, and various modifications are included. Furthermore, for example, the embodiments described above are detailed explanations of the configuration in order to clearly illustrate the present invention, and are not necessarily limited to those having all the configurations described. In addition, some of the configurations in each embodiment can be added to, deleted from, or replaced with other configurations.
[0134] Furthermore, each of the above-mentioned configurations, functions, processing units, processing means, etc., may be implemented in hardware, either partially or entirely, by designing them as integrated circuits, for example. The present invention can also be implemented by software program code that realizes the functions of the embodiment. In this case, a storage medium on which the program code is recorded is provided to a computer, and the processor of that computer reads the program code stored in the storage medium. In this case, the program code read from the storage medium itself realizes the functions of the embodiment described above, and the program code itself and the storage medium on which it is stored constitute the present invention. Examples of storage media used to supply such program code include flexible disks, CD-ROMs, DVD-ROMs, hard disks, SSDs (Solid State Drives), optical disks, magneto-optical disks, CD-Rs, magnetic tapes, non-volatile memory cards, ROMs, and the like.
[0135] Furthermore, the program code that implements the functions described in this embodiment can be implemented in a wide range of programming or scripting languages, such as assembler, C / C++, Perl, Shell, PHP, Python, and Java (registered trademark).
[0136] Furthermore, the program code for the software that implements the functions of the embodiment may be distributed via a network and stored in a storage means such as a computer's hard disk or memory, or in a storage medium such as a CD-RW or CD-R, and the computer's processor may read and execute the program code stored in the storage means or storage medium.
[0137] In the above-described embodiment, the control lines and information lines shown are those deemed necessary for explanation and do not necessarily represent all control lines and information lines in the actual product. All components may be interconnected. [Explanation of Symbols]
[0138] 100 Geometric Error Adjustment System 110 Arithmetic equipment 111 Geometric error adjustment section 120 Storage device 121 Instructional Information 122 Measurement and Control Information 123 Measurement Result Information 124 Pose vector information 125 Adjustment amount information 126 Correction Instruction Information 130 Input device 140 Output device 160 robots 161 Joint 162 Offset Jig 163 Touch Probe 170 Measurement Objects 1601 Reference point estimation part 1611 Shape information 1612 Measurement Point Information 1613 Pre-measurement results information
Claims
1. A computer system that connects to a robot performing a task, The robot has an arm, The end of the arm has a rotating mechanism and a coupling portion to which an end effector can be attached. A touch probe is installed in the coupling portion at a predetermined distance from the rotation axis in a plane perpendicular to the rotation axis of the rotation mechanism. The computer system comprises an arithmetic unit, a storage device connected to the arithmetic unit, and an interface connected to the arithmetic unit. The storage device holds teaching data for controlling the robot according to the work content, and attitude vector information for managing attitude vectors representing the attitude of the joint after control based on the teaching data. The aforementioned computing device is Based on the aforementioned teaching data, the robot is controlled, The robot is controlled to rotate the rotation mechanism so that the touch probe contacts the reference point of the measurement object, and the measurement process of recording the position of the coupling part is performed multiple times. The plane passing through the position of the joint obtained by the multiple measurement processes is calculated, The normal vector of the aforementioned plane is calculated, A computer system characterized by calculating the amount of adjustment for the attitude deviation of the joint based on the normal vector and the attitude vector.
2. A computer system according to claim 1, The aforementioned computing device is characterized by calculating an adjustment amount for the positional deviation of the coupling portion based on the position of the coupling portion obtained by multiple measurement processes.
3. A computer system according to claim 2, The aforementioned computing device is The teaching data is corrected using at least one of the adjustment amount for the attitude deviation and the adjustment amount for the position deviation. A computer system characterized by outputting corrected teaching information for managing the corrected teaching data.
4. A computer system according to claim 1, The aforementioned computing device is A pre-measurement process is performed by bringing the touch probe into contact with any position on the measurement object. A computer system characterized by estimating the reference point of the measurement object based on the results of the pre-measurement process.
5. A method for adjusting the geometric error of a robot, which is performed by a computer system connected to the robot performing the work, The robot has an arm, The end of the arm has a rotating mechanism and a coupling portion to which an end effector can be attached. A touch probe is installed in the coupling portion at a predetermined distance from the rotation axis in a plane perpendicular to the rotation axis of the rotation mechanism. The computer system comprises an arithmetic unit, a storage device connected to the arithmetic unit, and an interface connected to the arithmetic unit. The storage device holds teaching data for controlling the robot according to the work content, and attitude vector information for managing attitude vectors representing the attitude of the joint after control based on the teaching data. The method for adjusting the geometric error of the robot is as follows: The calculation device controls the robot based on the teaching data, The calculation device performs a measurement process multiple times, in which it rotates the rotation mechanism, controls the robot so that the touch probe contacts the reference point of the measurement object, and records the position of the coupling part. The calculation device performs the steps of calculating a plane that passes through the position of the joint obtained by the measurement process multiple times, The calculation device performs the steps of calculating the normal vector of the plane, A method for adjusting the geometric error of a robot, characterized in that the calculation device calculates an amount of adjustment for the deviation of the orientation of the joint based on the normal vector and the orientation vector.
6. A method for adjusting the geometric error of a robot according to claim 5, A method for adjusting the geometric error of a robot, characterized in that the calculation device includes a step of calculating an adjustment amount for the positional deviation of the joint based on the position of the joint obtained by multiple measurement processes.
7. A method for adjusting the geometric error of a robot according to claim 6, The calculation device performs the steps of correcting the teaching data using at least one of the adjustment amount for attitude deviation and the adjustment amount for position deviation, A method for adjusting the geometric error of a robot, characterized in that the computing device outputs corrected teaching information for managing the corrected teaching data.
8. A method for adjusting the geometric error of a robot according to claim 5, The calculation device performs a pre-measurement process in which it brings the touch probe into contact with an arbitrary position on the measurement object. A method for adjusting the geometric error of a robot, characterized in that the calculation device includes the step of estimating a reference point of the measurement object based on the results of the pre-measurement process.
9. A non-temporary computer-readable medium for storing a program to be executed by a computer connected to a robot performing a task, The robot has an arm, The end of the arm has a rotating mechanism and a coupling portion to which an end effector can be attached. A touch probe is installed in the coupling portion at a predetermined distance from the rotation axis in a plane perpendicular to the rotation axis of the rotation mechanism. The computer holds teaching data for controlling the robot according to the work content, and attitude vector information for managing attitude vectors representing the attitude of the joint after control based on the teaching data. The aforementioned program, A procedure for controlling the robot based on the aforementioned teaching data, A procedure for performing a measurement process multiple times, which involves rotating the rotation mechanism, controlling the robot so that the touch probe contacts a reference point of the measurement object, and recording the position of the coupling part, A procedure for calculating a plane that passes through the position of the joint obtained by multiple measurement processes, A procedure for calculating the normal vector of the aforementioned plane, A non-temporary computer-readable medium characterized by causing a computer to perform a procedure for calculating an adjustment amount for the attitude deviation of the joint based on the normal vector and the attitude vector.
10. A non-temporary computer-readable medium according to claim 9, The program is a non-temporary computer-readable medium characterized by causing the computer to execute a procedure for calculating the amount of adjustment for the positional deviation of the joint based on the position of the joint obtained by multiple measurement processes.
11. A non-temporary computer-readable medium according to claim 10, A procedure for correcting the teaching data using at least one of the adjustment amount for the attitude deviation and the adjustment amount for the position deviation, A non-temporary computer-readable medium characterized by causing a computer to execute a procedure for outputting corrected teaching information for managing the corrected teaching data.
12. A non-temporary computer-readable medium according to claim 9, A procedure for performing a pre-measurement process in which the touch probe is brought into contact with any position on the measurement object, A non-temporary computer-readable medium characterized by causing a computer to perform a procedure for estimating the reference point of the measurement object based on the results of the aforementioned pre-measurement process.
Citation Information
Patent Citations
Automatic calibration system and calibration method thereof for robot space object pose
CN111216115A
Industrial robot calibration method and industrial robot device
JP1995186073A
Error calculation method for working machine having rotary shaft
JP2005061834A
Error compensation method for coordinate measuring machine with articulated probe head
JP2007512512A
Method and System for Providing Improved Accuracy in Articulated Robots Through Kinematic Robot Model Parameter Determination
JP2008522836A