The present disclosure relates generally to the field of industrial robot real-time motion control and, more particularly, to a method for controlling a robot where a tool is fixed and the robot holds and moves a workpiece, where a nominal path is defined on the workpiece along with a user-prescribed tool offset, and the workpiece is moved by the robot such that the tool tip traces a path which is offset from the nominal path by the user-prescribed amount.
The use of industrial robots to perform a wide range of manufacturing, assembly and material movement operations is well known. Many of these operations and tasks are performed by articulated robots, such as five—or six-axis robots with a servo motor at each rotational joint. Control of such robots is provided in real time, where an end-of-arm tool center point motion program is divided into small increments of motion, and a robot controller performs the real-time feedback control calculations to compute joint motor input commands which move the robot end-of-arm tool according to the prescribed motion program.
Some common robotic applications involve moving a tool along a continuous path on a workpiece. These applications include specific examples such as dispensing a bead of caulk or adhesive along a path on the workpiece, laser welding and cutting, and even grinding an edge or surface of the workpiece.
Traditional techniques for robot motion programming for these continuous path tracing applications involve holding the workpiece in a fixture and the robot moving the tool so that the tool tip traces the continuous path on the workpiece. These methods can be satisfactory for some simple types of traced paths, but they require a second robot (or a human, etc.) to remove each workpiece after processing and place a new workpiece in the fixture.
A more significant limitation of existing path tracing methods is that both the nominal path on the workpiece and any offset are calculated in a “world” (workcell) coordinate frame. Not only does this limit the ability to control the distance and orientation of the tool tip offset, but it also makes it impossible or impractical to implement real-time tracking of the offset using a sensor and control the robot to fine tune the offset in real time.
In light of the circumstances described above, there is a need for an improved method for robot real-time path tracking which simplifies definition of the desired offset and enables real-time tracking of the actual offset, while also enabling the robot to handle successive workpieces without assistance.
The present disclosure describes a method and system for performing robot dynamic path modification using a remote tool center point (RTCP) coordinate frame, for process applications such as material dispensing or laser cutting. A processing tool is mounted in a fixed position in the workcell and the robot holds and moves the workpiece during the processing. The RTCP coordinate frame is defined at the tip of the tool. A nominal processing path on the workpiece is defined, and a prescribed offset distance is defined, such as a distance from the tip of the processing tool to the workpiece which provides optimal quality of the process being performed. A sensor on or near the processing tool measures the actual offset distance from the tip of the tool to the workpiece. A robot controller applies the offset in the RTCP coordinate frame and calculates robot motions to cause the robot to move the workpiece such that the nominal path is moved past the tip of the processing tool while maintaining the prescribed offset distance. The controller converts the offset from remote tool center point coordinate frame to workcell (world) coordinate frame, and performs inverse kinematics calculations to generate the required robot joint motion commands.
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.
The following discussion of the embodiments of the disclosure directed to dynamic path modification using a remote tool center point coordinate frame is merely exemplary in nature, and is in no way intended to limit the disclosed devices and techniques or their applications or uses.
Industrial robots are used for a variety of manufacturing, assembly and material movement operations. In one common type of application, a processing operation is performed using the robot-such as dispensing a bead of caulk, cutting material using a torch, or performing a laser welding operation. These processing operations all involve a processing tool tracing a continuous path along a workpiece.
A workpiece 130 is held in a fixed location in the robot workcell by a fixture 140, illustrated as a simple pole or rod. In the prior art technique of
The prior art technique illustrated in
The techniques of the present disclosure have been developed to overcome the shortcomings of prior art methods of continuous path processing operations as illustrated in
A nominal path 222 is defined on the workpiece 220. The nominal path 222 may be defined in a 3D computer aided design (CAD) system, where a solid model of the workpiece 220 is available, in a manner understood by those skilled in the art. The nominal path 222, which is three-dimensional in nature due to some elevation changes in 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 example illustrated throughout the present disclosure, the nominal path 222 is along an outer edge on the “flange” or mating surface of the workpiece 220.
In
In the simplest processing application example, the robot 200 could manipulate the workpiece 220 so 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 from the nominal path 222 by some user-prescribed distance. This offset distance and how it is handled in the techniques of the present disclosure are discussed further below.
The robot 200 and robot arm 210 are not shown in
A remote tool center point coordinate frame (RTCP frame) 350 is defined at the tip 232 of the tool 230, having a fixed position and orientation known to the robot controller. The RTCP frame 350 is shown (with a slight offset from the tip 232 for visual clarity) in
An offset path 370 is offset from the nominal path 222 by an offset vector 360. Measurements of an actual offset distance are made by the sensor 240 and calculations in the RTCP frame 350 are performed by the controller, which then controls the robot 200 to move the workpiece 220 so that the offset path 370 is traced across the tip 232 of the processing tool 230. The purpose of the offset is to position the tip 232 of the processing tool 230 at an optimal distance from the surface of the workpiece 220 for the particular processing operation being performed. For example, an offset of 5 mm may be used to achieve the best quality bead of caulk from an applicator tool, or an offset of 7 mm may be used from the tip of a laser welding tool. The offset amount is defined by the user and may be in any vector direction or orientation in the RTCP frame 350. The amount of the offset may vary along the length of the nominal path 222. This is all discussed further below.
At 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. The desired offset distance corresponding to the current position along the nominal path is also determined. The desired offset distance may be constant for the entire nominal path, or it may vary with positional along the nominal path, as discussed earlier.
At box 404, a measurement is taken by the sensor and provided to the robot controller. At box 406, the sensor measurement is processed to determine the actual offset in the RTCP frame. Because of small variations in workpiece shape, process dynamics (for example, sealant viscosity is not consistent), workpiece-to-robot mounting configuration and other factors, the actual offset may be slightly different than what would be obtained by applying the desired (theoretical) offset to the nominal path. The measurement at the box 404 and determination of the actual offset at the box 406 provide a real-time measured feedback signal for accurate 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, then the difference (desired minus measured) will be added to the desired offset distance to be used in the next step.
At summing junction 408, the actual offset from the box 406 is applied to the nominal path and the desired offset, to calculate any deviation needing to be corrected in the next robot control cycle. For example, if the actual offset distance is 0.1 mm smaller than the desired offset distance relative to the nominal path, then at the next control cycle the controller will command a robot target position which moves to the next incremental positional along the nominal path while increasing the desired offset by 0.1 mm.
At box 410, the robot target position described above is converted from the RTCP frame to the world (workcell) coordinate frame. The world or workcell coordinate frame is the coordinate frame in which robot motions are programmed. At box 412, inverse kinematics calculations are performed to determine robot joint motions which will cause the target position “on” the workpiece (actually offset from the workpiece, at a location which is in a known position and orientation relative to the robot gripper) to be moved to the location of the tool tip fixed in the workcell. At box 414, the joint angle set computed at the box 412 is output; that is, the robot is moved to the calculated joint angles. From the box 414, the process continuously loops back to the boxes 402 and 404 for the next robot control cycle.
In
An offset path 570 is different than the offset path 370 described earlier. At the start/end position on the nominal path 222, the desired offset distance is defined as zero. At a point 570A, the desired offset distance begins to ramp up, then levels off at a constant offset value as the nominal path moves along the left rim of the workpiece 220. The desired offset distance then begins to ramp back down, and reaches zero at a point 570B. The nominal path 222 and/or the shape of the desired offset may be defined using a spline function. The example of
In
In
Throughout the preceding discussion, various computers and controllers are described and implied. It is to 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 a memory module. In particular, this includes a processor in the robot controller discussed above. Specifically, the processors in these devices are configured to perform the robot dynamic path modification using a remote tool center point coordinate frame described above.
While a number of exemplary aspects and embodiments of the methods and systems for robot dynamic path modification using a remote tool center point coordinate frame have been discussed above, those of skill in the art will recognize modifications, permutations, additions and sub-combinations thereof. It is therefore intended that the following appended claims and claims hereafter introduced are interpreted to include all such modifications, permutations, additions and sub-combinations as are within their true spirit and scope.
This application claims the benefit of the priority date of U.S. Provisional Patent Application Ser. No. 63/519,893, titled ROBOT REAL TIME PATH TRACKING UNDER REMOTE TOOL CENTER POINT FRAME, filed Aug. 16, 2023.
Number | Date | Country | |
---|---|---|---|
63519893 | Aug 2023 | US |