Dynamically correcting a processing path of a tool

WO2026174427A1PCT designated stage Publication Date: 2026-08-27ABB (SCHWEIZ) AG +4
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2025/077899
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-02-18
Publication Date
2026-08-27

Smart Images

  • Figure CN2025077899_27082026_PF_FP_ABST
    Figure CN2025077899_27082026_PF_FP_ABST
Patent Text Reader

Abstract

A method for correcting a processing path (41) of a tool (20) comprises: generating (601) a target trajectory (51) in a camera coordinate system registered to a tool center point (TCP) coordinate system, monitoring (602), via a camera (31), the processing path (41) of the tool (20) in the TCP coordinate system, generating (603) a first real trajectory (52) in the camera coordinate system corresponding to the monitored processing path (41), determining (604) whether a first difference between the target trajectory (51) and the first real trajectory (52) is greater than a first threshold (71), and in response to determining that the first difference between the target trajectory (51) and the first real trajectory (52) is greater than the first threshold (71), generating (605) a first instruction to cause the tool (20) to follow a first path of interest (42) corresponding to the target trajectory (51). A robot system (100), a computer-readable non-transitory storage medium, and a computer program product are also provided.
Need to check novelty before this filing date? Find Prior Art

Description

DYNAMICALLY CORRECTING A PROCESSING PATH OF A TOOLFIELD

[0001] Embodiments of the present disclosure generally relate to path planning, and in particular, relate to a method for dynamically correcting a processing path of a tool.BACKGROUND

[0002] In conventional implementations for correcting a processing path, a step of scanning a path is critical and necessary. In the case that the path to be tracked by a track robot is a path on a workpiece, a scanning robot is used to scan the workpiece, and then the path needs to be extracted from scanning result. After exacting the path from scanning result, this path has to be converted from the coordinate of scanning robot to that of the tracking robot. However, this process is time-consuming because of the step of scanning.SUMMARY

[0003] Embodiments of the present disclosure provide methods for correcting a processing path of a tool. The method provided by the present disclosure at least partially solves the problem mentioned above.

[0004] In a first aspect, a method for correcting a processing path of a tool, the method comprising: generating a target trajectory in a camera coordinate system registered to a tool  center point coordinate system, monitoring, via a camera, the processing path of the tool in the TCP coordinate  system, generating a first real trajectory in the camera coordinate system corresponding to  the monitored processing path, determining whether a first difference between the target trajectory and the first real  trajectory is greater than a first threshold, and in response to determining that the first difference between the target trajectory and  the first real trajectory is greater than the first threshold, generating a first instruction to cause the tool to follow a first path of interest corresponding to the target trajectory.

[0005] The disclosure provides a design of sensor-based target servoing for correcting the processing path of the tool. This solution can handle the difference among workpieces without pose teaching or pre-scanning, and thus the solution improves the efficiency. In addition, sensor-based target servoing effectively responds to changing operating conditions in the real world, and provides feedback and corrective action on the operating process of the tool.

[0006] In some embodiments, monitoring the processing path of the tool in the TCP coordinate system comprises: monitoring a distal end of the tool, and monitoring a marker, the marker being stationary with respect to the tool, and generating the first real trajectory comprises: generating the first real trajectory based on first orientation information of the monitored distal end of the tool and second orientation information of the monitored marker.

[0007] In some embodiments, generating the first real trajectory comprises: obtaining a set of points corresponding to the monitored processing path of the tool, and generating the first real trajectory based on the set of points by using interpolation.

[0008] In some embodiments, the tool is removably coupled to a robot, and the robot is configured to move the tool, and the method further comprises in response to the first instruction, moving the tool, via the robot, along the first path of interest.

[0009] In some embodiments, moving the tool comprises: moving the tool in a manner that a z-axis of the TCP coordinate system is perpendicular to a normal direction of the first path of interest.

[0010] In some embodiments, the first instruction comprises a velocity profile for the first path of interest; information related to acceleration and / or deceleration of the tool following the first path of interest; and / or information related to a movement direction of the tool following the first path of interest.

[0011] In some embodiments, the method further comprises: monitoring, via the camera, the first path of interest, generating a second real trajectory in the camera coordinate system corresponding to the monitored first path of interest; determining whether a second difference between the target trajectory and the second real trajectory is less than the first threshold; in response to determining that the second difference between the target trajectory and the second real trajectory is less than the first threshold, decreasing the first threshold as a second threshold; determining whether the second difference between the target trajectory and the second real trajectory is greater than the second threshold; and in response to determining that the second difference between the target trajectory and the second real trajectory is greater than the second threshold, generating a second instruction to cause the tool to follow a second path of interest corresponding to the target trajectory.

[0012] In some embodiments, the method further comprises in response to the second instruction: using the second path of interest as a template for the processing path of the tool; and moving the tool, via the robot, along the second path of interest.

[0013] In some embodiments, the method further comprises in response to determining that the second difference between the target trajectory and the second real trajectory is not greater than the second threshold, using the first path of interest as a template for the processing path of the tool.

[0014] In some embodiments, the method further comprises: calibrating the TCP coordinate system and the camera coordinate system with respect to a real world coordinate system.

[0015] In a second aspect, a robot system is configured to perform the method of the first aspect.

[0016] In a third aspect, a computer-readable non-transitory storage medium has instructions stored thereon, the instructions, when executed by a processor of a robot system, cause the robot system to perform the method of the first aspect.

[0017] In a fourth aspect, a computer program product comprises instructions, which when executed by a processor of a robot system, cause the robot system to perform the method of the first aspect.

[0018] It is to be understood that the Summary is not intended to identify key or essential features of embodiments of the present disclosure, nor is it intended to be used to limit the scope of the present disclosure. Other features of the present disclosure will become easily comprehensible through the description below.BRIEF DESCRIPTION OF THE DRAWINGS

[0019] The above and other objectives, features and advantages of the present disclosure will become more apparent through more detailed depiction of example embodiments of the present disclosure in conjunction with the accompanying drawings, wherein in the example embodiments of the present disclosure, same reference numerals usually represent the same components.

[0020] Fig. 1 shows a robot system with a tool and a camera according to the embodiments of the present disclosure;

[0021] Fig. 2 shows a schematic diagram of an arrangement of robot system according to another embodiment of the present disclosure;

[0022] Fig. 3 shows a schematic diagram of a target trajectory and a first real trajectory in the camera coordinate system and a first difference between the target trajectory and the first real trajectory according to the embodiments of the present disclosure;

[0023] Fig. 4 shows a robot system with a tool and a camera similar with Fig. 1 according to another embodiments of the present disclosure;

[0024] Fig. 5 shows a schematic diagram of a first difference between the target trajectory and the first real trajectory and a second difference between the target trajectory and the second real trajectory according to the embodiments of the present disclosure;

[0025] Fig. 6 shows a flowchart of the process performed by the robot according to some embodiments of the present disclosure; and

[0026] Fig. 7 shows some components of the robot system according to some embodiments of the present disclosure.

[0027] Throughout the drawings, the same or similar reference symbols are used to indicate the same or similar elements.DETAILED DESCRIPTION

[0028] The present disclosure will now be discussed with reference to several example embodiments. It is to be understood these embodiments are discussed only for the purpose of enabling those skilled persons in the art to better understand and thus implement the present disclosure, rather than suggesting any limitations on the scope of the subject matter.

[0029] As used herein, the term “comprises” and its variants are to be read as open terms that mean “comprises, but is not limited to. ” The term “based on” is to be read as “based at least in part on. ” The terms “first” , “second” , and the like may refer to different or same objects. Other definitions, explicit and implicit, may be comprised below. A definition of a term is consistent throughout the description unless the context clearly indicates otherwise.

[0030] Referring to Fig. 1, a robot system 100 may comprise a robot 10 and a camera arrangement 30. A robot 10 may comprise a plurality of robotic arms 11-1, 11-2, and a base 12. The robot 10 may have six degrees of rotation freedom and the rotation is achieved by the rotatable coupling between the robotic arms 11-1, 11-2 and the base 12.

[0031] The robot 10 may further comprise a tool 20. The tool 20 may comprise handling end effectors which are used to grab, carry and release workpieces, and / or processing end effectors which are used to process workpieces. The handling end effectors may comprise gripper-type actuators, vacuum suction cups, etc. The processing end effectors may comprise welding guns, spray guns, grinders, etc.

[0032] In some embodiments, the tool 20 is removably coupled to the robotic arm 11-1. The movement of the tool 20 can be enabled by moving the robotic arms 11-1, 11-2 and / or rotating the base 12. Referring to Fig. 7, the robot 10 may further comprise a processor, a memory, a communication unit, an I / O interface, and one or more sensors. The processor includes one or more general processors, one or more graphics processors, and / or one or more digital signal processors. Memory is a non-transitory computer-readable storage medium e.g., flash memory, random access memory, or other volatile or non-volatile memory or storage that stores computer-readable instructions configured to be executed by processor to perform the techniques, processes, and / or methods described below. In some examples, memory can include more than one non-transitory computer-readable storage medium or one or more computer program products. A non-transitory computer-readable storage medium can be any medium e.g., excluding a signal that can tangibly contain or store computer-executable instructions for use by or in connection with the instruction execution system, apparatus, or device. The non-transitory computer-readable storage medium can include, but is not limited to, magnetic, optical, and / or semiconductor storages. Examples of such storage include magnetic disks, optical discs based on compact disc CD, digital versatile disc DVD, or Blu-ray technologies, as well as persistent solid-state memory such as flash, solid-state drives, and the like. The communication unit may be configured for communicating information with an electronic device of an operator of the robot 10. The electronic device may transmit / receive message to / from the robot 10. The electronic device may comprise any mobile or non-mobile computing device, such as smartphones, tablet computers, personal digital assistants PDAs, wireless handsets, desktop computers, laptop computers, mobile data terminals, networked or “smart” appliances, IoT devices, and / or the like.

[0033] Likewise, the camera arrangement 30 may comprise a similar processor and memory described above. In addition, the camera arrangement 30 may comprise a camera 31.

[0034] Still referring to Fig. 1, the robot 10 may be communicatively coupled to a camera 31. The camera 31 may be configured to monitor the tool 20. The camera 31 may comprise a binocular vision camera. The camera 31 may comprise one or more cameras.

[0035] In some embodiments, the camera 31 may be located above a working platform 200. When the tool 20 is moving across the working platform 200, the motion of the tool 20 may be monitored by the camera 31. In another embodiment, the working platform 200 may be held and moved by the robot 10, and the camera 31 and tool 20 are designed to keep stationary with respect to each other. Thus, the processing to be performed by the tool 20 may be accomplished by moving the working platform 200 with workpieces with respect to the tool 20. In addition, the tool 20 may be positioned so that the tool 20 exposes itself in a field of view of the camera 31. It is also possible to build connections between the tool 20 and the camera 31, and thus the tool 20 is fixed to the camera 31.

[0036] In an alternative embodiment, the camera 31 may be positioned on the robot 10 over the tool 20, thereby the camera 31 can move together with the tool 20, and the camera 31 can monitor the motion of working platform 200 to camera 31 regardless of whether the tool 20 is moving across the working platform 200.

[0037] Referring to Figs. 1 and 6, at block 601, the method comprises generating a target trajectory 51 in a camera coordinate system registered to a tool center point (TCP) coordinate system. In some embodiments, the camera coordinate system is registered to a tool center point TCP coordinate system by calibrating the TCP coordinate system and the camera coordinate system with respect to a real world coordinate system.

[0038] In some embodiments, the time of the camera 31 is aligned with the time of the robot 10. In another embodiment, the time difference of the camera 31 to the robot 10 is pre-determined, and taken into consideration when generating the trajectory in the camera coordinate system.

[0039] The target trajectory 51 may be related to a shape of a workpiece and may be determined from an image containing the workpiece. As an alternative, the target trajectory 51 may be obtained by an input from a user operating the robot system 100. In Fig. 1, the target trajectory 51 is generally a circle. In other embodiments, the target trajectory may be other regular or irregular curves.

[0040] At block 602, the method comprises monitoring 602, via the camera 31, the processing path 41 of the tool 20 in the TCP coordinate system. In the duration of monitoring the processing path, a plurality of images 32 containing the processing path 41 of the tool 20 may be captured. In some embodiments, monitoring the processing path 41 of the tool 20 in the TCP coordinate system may comprise monitoring a distal end 21 of the tool 20 and monitoring a marker 22 that is stationary with respect to the tool 20. In some embodiments, first orientation information of the monitored distal end 21 and second orientation information of the monitored marker 22 may be determined from the plurality of images.

[0041] At block 603, the method comprises generating 603 a first real trajectory 52 in the camera coordinate system corresponding to the monitored processing path 41. In some embodiments, generating the first real trajectory 52 comprises obtaining a set of points P1-P7 corresponding to the processing path 41 of the tool 20 based on the captured plurality of images; and generating the first real trajectory 52 based on the set of points P1-P7 by using interpolation. In some embodiments, the first real trajectory 52 is generated based on the first orientation information of the monitored distal end 21 of the tool 20 and the second orientation information of the monitored marker 22.

[0042] At block 604, the method comprises determining 604 whether a first difference between the target trajectory 51 and the first real trajectory 52 is greater than a first threshold. The first difference may be a distance offset from the target trajectory 51 to the first real trajectory 52. The first threshold 71 may be determined according an input from a user operating the robot system 100. In some embodiments, the first threshold 71 is equal to or larger than the maximum tolerance error.

[0043] At block 605, the method comprises in response to determining that the first difference between the target trajectory 51 and the first real trajectory 52 is greater than the first threshold, generating a first instruction to cause the tool 20 to follow a first path of interest 42 corresponding to the target trajectory 51. In some embodiments, the first instruction may be generated by a robot processor 13. In some embodiments, the first instruction may be generated by a camera processor 33. In another embodiment, the first instruction may be generated by a camera processor 33 and a robot processor 13 together. The first instruction may comprise one or more of the following: a velocity profile for the first path of interest 42; information related to acceleration and / or deceleration of the tool 20 following the first path of interest 42; or information related to a movement direction of the tool 20 following the first path of interest 42.

[0044] Referring to Fig. 2, the camera 31 may be activated to monitor the robot 10, and capture images 32 of the robot 10 at a predetermined frame rate. The images 32 of the robot 10 may be then provided to a camera processor 33. The camera processor 33 may be configured to create the points in the camera coordinate system corresponding to the processing path 41 of the tool 20 based on time at which the images is captured and positioning information of the tool in the images. The camera processor 33 may be further configured to generate the first real trajectory 52 based on the points in the camera coordinate system by using interpolation, for example Spline or B-curve. In Fig. 3, points P1-P7 are obtained, and the first real trajectory 52 is obtained by interpolating the points P1-P7.

[0045] Still referring to Fig. 2, the camera processor 33 may be further configured to compare a first difference between the target trajectory 51 and the first real trajectory 52 is greater than a first threshold 71, and provide the result of the comparison to the robot processor 13. The robot processor 13 may be configured to determine whether the first difference is greater than the first threshold, and if the first difference is greater than the first threshold, generate a first instruction for instructing a robot controller 14 to control the movement of the robotic arms 11-2, 11-2, and / or the base 12, so that the tool 20 is moved along the first path of interest. In some embodiments, the robot processor 13 may be configured to plan a velocity profile for the first path of interest. Additionally or alternatively, the robot processor 13 may be further configured to generate information related to acceleration and / or deceleration of the tool 20 following the first path of interest 42. In addition, the robot processor 13 may be further configured to generate information related to a movement direction of the tool 20 following the first path of interest 42.

[0046] The velocity profile for the first path of interest, the information related to acceleration and / or deceleration of the tool 20 following the first path of interest 42 and the information related to a movement direction of the tool 20 following the first path of interest 42 may be used by the robot controller to control the movement of the movement of the robotic arms 11-2, 11-2, and / or the base 12.

[0047] Referring to Fig. 4, the components described with reference to Fig. 3 may be further used here. When the robot controller 14 starts to move the tool 20 along the first path of interest 42. The camera 42 is further used to monitor the first path of interest. The camera 31 captures images 32 of the robot 10 at a predetermined frame rate. The images 32 of the robot 10 may be then provided to a camera processor 33. The camera processor 33 is configured to create the points in the camera coordinate system corresponding to the first path of interest 42 of the tool 20 based on time at which the images is captured and positioning information of the tool in the images. The camera processor 33 may be further configured to generate the second real trajectory 52 based on the points in the camera coordinate system by using interpolation.

[0048] The camera processor 33 may be further configured to compare a second difference between the target trajectory 51 and the second real trajectory 53 with the first threshold 71, and provide the result of the comparison to the robot processor 13. The robot processor 13 may be configured to determine whether the second difference is less than the first threshold, and if the second difference is less than the first threshold, decrease the first threshold 71 as a second threshold 72, and compare the second difference between the target trajectory 51 and the second real trajectory 53 with the second threshold. The second threshold 72 may correspond to a desired processing accuracy.

[0049] The robot processor 13 may be further configured to, if the second difference is greater than the second threshold, generate a second instruction for instructing the robot controller 14 to control the movement of the robotic arms 11-2, 11-2, and / or the base 12, so that the tool 20 is moved along the second path of interest 43 corresponding to the target trajectory 51. In some embodiments, the robot processor 13 is configured to plan a velocity profile for the second path of interest. Additionally or alternatively, the robot processor 13 may be further configured to generate information related to acceleration and / or deceleration of the tool 20 following the second path of interest 43. In addition, the robot processor 13 may be further configured to generate information related to a movement direction of the tool 20 following the second path of interest 43.

[0050] In some embodiments, the robot controller 14 may be further configured to in response to the second instruction, using the second path of interest 43 as a template for the processing path 41 of the tool 20, and control the movement of the movement of the robotic arms 11-2, 11-2, and / or the base 12 so that the tool 20 is moved along the second path of interest. In the case that the second path of interest 43 is used as a template for the processing path of the tool, when the same type of processing task is assign to the tool 20, the robot can move the tool along the second path of interest 43.

[0051] In some embodiments, the robot controller 14 may be further configured to in response to determining that the second difference between the target trajectory 51 and the second real trajectory 53 is not greater than the second threshold 72, use the first path of interest 42 as a template for the processing path 41 of the tool 20. In this way, the repetitive generation for the path of interest may be avoided.

[0052] In some embodiments, the tool 20 is moved in a manner that a z-axis of the TCP coordinate system is perpendicular to a normal direction of the first path of interest 42.

[0053] It should be appreciated that the above detailed embodiments of the present disclosure are only for exemplifying or explaining principles of the present disclosure and do not limit the present disclosure. Therefore, any modifications, equivalent alternatives and improvements, etc. without departing from the spirit and scope of the present disclosure shall be comprised in the scope of protection of the present disclosure. Meanwhile, appended claims of the present disclosure aim to cover all the variations and modifications falling under the scope and boundary of the claims or equivalents of the scope and boundary.

Claims

1.A method for correcting a processing path (41) of a tool (20) , comprising:generating (601) a target trajectory (51) in a camera coordinate system registered to a tool center point (TCP) coordinate system,monitoring (602) , via a camera (31) , the processing path (41) of the tool (20) in the TCP coordinate system,generating (603) a first real trajectory (52) in the camera coordinate system corresponding to the monitored processing path (41) ,determining (604) whether a first difference between the target trajectory (51) and the first real trajectory (52) is greater than a first threshold (71) , andin response to determining that the first difference between the target trajectory (51) and the first real trajectory (52) is greater than the first threshold (71) , generating (605) a first instruction to cause the tool (20) to follow a first path of interest (42) corresponding to the target trajectory (51) .2.The method of claim 1,wherein monitoring the processing path (41) of the tool (20) in the TCP coordinate system comprises:monitoring a distal end (21) of the tool (20) , andmonitoring a marker (22) , the marker (22) being stationary with respect to the tool (20) , andwherein generating the first real trajectory (52) comprises:generating the first real trajectory (52) based on first orientation information of the monitored distal end (21) of the tool (20) and second orientation information of the monitored marker (22) .3.The method of claim 1, wherein generating the first real trajectory (52) comprises:obtaining a set of points (P1-P7) corresponding to the monitored processing path (41) of the tool (20) , andgenerating the first real trajectory (52) based on the set of points (P1-P7) by using interpolation.4.The method of claim 1, wherein the tool (20) is removably coupled to a robot (10) , and the robot (10) is configured to move the tool (20) , andthe method further comprisesin response to the first instruction, moving the tool (20) , via the robot (10) , along the first path of interest (42) .5.The method of claim 4, wherein moving the tool (20) comprises:moving the tool (20) in a manner that a z-axis of the TCP coordinate system is perpendicular to a normal direction of the first path of interest (42) .6.The method of claim 4 or 5, wherein the first instruction comprises:a velocity profile for the first path of interest (42) ;information related to acceleration and / or deceleration of the tool (20) following the first path of interest (42) ; and / orinformation related to a movement direction of the tool (20) following the first path of interest (42) .7.The method of claim 4 or 5, further comprises:monitoring, via the camera (31) , the first path of interest (42) ,generating a second real trajectory (53) in the camera coordinate system corresponding to the monitored first path of interest (42) ;determining whether a second difference between the target trajectory (51) and the second real trajectory (53) is less than the first threshold (71) ;in response to determining that the second difference between the target trajectory (51) and the second real trajectory (53) is less than the first threshold (71) , decreasing the first threshold (71) as a second threshold (72) ;determining whether the second difference between the target trajectory (51) and the second real trajectory (53) is greater than the second threshold (72) ; andin response to determining that the second difference between the target trajectory (51) and the second real trajectory (53) is greater than the second threshold (72) , generating a second instruction to cause the tool (20) to follow a second path of interest (43) corresponding to the target trajectory (51) .8.The method of claim 7, further comprises:in response to the second instruction:using the second path of interest (43) as a template for the processing path (41) of the tool (20) ; andmoving the tool (20) , via the robot (10) , along the second path of interest (43) .9.The method of claim 7, further comprises:in response to determining that the second difference between the target trajectory (51) and the second real trajectory (53) is not greater than the second threshold (72) ,using the first path of interest (42) as a template for the processing path (41) of the tool (20) .10.The method of any of claims 4, 5 and 7, further comprises:calibrating the TCP coordinate system and the camera coordinate system with respect to a real world coordinate system.11.A robot system (100) configured to perform the method of any of claims 1-10.12.The robot system (100) of claim 11, comprising:a robot (10) ; anda camera arrangement (30) coupled to the robot (10) and comprising a camera.13.A computer-readable non-transitory storage medium having instructions stored thereon, the instructions, when executed by a processor of a robot system (100) , cause the robot system (100) to perform the method of any of claims 1-10.14.A computer program product comprising instructions, which when executed by a processor of a robot system (100) , cause the robot system (100) to perform the method of any of claims 1-10.