Robot real-time path tracking under remote tool center point frame
Patent Information
- Application Number
- JP2024135633
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-08-05
- Filing Date
- 2024-08-15
- Publication Date
- 2025-03-11
Smart Images

Figure 2025032064000001_ABST
Abstract
Description
[Technical field]
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS This application claims the benefit of the priority date of U.S. Provisional Patent Application No. 63 / 519,893, filed August 16, 2023, entitled “Real-Time Path Tracking of a Robot in a Remote Tool Centerpoint Frame.”
[0002] The present disclosure relates generally to the field of real-time motion control of industrial robots, and more particularly, to a method of controlling a robot where a tool is fixed, the robot holds and moves a workpiece, a nominal path is defined on the workpiece with a user-defined tool offset, and the workpiece is moved by the robot such that the tool tip traces a path that is offset from the nominal path by a user-defined amount. [Background technology]
[0003] The use of industrial robots to perform a wide range of manufacturing, assembly, and material transfer operations is well known. Many of these operations and tasks are performed by articulated robots, such as five- or six-axis robots with servo motors located at each rotary joint. Control of such robots is provided in real time, where the end-of-arm tool center point motion program is divided into small motion increments, and the robot controller performs real-time feedback control calculations to calculate joint motor input commands that move the robot end-of-arm according to the prescribed motion program.
[0004] Some common robotic applications involve moving a tool along a continuous path over a workpiece, including, for example, applying a bead of caulk or adhesive along a path on a workpiece, laser welding and cutting, and even grinding the edge or surface of a workpiece.
[0005] Conventional techniques for programming robot motion for these continuous path tracing applications involve holding a workpiece in a fixture and having the robot move a tool such that the tool tip traces a continuous path over the workpiece. While these methods may be satisfactory for some simple types of traced paths, they require a second robot (or person, etc.) to remove each workpiece after machining and place a new workpiece in the fixture.
[0006] A larger limitation of existing path tracing methods is that both the nominal path on the workpiece and any offsets are calculated in the "world" (work cell) coordinate system, which not only limits the ability to control the distance and orientation of the tool tip offset, but also makes it impossible or impractical to implement real-time tracking of the offset using sensors and control a robot to fine-tune the offset in real-time. Summary of the Invention [Problem to be solved by the invention]
[0007] In light of the above, a need exists for an improved method for real-time path tracking of a robot that simplifies the definition of a desired offset and enables real-time tracking of the actual offset, while at the same time allowing the robot to handle continuous workpieces unassisted. [Means for solving the problem]
[0008] This disclosure describes a method and system for robot dynamic path correction using a remote tool center point (RTCP) coordinate system for process applications such as material application or laser cutting. A machining tool is mounted at a fixed location in a work cell, and a robot holds and moves the workpiece during machining. The RTCP coordinate system is defined at the tool tip. A nominal machining path on the workpiece is defined, along with prescribed offset distances, such as the distance from the machining tool tip to the workpiece, that result in optimal quality machining. A sensor on or near the machining tool measures the actual offset distance from the tool tip to the workpiece. A robot controller applies an offset in the RTCP coordinate system and calculates robot motions to move the workpiece to the robot such that the nominal path moves past the machining tool tip while maintaining the predefined offset distance. The controller transforms the offsets from the remote tool center point coordinate system to the work cell (world) coordinate system and performs inverse kinematic calculations to generate the required robot joint movement commands.
[0009] Additional features of the presently disclosed systems and methods will become apparent from the following description and appended claims, taken in conjunction with the accompanying drawings. [Brief description of the drawings]
[0010] [Figure 1] FIG. 1 is an illustration of an industrial robot that performs machining operations on a workpiece by moving a machining tool along a prescribed path while the workpiece is held in a fixed position, as is known in the art. [Figure 2A] FIG. 2A is an illustration of an industrial robot performing machining operations by moving a workpiece relative to a fixed machining tool with dynamic path correction using a remote tool center point coordinate system according to one embodiment of the present disclosure. [Figure 2B]FIG. 2B is an illustration of an industrial robot performing machining operations by moving a workpiece relative to a fixed machining tool with dynamic path correction using a remote tool center point coordinate system according to one embodiment of the present disclosure. [Figure 2C] FIG. 2C is an illustration of an industrial robot performing machining operations by moving a workpiece relative to a fixed machining tool with dynamic path correction using a remote tool center point coordinate system according to one embodiment of the present disclosure. [Diagram 3] FIG. 3 is an illustration of a workpiece being moved relative to a fixed machining tool with dynamic path correction using a remote tool center point coordinate system according to one embodiment of the present disclosure. [Figure 4] FIG. 4 is a flow diagram of a method for dynamic path correction using a remote tool center point coordinate system according to one embodiment of the present disclosure. [Diagram 5] FIG. 5 is an illustration of a workpiece being moved relative to a fixed machining tool with dynamic path correction using a remote tool center point coordinate system, including a variable offset distance, in accordance with one embodiment of the present disclosure. [Figure 6] FIG. 6 is an illustration of a workpiece being moved relative to a fixed machining tool with dynamic path correction using a remote tool center point coordinate system, including static tracking, in accordance with one embodiment of the present disclosure. [Figure 7] FIG. 7 is an illustration of a workpiece being moved relative to a fixed machining tool with dynamic path correction using a remote tool center point coordinate system according to another embodiment of the present disclosure. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0011] The following discussion of embodiments of the present disclosure directed to dynamic path correction using a remote tool center point coordinate system is merely exemplary in nature and is not intended to limit in any way the disclosed apparatus and techniques or their applications or uses.
[0012] Industrial robots are used for a variety of manufacturing, assembly, and material transfer operations. In one common type of application, a robot is used to perform machining operations such as applying a caulking bead, cutting material with a torch, or performing a laser welding operation. All of these machining operations involve a machining tool that traces a continuous path along the workpiece.
[0013] 1 is an illustration of an industrial robot that performs machining operations on a workpiece by moving a machining tool along a prescribed path while the workpiece is held in a fixed position, as is known in the art. The robot 100 (only partially shown) is a multi-axis, articulated robot having a fixed base, a number of arm links 110, and a tool, as will be understood by those skilled in the art. The machining tool 120 is coupled to the outer arm link at a wrist joint, or in a similar configuration that allows the robot 100 to control the joint angle position to move the tip of the tool 120 to any desired position and orientation.
[0014] A workpiece 130 is held in a fixed position in a robot work cell by a fixture 140, illustrated as a simple pole or rod. In the prior art of FIG. 1, a robot 100 is controlled by a controller (not shown) to move the tip of a machining tool 120 along a prescribed path 132 on the fixed workpiece 130. For example, consider the case where the machining tool 120 is a material dispenser and the machining operation is to apply a bead of adhesive along the path 132 on the workpiece 130. In this case, the workpiece 130 needs to be removed from the fixture 140 (by another robot or machine, or by a human) and assembled with a mating part, and a new workpiece needs to be installed in the fixture 140 (perhaps by yet another robot or another person).
[0015] The prior art illustrated in FIG. 1 has been used effectively in a myriad of applications, but requires additional machinery or labor to handle the workpiece before and after machining. Another drawback of the prior art machining techniques occurs when an offset must be maintained between the tip of the tool 120 and a path 132 on the workpiece 130. The offset in such applications typically must be measured orthogonal to the path 132, which may include a complex three-dimensional path as it follows the surface of the workpiece 130. While this method of a robot carrying a tool works well when the tool is relatively light, there are several reasons why applications may be improved by having the tool fixed and the robot carrying the workpiece. For example, the workpiece may be relatively light but the tool may have a complex dress-out (e.g., some plasma cutting, waterjet cutting, or welding applications require heavy or stationary piping), or the tool may be sensitive to the mechanical compatibility of the arm (e.g., grinding) and is better held in a strong fixture, or the process may be difficult to control and therefore a short dress-out is best (e.g., applying a high temperature sealant that can be difficult to keep hot and to precisely control the application speed through a long hose), or the sensors associated with the tool cannot be attached to the robot and therefore it is better for the application to have the tool in a fixed position.
[0016] The techniques of the present disclosure have been developed to overcome the shortcomings of prior art methods of continuous path machining operations as illustrated in FIG.
[0017] 2A, 2B, and 2C are illustrations of an industrial robot that performs machining operations by moving a workpiece relative to a fixed machining tool with dynamic path correction using a remote tool center point coordinate system, according to one embodiment of the present disclosure. The robot 200 (mainly off-page on the right) is a multi-axis articulated robot with many arm links 210 as discussed above. In this case, the robot 200 holds a workpiece 220 and moves the workpiece 220 relative to a fixed machining tool 230. A sensor 240 is fixedly mounted to or proximate the tool 230.
[0018] A nominal path 222 is defined on the workpiece 220. The nominal path 222 is defined in a 3D computer-aided design (CAD) system where a solid model of the workpiece 220 is available, as would be understood by one of ordinary skill in the art. The nominal path 222, which is three-dimensional in nature due to some elevation changes of the mating surface of the workpiece 220, is typically defined directly on the workpiece surface (the mating surface facing upward in this view). In the examples shown throughout this disclosure, the nominal path 222 follows the outer edge on the "flange" or mating surface of the workpiece 220.
[0019] In Fig. 2A, the tip of the tool 230 (defined as the remote tool center point) is positioned at the start along the nominal path 222. The direction in which the tool center point traces the path 222 is indicated by the arrow 224. Figs. 2B and 2C show the tool 230 in the same position (because the tool 230 is fixed) while the robot 200 moves the workpiece 220 such that the path 222 is traced across the tool center point. Fig. 2B shows the robot arm 210 having moved the workpiece 220 a short distance along the path 222 relative to the tool 230, as indicated by the arrow 224. Fig. 2C shows the robot arm 210 having moved the workpiece 220 such that most of the path 222 has been traced across the tip of the tool 230. This is the basic operating principle of the technology disclosed herein, where the machining tool is fixed and the robot moves the workpiece during the period in which machining operations are performed on the workpiece.
[0020] In the simplest example machining application, the robot 200 may manipulate the workpiece 220 such that the tip of the tool 230 traces the nominal path 222 directly on the surface of the workpiece 220. However, in many real-world examples, it is desirable for the tip of the tool 230 (the remote tool center point) to be offset a certain user-defined distance from the nominal path 222. This offset distance and how it is handled in the techniques of this disclosure are discussed further below.
[0021] 3 is an illustration of a workpiece being moved relative to a fixed machining tool with dynamic path correction using a remote tool center point coordinate system according to one embodiment of the present disclosure. Figure 3 depicts the same workpiece 220 as in Figure 2 along with other hardware components and principles involved in the techniques of the present disclosure.
[0022] The robot 200 and robot arm 210 are not shown in FIG. 3 but operate as described above, with the workpiece 220 coupled to an end-of-arm gripper or tool on the robot arm 210. The robot 200 is controlled to move the workpiece 220 such that an offset path on the workpiece 220 is traced across the tip 232 of the tool 230. Only a portion of the workpiece 220 is shown in FIG. 3 along with a portion of the nominal path 222 previously described. A sensor 240 is also shown affixed to or proximal to the tool 230. The sensor 240 may be any type of sensor suitable for determining the distance between the tip 232 of the tool 230 and the surface of the workpiece 220 along the nominal path 222. Non-limiting examples of the sensor 240 include a laser distance sensor, an ultrasonic sensor, and a 3D camera. The sensor 240 may likewise be a combination of the enumerated sensor types and may be configured to sense parameters of the machining operation itself, such as the surface finish quality, the size of the material bead being applied, or some other parameter. These sensor measurements, including both the offset distance and the parameters of the machining operation, are used to calculate dynamic adjustments to the commanded offset distance in real time during the machining operation.
[0023] A remote tool center point coordinate system (RTCP frame) 350 is defined at the tip 232 of the tool 230, with a fixed position and orientation known to the robot controller. The RTCP frame 350 is shown in FIG. 3 as having one axis pointing up and the other two axes in a horizontal plane (with a slight offset from the tip 232 for visual clarity), however, any RTCP frame orientation may be used as suitable for a particular application. In one preferred embodiment, the local Z axis of the RTCP frame 350 is oriented parallel to the axis of the tool 230, with the positive Z direction pointing "down" towards the workpiece 220.
[0024] An offset path 370 is offset from the nominal path 222 by an offset vector 360. Measurement of the actual offset distance is performed by the sensor 240 and calculation in the RTCP frame 350 is performed by the controller, which then controls the robot 200 to move the workpiece 220 such that the offset path 370 is traced across the tip 232 of the machining tool 230. The purpose of the offset is to position the tip 232 of the machining tool 230 at an optimal distance from the surface of the workpiece 220 for the particular machining operation being performed. For example, a 5 mm offset may be used from an application tool to achieve the highest quality caulk bead, or a 7 mm offset may be used from the tip of a laser welding tool. The amount of offset is user defined and may be in any vector direction or orientation within the RTCP frame 350. The amount of offset may vary along the length of the nominal path 222. All of this is discussed further below.
[0025] Figure 4 is a flow chart 400 of a method for dynamic path correction using a remote tool center point coordinate system according to one embodiment of the present disclosure. Before the method of Figure 4 is performed, a workpiece is attached to a robot arm, machining tools and sensors are fixed in a work cell, a remote tool center point coordinate system (RTCP frame) is defined at the tool tip, a nominal path of a machining operation on the workpiece is defined, and a desired offset between the tool tip and the nominal path is defined. The steps of flow chart 400 are then performed continuously and in real time at the robot controller.
[0026] In box 402, the current position along the nominal path in the RTCP frame is determined. The current position along the nominal path is known by the robot controller. A desired offset distance that corresponds to the current position along the nominal path is also determined. The desired offset distance may be constant for the entire nominal path, or may vary with position along the nominal path, as discussed above.
[0027] In box 404, measurements are taken by the sensors and the measurements are provided to the robot controller. In box 406, the sensor measurements are processed to determine an actual offset in the RTCP frame. Due to small variations in workpiece geometry, process dynamics (e.g., inconsistent sealant viscosity), workpiece-robot mounting configuration, and other factors, the actual offset may differ slightly from that which would be obtained by applying a desired (theoretical) offset to the nominal path. The measurements in box 404 and the determination of the actual offset in box 406 provide a real-time measured feedback signal for precise control of the robot. That is, if the actual measured offset is less than the desired offset at the current position along the nominal path, the difference (desired minus measured value) will be added to the desired offset distance to be used in the next step.
[0028] The actual offset from box 406 is applied to the nominal path and the desired offset in summer 408 to calculate any deviation to be corrected in the next robot control cycle. For example, if the actual offset distance is 0.1 mm less than the desired offset distance relative to the nominal path, then in the next control cycle the controller will command the robot target position to move to the next incremental position along the nominal path while increasing the desired offset by 0.1 mm.
[0029] In box 410, the robot target position described above is transformed from the RTCP frame to the world (workcell) coordinate system. The world or workcell coordinate system is the coordinate system in which the robot motion is programmed. In box 412, inverse kinematic calculations are performed to determine the robot joint motions that will move the target position "on" the workpiece (at a position in a known position and orientation relative to the robot gripper, but actually offset from the workpiece) to a fixed tool tip position in the workcell. In box 414, the set of joint angles calculated in box 412 is output, i.e., the robot is moved to the calculated joint angles. From box 414, the process loops back continuously to boxes 402 and 404 for the next robot control cycle.
[0030] Figure 5 is an illustration of a workpiece being moved relative to a fixed machining tool with dynamic path correction using a remote tool center point coordinate system including a variable offset distance according to one embodiment of the present disclosure. Figure 5 depicts the same workpiece 220 and nominal path 222 as Figure 2, along with the robot arm 210 and machining tool 230 discussed above. The sensor 240 is also shown as before.
[0031] 5, the offset distance varies with position along the nominal path 222. One reason for varying the offset distance may be for applications where the speed of the workpiece relative to the tool is also varied along the nominal path, such as when a larger or smaller caulk bead is needed at some location on the workpiece.
[0032] The offset path 570 is different from the offset path 370 described above. At the start / end locations on the nominal path 222, the desired offset distance is defined as zero. At point 570A, the desired offset distance begins to increase and then levels off at a constant offset value as the nominal path moves along the left periphery of the workpiece 220. The actual offset distance then begins to decrease again and reaches zero at point 570B. The shape of the nominal path 222 and / or the desired offset may be defined using a spline function. The example of FIG. 5 illustrates the flexibility of the disclosed technique to tailor the offset to any particular application, which can be achieved by making the desired offset distance a single parameter that varies based on the position along the nominal path 222.
[0033] 6 is an illustration of a workpiece being moved relative to a fixed machining tool with dynamic path correction using a remote tool center point coordinate system including static tracking according to one embodiment of the present disclosure. Figure 6 depicts the same workpiece 220 and nominal path 222 as in Figure 2, along with the robot arm 210, machining tool 230 and sensor 240 discussed above.
[0034] In Fig. 6, a set of offsets 670 are applied in a stationary tracking mode where the position along the nominal path 222 is kept fixed and offsets in the primary direction of the RTCP frame are applied. Stationary tracking with multiple offsets can be useful, for example, for laser welding a bracket to a primary workpiece. The example of Fig. 6 again illustrates the flexibility of the disclosed technique to tailor the offset vectors to the requirements of any particular application.
[0035] FIG 7 is an illustration of a workpiece being moved relative to a fixed machining tool with dynamic path correction using a remote tool center point coordinate system according to another embodiment of the present disclosure. FIG 7 depicts a robot 700 with a robot arm 710 moving a workpiece 720 in a different application than previously discussed. A machining tool 730 is shown fixed to the ground with the tool tip (tool center point) at the top of the tool 730. Sensors that would be mounted on or proximate to the tool 730 have been removed from FIG 7 for clarity of the drawing.
[0036] In Fig. 7, the machining tool 730 may be a grinding tool, and the robot 700 moves the workpiece 720 around in various spatial poses to cause the grinding tool 730 to grind edges and surfaces of the workpiece 720. Fig. 7 shows an example where the nominal path on the workpiece 720 may be moved to different spatial positions relative to the tip of the tool 730, and thus the offset may be defined with varying vector components, or the offset may be calculated in 3D vector space, for example, rather than simply along the Z axis of the RTCP frame.
[0037] Various computers and controllers are described or implied throughout the above discussion. It should be understood that the software applications and modules of these computers and controllers are executed on one or more electronic computing devices having a processor and memory modules. In particular, this includes the processors within the robot controllers described above. In particular, the processors of these devices are configured to perform robot dynamic path correction using the remote tool center point coordinate system described above.
[0038] Although numerous example aspects and embodiments of the method and system for robot dynamic path correction using a remote tool center point coordinate system have been described above, those skilled in the art will recognize modifications, permutations, additions, and subcombinations thereof, and it is therefore intended that the following appended claims and any claims hereafter introduced be construed as including all such modifications, permutations, additions, and subcombinations as fall within their true spirit and scope.
Claims
1. 1. A method for dynamic path control of an industrial robot, comprising: A step of attaching a workpiece to a robot arm; providing a machining tool having a tool tip at a fixed location and a sensor at a fixed location proximate to the tool tip; defining a remote tool center point coordinate system (RTCP frame) having an origin at the tool tip; Defining a nominal path of a machining operation on the workpiece; determining a desired offset distance between the tool tip and the nominal path; and controlling a robot arm using a computer having a processor and memory to move the workpiece such that the nominal path moves past the tool tip at the desired offset distance.
2. The step of controlling the robot arm includes: determining a target position on an offset path; transforming the target location from an RTCP frame to a world coordinate system; performing an inverse kinematics calculation on the target position in the world coordinate system to calculate robot joint commands to move the workpiece such that the target position on the offset path is located at the origin of the RTCP frame; and controlling the robot arm using the robot joint commands by the computer.
3. The step of determining the target position includes: determining a current position of the machining operation along the nominal path; determining the desired offset distance based on the current position; measuring an actual offset distance between the tool tip and the workpiece using the sensor; determining an adjusted offset distance by subtracting the actual offset distance from the desired offset distance and then adding the desired offset distance; and calculating the target position on the offset path by offsetting the current position of the machining operation along the nominal path by the adjusted offset distance.
4. The method of claim 3 , wherein the offset distance includes at least one offset component along a Z-axis of the RTCP frame aligned with an axial length of the machining tool and is defined in coordinates of the RTCP frame.
5. 3. The method of claim 2, further comprising the step of performing static tracking, wherein the robot arm moves the workpiece to cause the tool tip to trace a set of offset vectors relative to the target position on the offset path.
6. The method of claim 1 , wherein the nominal path is defined as a spline function.
7. The method of claim 1 , wherein the desired offset distance varies based on a position along the nominal path.
8. The method of claim 1 , wherein the sensor uses one or more of laser sensing, ultrasonic sensing, and camera imaging.
9. The method of claim 1 , wherein the processing tool is a material dispenser, a cutting or welding tool with a laser or a torch, or a grinding tool.
10. 2. The method of claim 1, wherein the industrial robot is a multi-axis articulated robot, and the computer is a robot controller that sends joint movement commands to the industrial robot and receives joint state feedback for use in closed-loop robot control.
11. 1. A method for dynamic path control of an industrial robot, comprising: A step of attaching a workpiece to a robot arm; providing a machining tool having a tool tip at a fixed location and a sensor at a fixed location proximate to the tool tip; defining a remote tool center point coordinate system (RTCP frame) having an origin at the tool tip; Defining a nominal path of a machining operation on the workpiece; determining a desired offset distance between the tool tip and the nominal path; 11. A method comprising: controlling a robot arm using a computer having a processor and memory to move the workpiece such that the nominal path moves past the tool tip at the desired offset distance, the method comprising: determining a target position on an offset path based on the desired offset distance and an actual offset distance measured by the sensor; transforming the target position from an RTCP frame to a world coordinate system; performing an inverse kinematic calculation on the target position in the world coordinate system to calculate robot joint commands to move the workpiece such that the target position on the offset path is located at the origin of the RTCP frame; and controlling the robot arm using the robot joint commands by the computer.
12. 1. A dynamic path control system for an industrial robot, comprising: A robot arm on which a workpiece is attached; A machining tool having a tool tip attached at a fixed position; a sensor mounted at a fixed location proximal to the tool tip; a controller having a processor and a memory; the controller is configured with input data including a remote tool center point coordinate system (RTCP frame) defined at the tool tip, a nominal path of a machining operation defined on the workpiece, and a desired offset distance between the tool tip and the nominal path; The controller is further configured to control the robot arm to move the workpiece such that the nominal path moves past the tool tip at the desired offset distance.
13. The control of the robot arm includes: determining a target position on an offset path; transforming the target location from an RTCP frame to a world coordinate system; performing an inverse kinematics calculation on the target position in the world coordinate system to calculate robot joint commands to move the workpiece such that the target position on the offset path is located at the origin of the RTCP frame; and controlling the robot arm using the robot joint commands by the controller.
14. The determination of the target position includes: determining a current position of the machining operation along the nominal path; determining the desired offset distance based on the current position; measuring an actual offset distance between the tool tip and the workpiece using the sensor; determining an adjusted offset distance by subtracting the actual offset distance from the desired offset distance and then adding the desired offset distance; and calculating the target position on the offset path by offsetting the current position of the machining operation along the nominal path by the adjusted offset distance.
15. The system of claim 14 , wherein the offset distance includes at least one offset component along a Z-axis of the RTCP frame aligned with an axial length of the machining tool and is defined in coordinates of the RTCP frame.
16. 14. The system of claim 13, further comprising the step of performing static tracking, wherein the robot arm moves the workpiece to cause the tool tip to trace a set of offset vectors relative to the target position on the offset path.
17. The system of claim 12 , wherein the desired offset distance varies based on a position along the nominal path.
18. The system of claim 12 , wherein the sensor uses one or more of laser sensing, ultrasonic sensing, and camera imaging.
19. The system of claim 12 , wherein the processing tool is a material dispenser, a cutting or welding tool having a laser or a torch, or a grinding tool.
20. 13. The system of claim 12, wherein the industrial robot is a multi-axis articulated robot, and the controller sends joint movement commands to the industrial robot and receives joint state feedback for use in closed-loop robot control.