As described above, the present invention provides a low cost, reliable and autonomous method to acquire a predetermined number of degrees of freedom coordinate information so that a robot under such control method can program itself given that the desired path is visibly marked. While the embodiment of the present invention described herein has six as the predetermined number of degrees of freedom coordinate information that is only one example of the predetermined number of degrees of freedom coordinate information that may be used with the present invention and is not meant to limit the applicability of the present invention as those skilled in the art can readily ascertain after reading the description herein that other degrees of freedom coordinate information can be used with the present invention.
As will be appreciated by one of skill in the art, the present invention may be embodied as a method, system, or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.”
Furthermore, the present invention may take the form of a computer program product on a computer-usable or computer-readable medium having computer-usable program code embodied in the medium. The computer-usable or computer-readable medium may be any medium that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device and may by way of example but without limitation, be an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or propagation medium or even be paper or other suitable medium upon which the program is printed. More specific examples (a non-exhaustive list) of the computer-readable medium would include: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a transmission media such as those supporting the Internet or an intranet, or a magnetic storage device.
Computer program code for carrying out operations of the present invention may be written in an object oriented programming language such as Java, Smalltalk, C++ or the like, or may also be written in conventional procedural programming languages, such as the “C” programming language. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
While
In accordance with the vision-force-servo control method of the present invention a controller, not shown in
As is well known, a camera 18 is a two dimensional imaging device that can easily and accurately provide two dimensional information. As described in the prior art such as the '425 Patent, there have been numerous attempts to construct three dimensional information based on the 2-D image and these attempts resulted in a complex and costly system. The present invention uses a 2-D imaging device, such as camera 18, for 2-D purposes only. As shown in
The third degree of freedom, the robot movement in the Z direction, ż, is controlled by the force feedback Fz from the force sensor 14 to maintain a constant and continuous contact between the tool 16 and the work piece 20. This controlled degree of freedom together with the controlled robot movement in the x and y directions causes the TCP trajectory to follow the exact location (x, y, z) coordinates of the desired path. Compared to the methods described in the prior art, the camera 18 is not used as a 3-D metrology device. In the present invention, the camera 18 is used only as a 2-D feedback device only for obtaining the x and y dimensions. The third dimension, z, is obtained by feedback control using force sensor 14.
In many applications such as grinding and deburring, giving the (x, y, z) coordinates is not sufficient for the robotic process, in that the tool 16 has to maintain a desirable orientation relative to the work piece surface. To acquire all 6-DOF coordinates, the orientation roll {dot over (γ)} is controlled as is shown in
As shown in
For each position of tool 16, neighboring points are found to generate a normal direction {right arrow over (V)}s of the surface of work piece 20. The normal direction is the tool direction. Thus the tool 16 is always perpendicular to the surface of work piece 20.
The methods to obtain the two orientations, pitch and yaw, are now described in detail.
Method 1:
The robot is first controlled to follow the feature path 20a shown in
The robot is then controlled by offsetting the feature path 20a a certain distance on either side of that feature giving rise as shown in
Referring now to
Referring now to
Referring now to
The X position in the image frame is then controlled to reach the center of the feature path 20a. Once the tool 16 is at the center of the feature, the point is the final path point and recorded. The robot 12 is then controlled along the Y direction and moved to the next point. The process continues until a path is generated.
Method 2:
In order to calculate the surface curvature of the feature path 20a, the robot 12 is controlled to follow a zig-zag pattern 40 as shown in
Referring now to
The tool 16 is maintained at a constant force and in continuous contact with the work piece 20. After image processing using the captured images from camera 18, {dot over (x)}, {dot over (y)} and {dot over (γ)} can be calculated and used to control the robot 12 to follow the zig-zag pattern 40. When the tool 16 is at the center of the feature 20a, the robot 12 stops moving along the XY direction. The orientation {dot over (α)} and {dot over (β)} are computed by finding the normal of the fitted plane using the recorded data. The orientation is controlled until it reaches its desired value. The X position is then corrected until the tool 12 is at the center of the feature. The point (path point) is then recorded. The robot 12 moves again to follow the zig-zag pattern 40 until the tool 16 reaches the center of the feature. The process continues until a path is generated.
With the method described above, all six degree of freedom coordinates in the three dimensional space can be obtained in the following sequence:
Step 1: The desired path on the work piece 20 is visibly marked.
Step 2: With the tool 16 in contact with the work piece 20, under the vision-force-servo method described above, the tool TCP 16a is moving along the desired path, with 6-DOF coordinates resolved.
The above method can be applied to make a robot 12 program itself, without using the imaging device, for example camera 18, for metrology and avoids the high cost/requirements associated with using the imaging device for metrology. Using the 2-D imaging device only for deriving 2-D information for feedback purpose that eliminates the high accuracy requirements for imaging device itself as well as the stringent calibration between the 2-D camera space and 3-D robot workspace for metrology purpose.
It should be appreciated that the program developed for the robot using the method and apparatus of the present invention may be for the tool tip to follow a path on a workpiece that is either new in the sense that the desired feature path was not known before to the robot or is slightly different than a path previously followed by the tool tip on another workpiece that is the same as or substantially identical to the workpiece on which work is now to be performed where the differences between the path to be followed on that workpiece and the path that was followed on an earlier workpiece are due for example to variations between the workpieces. Thus in the former case the computing device that receives the information from the camera and force sensor in accordance with the present invention to develop a program that allows the tool tip to follow that is “new” as described above whereas in the latter case the computing device uses that information to make the necessary modifications to a preexisting program for movement of the tool tip when it is to perform work on the workpiece.
Referring now to
The system 100 includes that method 102 in the form of software that is on a suitable media in a form that can be loaded into the robot controller 104 for execution. Alternatively, the method can be loaded into the controller 104 or may be downloaded into the controller 104, as described above, by well known means from the same site where controller 104 is located or at another site that is remote from the site where controller 104 is located. As another alternative, the method 102 may be resident in controller 104 or the method 102 may installed or loaded into a computing device (not shown in
As can be appreciated by those of ordinary skill in the art, when the method is implemented in software in controller 104, the controller functions as a computing device to execute the method 102. The controller 104 is connected to robot 106 which in turn is used to perform the process 108 that uses the tool tip. Thus if the method 102 is executed by controller 104 or if the controller 104 receives commands from a computing device that executes the method 102 the robot 106 is controlled to perform the process 108 in accordance with the present invention. It should be appreciated that the adaptive PI control method 102 can be implemented on the robot controller 104 as a software product, or implemented partly or entirely on a remote computer, which communicates with the robot controller 104 via a communication network, such as, but not limited to, the Internet.
The various features and advantages for the present invention become apparent to those skilled in the art from the above detailed description of the preferred embodiment.
It is to be understood that the description of the foregoing exemplary embodiment(s) is (are) intended to be only illustrative, rather than exhaustive, of the present invention. Those of ordinary skill will be able to make certain additions, deletions, and/or modifications to the embodiment(s) of the disclosed subject matter without departing from the spirit of the invention or its scope, as defined by the appended claims.