Robot control method and system
The computer-controlled robot system addresses inaccuracies in workpiece placement by synchronizing corrections with gripping mechanism states, achieving precise positioning and orientation on processing machines.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- HITACHI LTD
- Filing Date
- 2023-02-06
- Publication Date
- 2026-05-11
AI Technical Summary
Existing methods for correcting the position and orientation of a workpiece on a processing machine are prone to inaccuracies due to tolerances in workpiece shape, gripping posture errors, robot installation errors, and control errors, leading to potential failures and reduced processing accuracy.
A computer-controlled robot system that acquires operational information from both the robot and processing machine, performs position and orientation corrections based on real-time operational states, and adjusts the correction process according to the opening and closing states of the gripping mechanism to ensure precise placement.
The system achieves high-precision correction of workpiece position and orientation, minimizing variations and ensuring accurate placement on the processing machine, even with distorted workpiece shapes and varying operational speeds.
Smart Images

Figure 0007856591000001 
Figure 0007856591000002 
Figure 0007856591000003
Abstract
Description
Technical Field
[0001] The present invention relates to a control technology for a robot that performs an operation of installing a workpiece on a processing machine.
Background Art
[0002] In the manufacturing industry, a robot that installs a workpiece on a chuck mechanism of a processing machine is utilized. The robot performs an operation of installing the workpiece on the chuck mechanism based on information regarding the gripping posture of the workpiece and the installation posture of the workpiece with respect to the chuck mechanism.
[0003] Due to tolerances in the outer shape of the workpiece, errors in the gripping posture, installation errors of the robot, control errors of the movable mechanism of the robot, etc., the installation posture of the workpiece with respect to the chuck mechanism may deviate from the assumption. When a large force due to the deviation is generated between the robot and the chuck mechanism, problems such as failures of the robot and the chuck mechanism, and deterioration of processing accuracy occur.
Prior Art Documents
Patent Documents
[0004]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0005] As a technique for correcting the position and orientation of a workpiece to eliminate misalignment, the technique described in Patent Document 1 is known. Patent Document 1 describes a system in which "a robotic device is controlled to correct the position and orientation of the workpiece relative to a machine tool based on the output of a force sensor" (see Claim 1 of Patent Document 1). Patent Document 1 also describes "moving a workpiece gripping mechanism parallel to the vertical center line of the chuck surface of the machine tool's chuck mechanism, and correcting the orientation of the workpiece gripping mechanism so as to reduce the force acting in the direction perpendicular to the vertical center line while pressing the workpiece against the chuck surface with a predetermined force, and correcting the position of the workpiece gripping mechanism along the direction perpendicular to the vertical center line so as to reduce the force acting in the direction perpendicular to the vertical center line in conjunction with the closing operation of the chuck mechanism" (see Claim 4 of Patent Document 1).
[0006] The technology described in Patent Document 1 has the following problems: (1) If the shape of the end face of the workpiece pressed against the chuck surface is distorted, the correction method described in Patent Document 1 will result in variations in the posture of the workpiece after correction. (2) Patent Document 1 does not take into account the difference between the opening and closing speed of the chuck mechanism and the control speed of the robot. If the control speed of the robot is faster than the opening and closing speed of the chuck mechanism, the workpiece will move away from the jaws of the chuck mechanism due to the correction of the position and posture of the workpiece by the robot. As a result, the value of the force sensor will decrease, and the correction of the position and posture of the workpiece will be completed before the chuck mechanism closes. Therefore, there is a possibility that the position and posture of the workpiece will not be corrected properly.
[0007] This invention provides a robot control method that corrects the position and orientation of a workpiece installed on a processing machine with high precision. [Means for solving the problem]
[0008] A representative example of the invention disclosed in this application is as follows: That is, a method for controlling a robot, performed by a computer, wherein the computer has a computing device, a storage device connected to the computing device, and a network interface connected to the computing device, and is connected to a robot having a hand for gripping a workpiece, and a processing machine having a gripping mechanism for gripping the workpiece, and the method for controlling the robot includes: a first step in which the computer acquires first operational information relating to the operating state of the robot and second operational information relating to the operating state of the processing machine; a second step in which the computer controls the robot to cause the robot to perform the task of gripping the workpiece and placing the workpiece in the gripping mechanism, wherein the second step includes: a third step in which the computer determines whether to start a first correction process to correct the position and orientation of the workpiece relative to the gripping mechanism based on the second operational information; a fourth step in which the computer performs the first correction process using the first operational information and the second operational information; and a fifth step in which the computer determines whether to terminate the first correction process based on the second operational information. The third step includes a step in which the computer starts the first correction process when the closing operation of the gripping mechanism is started, and the fifth step includes a step in which the computer ends the first correction process when the closing operation of the gripping mechanism is completed. . [Effects of the Invention]
[0009] According to one embodiment of the present invention, the robot can correct the position and orientation of the workpiece placed on the processing machine with high precision. Problems, configurations, and effects other than those described above will be clarified by the following description of embodiments. [Brief explanation of the drawing]
[0010] [Figure 1] This is a diagram showing an example of the system configuration of Example 1. [Figure 2] This figure shows an example of the operation in the system of Example 1. [Figure 3] This figure shows an example of the data structure of the work information in Example 1. [Figure 4] This figure shows an example of the data structure of the processing machine information in Example 1. [Figure 5] This figure shows an example of the data structure of posture information in Example 1. [Figure 6] It is a diagram showing an example of the data structure of the correction model information of Example 1. [Figure 7] It is a diagram showing an example of the data structure of the performance information of Example 1. [Figure 8A] It is a flowchart for explaining an example of the work control process executed by the computer of Example 1. [Figure 8B] It is a flowchart for explaining an example of the work control process executed by the computer of Example 1. [Figure 9A] It is a diagram showing a specific example of the correction process executed by the computer of Example 1. [Figure 9B] It is a diagram showing a specific example of the correction process executed by the computer of Example 1. [Figure 10] It is a diagram showing an example of the screen presented by the computer of Example 1. [Figure 11] It is a diagram showing an example of the screen presented by the computer of Example 1. [Figure 12] It is a diagram showing an example of the data structure of the correction model information of Example 2.
Mode for Carrying Out the Invention
[0011] Hereinafter, embodiments of the present invention will be described with reference to the drawings. However, the present invention is not construed as being limited to the description of the embodiments shown below. Those skilled in the art can easily understand that the specific configuration can be changed without departing from the spirit or gist of the present invention.
[0012] In the configuration of the invention described below, the same or similar configurations or functions are denoted by the same reference numerals, and redundant descriptions are omitted.
[0013] Expressions such as "first", "second", "third", etc. in this specification and the like are attached for identifying components, and do not necessarily limit numbers or orders.
[0014] In the drawings and the like, the positions, sizes, shapes, and ranges of each component shown 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 and the like.
Embodiment
[0015] FIG. 1 is a diagram showing a configuration example of the system of Embodiment 1. The system is composed of a computer 100, a robot 101, and a processing machine 102. The number of the computer 100, the robot 101, and the processing machine 102 may be two or more. The computer 100, the robot 101, and the processing machine 102 are connected directly or via a network.
[0016] Based on the control information transmitted from the computer 100, the robot 101 performs operations such as installation of the workpieceThe controller 142 controls the work device group 141 based on control information received from the computer 100. For example, the controller 142 moves the hand by controlling the drive motors that connect the links that function as joints, according to the control information. The controller 142 transmits operational information to the computer 100, including the joint angles, angular velocities, and angular accelerations, as well as the torque and current values of the drive motors. The controller 142 may also transmit measured data to the computer 100 as operational information.
[0020] The machining center 102 performs machining operations using the workpiece 201 based on control information transmitted from the computer 100. The machining center 102 is equipped with a group of work devices 150 and a controller 151.
[0021] The working device group 150 is a group of devices that perform machining operations using the workpiece 201. The working device group 150 includes a gripping mechanism 160 such as a chuck. The gripping mechanism 160 grips the workpiece 201 at least one of a point, a line, and a surface.
[0022] The controller 151 controls the work device group 150 based on control information received from the computer 100. The controller 151 transmits operational information, including information regarding the opening and closing control of the gripping mechanism 160, to the computer 100.
[0023] The computer 100 comprises an arithmetic unit 110, a storage device 111, a communication device 112, an input device 113, and an output device 114. Each hardware element is connected, for example, via an internal bus, but is not limited to this method.
[0024] The input device 113 is a device for inputting data and commands to the computer 100. Examples of input devices include a keyboard and a mouse. The output device 114 is a device for outputting control value change results, etc. Examples of output devices include a display and a printer. The communication device 112 is a device for communicating with external devices, such as a NIC (Network Interface Card).
[0025] The storage device 111 is a device that stores programs and information executed by the arithmetic unit 110. The storage device 111 is, for example, an HDD (Hard Disk Drive), an SSD (Solid State Drive), etc. The storage device 111 also stores information input via the input device 113 and the calculation results of the programs. Furthermore, the storage device 111 is also used as a work area.
[0026] The storage device 111 stores work information 120, processing machine information 121, posture information 122, correction model information 123, and performance information 124.
[0027] Work information 120 is information for managing the content of the work performed by the robot 101. The data structure of work information 120 is explained using Figure 3. Processing machine information 121 is information for managing the state of the processing machine 102. The data structure of processing machine information 121 is explained using Figure 4. Posture information 122 is information for managing the position and posture of the robot 101 during the work. The data structure of posture information 122 is explained using Figure 5.
[0028] The correction model information 123 is information for managing the correction model that realizes the correction of the position and orientation of the workpiece 201 relative to the gripping mechanism 160. The data structure of the correction model information 123 will be explained with reference to Figure 6.
[0029] Performance information 124 is information for managing the performance of correction control. The data structure of performance information 124 is explained using Figure 7.
[0030] The arithmetic unit 110 is a device that controls the computer 100, and is, for example, a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), and an FPGA (Field Programmable Gate Array). The arithmetic unit 110 executes a program stored in the storage device 111. By executing processing according to the program, the arithmetic unit 110 operates as a functional unit (module) that realizes a specific function. In the following description, when the processing is described with a functional unit as the subject, it indicates that the arithmetic unit 110 is executing a program that realizes that functional unit. In Embodiment 1, the arithmetic unit 110 functions as a control unit 130 and an acquisition unit 131.
[0031] The control unit 130 performs various controls related to the work. The acquisition unit 131 acquires information (operational information) related to the operating status of the robot 101 and the processing machine 102. For example, the acquisition unit 131 acquires measurement data as operational information for the robot 101, and also acquires control signals inside the processing machine 102 or control parameters of the work device group 150 as operational information for the processing machine 102. The acquisition unit 131 may also acquire operational information from devices other than the robot 101 and the processing machine 102. For example, the acquisition unit 131 may acquire images taken by a camera installed in the workspace as operational information for the robot 101 and the processing machine 102. In this case, the acquisition unit 131 performs information processing such as data conversion and data analysis as necessary to identify the operating status of the robot 101 and the processing machine 102.
[0032] Furthermore, regarding the functional units of the computer 100, multiple functional units may be combined into a single functional unit, or a single functional unit may be divided into multiple functional units according to its function.
[0033] Figure 2 shows an example of the work performed in the system of Example 1. Figure 2 shows the robot 101 and processing machine 102 installed in three-dimensional space, viewed from the XZ plane.
[0034] The robot 101 grasps the workpiece 201 using the hand 200 and moves the workpiece 201 to place it on the gripping mechanism 160. The gripping mechanism 160 grasps the workpiece 201 using the claws 202 and performs the machining operation.
[0035] Figure 3 shows an example of the data structure of the work information 120 in Example 1.
[0036] The work information 120 stores an entry that includes the work name 301, the correction model name 302, and the work details 303. There is one entry for each work. Note that the fields included in the entry are not limited to those mentioned above. It may not include any of the fields mentioned above, or it may include other fields.
[0037] Task Name 301 is a field that stores the name of the task. Correction Model Name 302 is a field that stores the name of the correction model used in the task. Task Details 303 is a field that stores the details of the task. A task is defined as a sequence of elemental tasks. The Task Details 303 stores the sequence of elemental tasks.
[0038] Figure 4 shows an example of the data structure of the processing machine information 121 in Example 1.
[0039] The processing machine information 121 stores an entry that includes the processing machine name 401, the type of opening / closing operation 402, the elapsed time 403, the change time 404, and the estimated opening / closing state 405. There is one entry for each processing machine 102. Note that the fields included in the entry are not limited to those described above. It may not include any of the fields described above, or it may include other fields.
[0040] The machine name field 401 stores the name of machine 102.
[0041] The Open / Close Operation Type 402 is a field that stores the type of operation of the gripping mechanism 160. If the operation information of the processing machine 102 includes information indicating that an operation to open the gripping mechanism 160 has started, such as a start signal for opening the gripping mechanism 160, the acquisition unit 131 sets the Open / Close Operation Type 402 to "Open". If the operation information of the processing machine 102 includes information indicating that an operation to close the gripping mechanism 160 has started, such as a start signal for closing the gripping mechanism 160, the acquisition unit 131 sets the Open / Close Operation Type 402 to "Closed".
[0042] The elapsed time 403 is a field that stores the elapsed time since the start of the operation to open the gripping mechanism 160 or the operation to close the gripping mechanism 160 was detected.
[0043] The change time 404 is a field that stores the time (change time) required for opening or closing the gripping mechanism 160. The value of change time 404 is preset.
[0044] The estimated open / closed state 405 is a field that stores the estimated state of the opening / closing operation of the gripping mechanism 160. For example, if the elapsed time is less than the change time, the acquisition unit 131 sets the estimated open / closed state 405 to a value indicating that the operation corresponding to the opening / closing operation type 402 is being performed. If the elapsed time is greater than the change time, the acquisition unit 131 sets the estimated open / closed state 405 to a value indicating that the operation corresponding to the opening / closing operation type 402 has been completed.
[0045] Figure 5 shows an example of the data structure of the posture information 122 in Example 1.
[0046] The posture information 122 stores an entry that includes ID 501, posture name 502, hand position 503, and hand posture 504. There is one entry for each posture. Note that the fields included in the entry are not limited to those described above. It may not include any of the fields described above, or it may include other fields.
[0047] ID501 is a field that stores the entry's identification information. Posture name502 is a field that stores the name of the posture. Work content303 may include elemental work that includes the name of the posture.
[0048] The hand position 503 is a field that stores the three-dimensional coordinates indicating the position of the hand 200. The hand attitude 504 is a field that stores the angles (yaw angle, pitch angle, roll angle) indicating the attitude of the hand 200.
[0049] When the control unit 130 performs an element operation that includes the name of the posture, it refers to the posture information 122 to obtain information on the position and posture of the hand 200. Based on the current position and posture of the hand 200 and the acquired position and posture, the control unit 130 generates a trajectory for the hand 200. For example, the trajectory is generated using known techniques such as RRT (Rapidly exploring random tree) and PTP (point-to-point).
[0050] Note that trajectory information may be stored in the attitude information 122 beforehand. Also, the computer 100 does not need to hold the attitude information 122. In this case, the computer 100 calculates the position and attitude of the robot 101 from the position of the workpiece 201, etc.
[0051] Figure 6 shows an example of the data structure of the correction model information 123 in Example 1.
[0052] The correction model information 123 stores an entry that includes ID 601, correction model name 602, position and orientation correction completion condition 603, grip position correction completion condition 604, interruption condition 605, and processing time limit 606. There is one entry for each correction model. Note that the fields included in the entry are not limited to those described above. It may not include any of the fields described above, or it may include other fields.
[0053] ID601 is a field that stores the entry's identification information. Correction Model Name602 is a field that stores the name of the correction model.
[0054] The position and orientation correction completion condition 603 is a field that stores the completion conditions for position and orientation correction to correct the position and orientation of the workpiece 201 relative to the gripping mechanism 160. The position and orientation correction completion condition 603 stores conditions related to the estimated state of the opening and closing operation of the gripping mechanism 160. The control unit 130 terminates the movement and orientation correction when the estimated opening / closing state 405 is "closed".
[0055] The gripping position correction termination condition 604 is a field that stores the termination condition for gripping position correction to correct the gripping position of the workpiece 201 of the gripping mechanism 160. The gripping position correction termination condition 604 stores threshold values for the X, Y, and Z axes in the relative coordinate system of the hand 200. The control unit 130 terminates gripping position correction if the force values for each of the X, Y, and Z axes are greater than the threshold set in the position and orientation correction termination condition 603.
[0056] Interruption condition 605 is a field that stores the conditions for interrupting the correction. Interruption condition 605 stores the threshold values for the X, Y, and Z axes in the relative coordinate system of the hand 200. The control unit 130 interrupts the correction if any of the force values for the X, Y, or Z axes are greater than the threshold set in interruption condition 605.
[0057] The processing time limit 606 is a field that stores the upper limit of the processing time required for the correction. The control unit 130 terminates the correction if the processing time is greater than the value of the processing time limit 606.
[0058] Figure 7 shows an example of the data structure of the performance information 124 in Example 1.
[0059] The performance information 124 stores an entry that includes the work name 701, position and orientation correction amount 702, gripping position correction amount 703, peak value 704, and final value 705. There is one entry for each work. Note that the fields included in the entry are not limited to those mentioned above. It may not include any of the fields mentioned above, or it may include other fields.
[0060] Task name 701 is a field that stores the name of the task.
[0061] The position and attitude correction amount 702 is a field that stores the correction amount in position and attitude correction. The position and attitude correction amount 702 stores the amount of movement of the hand 200 along the X, Y, and Z axes, as well as the amount of change in the yaw angle, pitch angle, and roll angle.
[0062] The gripping position correction amount 703 is a field that stores the correction amount in gripping position correction. The gripping position correction amount 703 stores the movement amounts of the hand 200 along the X, Y, and Z axes. Since the posture of the workpiece 201 is not corrected in gripping position correction, the gripping position correction amount 703 does not include the changes in yaw angle, pitch angle, and roll angle.
[0063] The peak value 704 is the field that stores the maximum force value during the operation. The final value 705 is the field that stores the force value at the completion of the operation.
[0064] Figures 8A and 8B are flowcharts illustrating an example of the work control process performed by the computer 100 in Example 1. Figures 9A and 9B show specific examples of the correction process performed by the computer 100 in Example 1.
[0065] This section describes the control process for the robot 101 to grasp the workpiece 201 and place the workpiece 201 on the processing machine 102.
[0066] The control unit 130 controls the workpiece gripping posture of the robot 101 based on the robot's operation information, work information 120, and posture information 122 (step S101). For example, the control unit 130 generates a trajectory for transitioning from the current position and posture of the hand 200 to the workpiece gripping posture, generates control information for the robot 101 based on the trajectory, and transmits the control information.
[0067] The control unit 130 controls the workpiece placement posture of the robot 101 based on the robot's operation information, work information 120, and posture information 122 (step S102). For example, the control unit 130 generates a trajectory for transitioning from the current position and posture of the hand 200 to the workpiece placement posture, generates control information for the robot 101 based on the trajectory, and transmits the control information.
[0068] Here, the positional relationship between the robot 101's hand 200, gripping mechanism 160, and workpiece 201 is assumed to be as shown in (State 1) of Figure 9A. When the gripping mechanism 160 is closed in the positional relationship shown in (State 1), a large force acts between the hand 200 and the gripping mechanism 160, which may cause the hand 200 to malfunction. Therefore, it is necessary to correct the position and orientation of the workpiece 201.
[0069] The control unit 130 refers to the machine information 121 and determines whether or not to start correcting the position and orientation (step S103).
[0070] Specifically, the control unit 130 determines whether the opening / closing operation type 402 of the entry corresponding to the processing machine 102 on which the workpiece 201 is placed is "closed". If the opening / closing operation type 402 is "closed", the control unit 130 starts correcting the position and orientation. That is, as shown in (State 2) of Figure 9A, when the gripping mechanism 160 starts closing, the control unit 130 starts correcting the position and orientation.
[0071] If the opening / closing operation type 402 is "open", the control unit 130 returns to step S103 after a certain period of time has elapsed.
[0072] If the opening / closing operation type 402 is "closed", the control unit 130 starts correcting the position and orientation and calculates the correction amount for the position and orientation of the workpiece 201 based on the position, orientation, and force value of the robot 101 (step S104).
[0073] In position and orientation correction, the insertion orientation of the workpiece 201 relative to the gripping mechanism 160 is corrected while taking into account the forces acting on the robot 101. For example, the control unit 130 calculates the amount of correction for the position and orientation of the workpiece 201 so that the force value becomes smaller and the center of gravity of the workpiece 201 is at a predetermined position on the gripping mechanism 160. Here, the predetermined position of the gripping mechanism 160 refers to the position in the XY plane of Figure 2.
[0074] The control unit 130 transmits correction information to the robot 101, including the position and orientation of the hand 200 corrected based on the correction amount (step S105). The robot 101 moves and rotates the hand 200 based on the correction information, as shown in (state 3) of Figure 9A.
[0075] The control unit 130 determines whether or not to complete the position and orientation correction based on the operation information of the robot 101 and the correction model information 123 (step S106).
[0076] Specifically, the control unit 130 determines whether the estimated open / closed state 405 of the entry corresponding to the processing machine 102 on which the workpiece 201 is placed is "closed". That is, as shown in (state 4) of Figure 9A, when the gripping mechanism 160 has completed the closing operation, the control unit 130 terminates the position and orientation correction.
[0077] If the position and attitude correction completion condition 603 is not met, the control unit 130 returns to step S104 and performs the same process.
[0078] If the position and orientation correction completion condition 603 is met, the control unit 130 refers to the processing machine information 121 and determines whether or not to start correcting the gripping position (step S107).
[0079] Specifically, the control unit 130 determines whether the opening / closing operation type 402 of the entry corresponding to the processing machine 102 on which the workpiece 201 is installed is "open". If the opening / closing operation type 402 is "open", the control unit 130 starts correcting the gripping position. That is, as shown in (state 5) of Figure 9B, when the gripping mechanism 160 starts opening, the control unit 130 starts correcting the gripping position.
[0080] After the start of gripping position correction, the control unit 130 calculates the correction amount for the gripping position of the workpiece 201 based on the position, orientation, and force value of the robot 101 (step S108).
[0081] In the gripping position correction, the insertion depth of the workpiece 201 into the gripping mechanism 160 is corrected so that the workpiece 201 does not fall out of the gripping mechanism 160. For example, the control unit 130 calculates the amount of correction for the gripping position of the workpiece 201 so that the force value acting on the workpiece 201 due to contact with the gripping mechanism 160 is greater than a predetermined threshold, and so that the current position and orientation of the workpiece 201 can be maintained. Here, the insertion depth refers to the position in the Z direction in Figure 2.
[0082] The control unit 130 transmits correction information to the robot 101, including the position and orientation of the hand 200 corrected based on the correction amount (step S109). Based on the correction information, the robot 101 moves the hand 200 in a direction that pushes the workpiece 201 into the gripping mechanism 160, as shown in (state 6) of Figure 9B.
[0083] The control unit 130 determines whether or not to complete the correction of the gripping position based on the operation information of the robot 101 and the correction model information 123 (step S110).
[0084] Specifically, the control unit 130 determines whether the force values of the X, Y, and Z axes in the relative coordinate system of the hand 200 are greater than the values of the position and orientation correction completion condition 603. That is, as shown in (state 7) of Figure 9B, if the force with which the workpiece 201 is pressed against the gripping mechanism 160 is greater than the threshold, i.e., if the workpiece 201 is inserted sufficiently deep into the gripping mechanism 160, the control unit 130 terminates the gripping position correction.
[0085] Furthermore, if the interruption conditions are met during position and orientation correction, or if the execution time exceeds the processing time limit of 606, the control unit 130 will interrupt the correction and output an error. The same control is performed for gripping position correction.
[0086] The control unit 130 determines whether or not the placement of the workpiece 201 onto the gripping mechanism 160 has been completed (step S111).
[0087] Specifically, the control unit 130 determines whether the estimated open / closed state 405 of the entry corresponding to the processing machine 102 on which the workpiece 201 is placed is "closed". If the estimated open / closed state 405 is "closed", the control unit 130 determines that the placement of the workpiece 201 to the gripping mechanism 160 is complete.
[0088] If the workpiece 201 has not been placed on the gripping mechanism 160, the control unit 130 returns to step S111 after a certain period of time has elapsed.
[0089] Once the workpiece 201 has been successfully placed on the gripping mechanism 160, the control unit 130 controls the robot 101 to return it to its initial position (step S112). The control unit 130 also outputs the processing result (step S113) and terminates the process.
[0090] Figures 10 and 11 show examples of screens displayed by the computer 100 of Embodiment 1.
[0091] Screen 1000 is a screen that displays information about the correction being performed. Screen 1000 includes a display area 1001 and an interrupt button 1002.
[0092] Display area 1001 shows the name of the correction operation, the type of correction, and the amount of correction. The interrupt button 1002 is an operation button used to interrupt the correction.
[0093] Screen 1100 is a screen that displays information regarding the correction results. Screen 1100 includes display fields 1101, 1102, and 1103.
[0094] Display field 1101 is for displaying performance information 124. Only a portion of the performance information 124 may be displayed in display field 1101. Display field 1102 is for displaying an image that reproduces the movement of the robot 101 after correction. Display field 1103 is for displaying a graph showing the force values during operation.
[0095] Position and orientation correction can suppress variations in the position and orientation of the workpiece 201, even if there is distortion in the shape of the end face of the workpiece 201 that contacts the gripping mechanism 160. Therefore, the workpiece 201 can be placed on the gripping mechanism 160 in the correct position and orientation.
[0096] Furthermore, the control unit 130 controls the start and end of position and orientation correction based on the open / closed state of the gripping mechanism 160. This allows correction to be performed without being affected by the contact state between the workpiece 201 and the gripping mechanism 160, or by the difference in operating speed between the robot 101 and the gripping mechanism 160. Therefore, the accuracy of the correction can be improved.
[0097] In gripping position correction, the workpiece 201 is moved in a manner that pushes it against the gripping mechanism 160, thereby preventing the workpiece 201 from falling off the gripping mechanism 160.
[0098] Furthermore, the control unit 130 controls the start of gripping position correction based on the open / closed state of the gripping mechanism 160, and controls the end of gripping position correction based on the force acting on the robot 101. This allows correction to be performed without being affected by the contact state between the workpiece 201 and the gripping mechanism 160, or by the difference in operating speed between the robot 101 and the gripping mechanism 160. Therefore, the accuracy of the correction can be improved.
[0099] As described above, the computer 100 of Example 1 can correct the position and orientation of the workpiece 201 set on the processing machine 102 with high accuracy by performing position and orientation correction and gripping position correction. [Examples]
[0100] In Example 2, the criteria for ending the correction differ from those in Example 1. The following describes Example 2, focusing on the differences from Example 1.
[0101] The system configuration of Example 2 is the same as that of Example 1. The work information 120, processing machine information 121, posture information 122, and performance information 124 of Example 2 are the same as those of Example 1.
[0102] In Example 2, the content of the correction model information 123 is slightly different. Figure 12 shows an example of the data structure of the correction model information 123 in Example 2.
[0103] The structure of the entries stored in the correction model information 123 is the same as in Example 1. In Example 2, the content set in the position and attitude correction completion condition 603 is different from that in Example 1.
[0104] The position and attitude correction completion condition 603 stores the open / closed state of the gripping mechanism 160 and the force thresholds for the X, Y, and Z axes in the relative coordinate system of the hand 200. The control unit 130 terminates the movement and attitude correction if the force values for each of the X, Y, and Z axes are smaller than the thresholds set in the position and attitude correction completion condition 603, and the estimated open / closed state 405 is "closed".
[0105] The work control processing performed by the computer 100 in Example 2 differs in part from that in Example 1. Specifically, the method for determining the completion of position and attitude correction is different.
[0106] Furthermore, when determining the completion of position and orientation correction, if the gripping mechanism 160 is already closed, the control unit 130 instructs the processing machine 102 to open the gripping mechanism 160, and then close it after a certain period of time has elapsed.
[0107] According to Example 2, more accurate position and attitude correction can be achieved.
[0108] 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.
[0109] Furthermore, each of the above-mentioned configurations, functions, processing units, processing means, etc., may be implemented in hardware, in whole or in part, for example, by designing them as integrated circuits. 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.
[0110] 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).
[0111] 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.
[0112] 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]
[0113] 100 calculator 101 Robots 102 Processing machine 110 Arithmetic equipment 111 Storage device 112 Communication equipment 113 Input device 114 Output device 120 Work Information 121 Processing machine information 122 Posture information 123 Correction Model Information 124 Performance Information 130 Control Unit 131 Acquisition Department 140 Measuring devices 141, 150 Working equipment group 142, 151 Controllers 160 Gripping mechanism 200 hands 201 Work 202 Nails 1000, 1100 screens
Claims
1. A method of controlling a robot, which is performed by a computer. The aforementioned computer is It has a computing device, a storage device connected to the computing device, and a network interface connected to the computing device, A robot having a hand for gripping a workpiece, and a processing machine having a gripping mechanism for gripping the workpiece are connected. The robot control method is as follows: The first step involves the computer acquiring first operational information regarding the operating status of the robot and second operational information regarding the operating status of the processing machine. The computer controls the robot in order to cause the robot to perform the task of gripping the workpiece and placing the workpiece in the gripping mechanism, Includes, The second step described above is: A third step in which the computer determines whether or not to start a first correction process to correct the position and orientation of the workpiece relative to the gripping mechanism based on the second operation information, A fourth step in which the computer performs the first correction process using the first operation information and the second operation information, The computer includes a fifth step of determining whether or not to terminate the first correction process based on the second operational information, The third step includes the step of the computer starting the first correction process when the closing operation of the gripping mechanism is started, A robot control method characterized in that the fifth step includes the step of terminating the first correction process when the computer has completed the closing operation of the gripping mechanism.
2. A robot control method according to Claim 1, The fifth step is a robot control method characterized in that the computer determines whether or not the closing operation of the gripping mechanism has been completed based on the elapsed time since the closing operation of the gripping mechanism was started.
3. A robot control method according to Claim 2, The fifth step of the robot control method is characterized in that the computer terminates the first correction process when the closing operation of the gripping mechanism is completed and the force acting on the hand is less than a threshold.
4. A method for controlling a robot, which is performed by a computer, The aforementioned computer is It has a computing device, a storage device connected to the computing device, and a network interface connected to the computing device, A robot having a hand for gripping a workpiece, and a processing machine having a gripping mechanism for gripping the workpiece are connected. The robot control method is as follows: The first step involves the computer acquiring first operational information regarding the operating status of the robot and second operational information regarding the operating status of the processing machine. The computer controls the robot in order to cause the robot to perform the task of gripping the workpiece and placing the workpiece in the gripping mechanism, Includes, The second step described above is: A third step in which the computer determines whether or not to start a first correction process to correct the position and orientation of the workpiece relative to the gripping mechanism based on the second operation information, A fourth step in which the computer performs the first correction process using the first operation information and the second operation information, A fifth step in which the computer determines whether or not to terminate the first correction process based on the second operational information, A sixth step in which the computer determines whether or not to start a second correction process to correct the gripping position of the workpiece of the gripping mechanism based on the second operation information, A seventh step in which the computer performs the second correction process using the first operation information and the second operation information, A robot control method characterized by comprising an eighth step in which the computer determines whether or not to terminate the second correction process based on the first operation information.
5. A robot control method according to Claim 4, The sixth step includes the step of the computer starting the second correction process when the opening operation of the gripping mechanism is started, A robot control method characterized in that the eighth step includes the step of terminating the second correction process if the computer determines that the force with which the workpiece is pressed against the gripping mechanism is greater than a threshold.
6. A robot control method according to claim 4, The fourth step includes the step of interrupting the first correction process if the computer detects that a force greater than or equal to a predetermined value is applied to the hand or that the execution time of the first correction process exceeds a predetermined value. The seventh step is a robot control method characterized in that the computer interrupts the second correction process if a force greater than a predetermined value is applied to the hand or if the execution time of the second correction process exceeds a predetermined value.
7. A robot control method according to Claim 4, A robot control method characterized in that the gripping mechanism grips the workpiece at at least one of a point, a line, and a surface.
8. A system comprising a computer, a robot having a hand for gripping a workpiece, and a processing machine having a gripping mechanism for gripping the workpiece, The aforementioned computer is First operational information regarding the operating status of the robot and second operational information regarding the operating status of the processing machine are acquired. The robot control process is executed to cause the robot to perform the task of gripping the workpiece and placing the workpiece in the gripping mechanism. In the robot control process described above, the computer, A first process that determines whether or not to start a first correction process to correct the position and orientation of the workpiece relative to the gripping mechanism based on the second operational information, A second process which performs the first correction process using the first operation information and the second operation information, Position and attitude correction is performed, which includes a third process that determines whether or not to terminate the first correction process based on the second operational information, In the first process, when the closing operation of the gripping mechanism is started, the computer starts the first correction process. The system is characterized in that, in the third process, the computer terminates the first correction process when the closing operation of the gripping mechanism is completed.
9. The system according to claim 8, The system is characterized in that, in the third process, the computer terminates the first correction process when the closing operation of the gripping mechanism is completed and the force acting on the hand is less than a threshold.
10. A system comprising a computer, a robot having a hand for gripping a workpiece, and a processing machine having a gripping mechanism for gripping the workpiece, The aforementioned computer is First operational information regarding the operating status of the robot and second operational information regarding the operating status of the processing machine are acquired. The robot control process is executed to cause the robot to perform the task of gripping the workpiece and placing the workpiece in the gripping mechanism. In the robot control process described above, the computer, A first process that determines whether or not to start a first correction process to correct the position and orientation of the workpiece relative to the gripping mechanism based on the second operational information, A second process which performs the first correction process using the first operation information and the second operation information, Position and attitude correction is performed, which includes a third process that determines whether or not to terminate the first correction process based on the second operational information, A fourth process to determine whether or not to start a second correction process to correct the gripping position of the workpiece of the gripping mechanism based on the second operational information, A fifth process which executes the second correction process using the first operation information and the second operation information, A system characterized by performing a gripping position correction, which includes a sixth process for determining whether or not to terminate the second correction process based on the first operational information.
11. The system according to claim 10, In the fourth process, when the opening operation of the gripping mechanism is started, the computer starts the second correction process. The system is characterized in that, in the sixth process, the computer terminates the second correction process if the force with which the workpiece is pressed against the gripping mechanism is greater than a threshold.
12. The system according to claim 10, The system is characterized in that the gripping position correction is performed after the position and orientation correction is performed.