1. Field of the Invention
The present invention relates to a robot program production system. More particularly, the present invention is concerned with a robot program production system that produces a robot program off-line, moves a robot to an actual teaching point corresponding to a teaching point described in the produced robot program, acquires information on the actual teaching point, and corrects the information on the teaching point described in the robot program.
2. Description of the Related Art
In currently available robot program production systems, when a robot program produced off-line is applied at a site, the robot program produced off-line is run from the beginning in a single step mode. A robot is halted at a teaching point, before the robot touches a work, and is jogged in order to correct the teaching point at which the robot should touch the work. A teaching point to be taught to a robot refers to a position to which the distal end of a robot is moved. Assuming that the robot is a robot hand, the teaching point is the position to which the distal end of a hand portion is moved. If the robot is a welding robot, the teaching point is the position to which the distal end of a welding rod is moved. Information on a teaching point to be taught to a robot refers to information on the position of the teaching point or the posture of the robot, or refers to relevant data of the teaching point, for example, attribute data.
In the foregoing robot program production systems, according to the related arts, it is hard to find a teaching point that should be corrected and that is described in a robot program produced off-line. In order to find the teaching point, the robot program is run from the beginning. As the teaching point is corrected with a robot in motion, it takes much time to correct the teaching point.
Moreover, when a teaching point that should be corrected is left uncorrected, if a robot program is run, a robot may interfere with a work or with an ambient facility, and the robot, the work, or the ambient facility may be damaged.
Accordingly, the present invention addresses the foregoing problems. An object of the present invention is to provide a robot program production system capable of producing a robot program without the necessity of taking much time to correct teaching points and without a damage to a robot, a work, or an ambient facility.
To accomplish the object, a robot program production system in accordance with the present invention appends pieces of information on teaching points, which a robot is taught as positions where the robot should touch a work or an ambient facility, to a robot program during off-line production of the robot program. Moreover, the robot program production system determines a path along which the robot is moved from the current position to a teaching point that should be corrected, and moves the robot to the teaching point. Moreover, the robot program production system preserves data items indicating whether all teaching points that should be corrected have been corrected.
To be more specific, a robot program production system in accordance with the present invention includes: a storage block that saves pieces of information on teaching points to be taught to a robot and information on an ambient environment model representing the robot, a work to be processed by the robot, and obstacles to a process performed by the robot; a programming unit that produces a robot program, which instructs the robot to perform a series of actions, in advance and off-line; and a robot control unit that controls the action of the robot so as to move the robot to a teaching point. The programming unit includes a means for determining a path, along which the robot is moved from the current position of the robot to a teaching point, which should be corrected, without interference with the work to be processed and the obstacles to the process, on the basis of the pieces of information on teaching points described in the robot program produced in advance and the information on the ambient environment model. The robot control unit includes a means for moving the robot to the teaching point, which should be corrected, along a determined path. The information on the teaching point that should be corrected is replaced with information on an actual teaching point acquired after completion of the movement, whereby the information on the teaching point described in the robot program is corrected.
In the robot program production system, correction-needed point identification data with which a teaching point whose position should be corrected is identified is appended to information on each teaching point described in the robot program.
In the robot program production system, the correction-needed point identification data is specified as attribute data.
In the robot program production system, the programming unit includes a means for appending positional correction end data to information on a teaching point whose positional correction has been completed.
In the robot program production system, the programming unit includes a means for specifying the positional correction end data in the attribute data of the teaching point whose positional correction has been completed.
In the robot program production system, the robot control unit includes: a means for running the robot program in response to a manipulation performed to initiate the robot program; a means for checking the presence of a teaching point, which satisfies the conditions that positional correction is needed but has not been completed, in response to the manipulation performed to initiate the robot program; and a means for, if the presence of a teaching point satisfying the conditions is recognized, ignoring the initiation and displaying a warning message which signifies the presence of a teaching point that satisfies the conditions.
Owing to the foregoing constituent features, when a robot program is produced off-line, pieces of information on teaching points which a robot is taught as positions where the robot should touch a work are appended to the robot program. Consequently, a teaching point which is taught to the robot and which should be corrected can be readily identified. This obviates the necessity of correcting teaching points while running the robot program from the beginning as conventionally. The time required for correction of teaching points can be shortened. Moreover, a path along which the robot is moved from the current position to a teaching point that should be corrected is determined. The robot is moved to the teaching point along the determined path, whereby the robot can be approached to the teaching point safely without a damage to the robot, a work, or an ambient facility derived from interference. Moreover, all teaching points that should be corrected are checked to see if they have been corrected. Consequently, damage to the robot, the work, or the ambient facility derived from interference attributable to the presence of an uncorrected teaching point can be avoided.
The programming unit 10 is realized with, for example, a personal computer, and includes a computer body, an input device including a keyboard and a mouse, an output device including a display unit and a printer, and a communication device (not shown) via which the computer body transmits or receives programs or data to or from external computers over a LAN or the Internet. According to the present embodiment, the robot control unit 20 serves as one of the external computers. The robot control unit 20 includes, in addition to the same components as those of the personal computer, a drive control device for driving or controlling servomotors that actuate the robot 2.
The computer body includes: a CPU; a RAM serving as a main storage device whose area is used as a temporary storage area where a program to be run by the CPU or data is held, or used as a work area by the CPU; a ROM in which resident programs and data are stored; an auxiliary storage device including magnetic disks in which programs or data to be written in the RAM if necessary are stored; and a reader that reads a storage medium M, in which a program or data is stored, such as a flexible disk (FD) or a compact disk (CD). The CPU, RAM, ROM, auxiliary storage device, and reader are interconnected over a bus so that they can communicate with one another. Next, the functional configurations of the programming unit 10 and the robot control unit 20 employed in the present embodiment will described below.
The programming unit 10 shown in
The teaching point approach path determination block 12 determines an approach path, along which the robot 2 is moved from the current position to a teaching point, which should be corrected, without interference, on the basis of the robot program produced in advance and stored in the storage block 11, the pieces of information on teaching points, and information on the ambient environment model.
The robot control unit 20 shown in
At step S1, when the programming unit 10 produces a robot program, information on the position and shape of an ambient environment model representing a robot modeled and stored in advance in the storage block 11, a work to be treated by the robot, and an obstacle to treatment performed by the robot is used to produce pieces of information on teaching points which are taught to a robot and which should be corrected, or in the present embodiment, pieces of information on positions at which the distal end of the welding rod of a robot may touch respective welding spots of a vehicle body.
Information on a teaching point which is taught to a robot and which should be corrected because the robot may touch the vehicle body 3 that is a work is recorded as attribute data of the teaching point shown in
At step S2, the robot program produced by the programming unit 10 and the pieces of information on teaching points are transmitted to the robot control unit 20.
At step S3, the robot control unit 20 displays a list of teaching points, which are taught to a robot and should be corrected, on the screen of the display 21 according to the received program and the received pieces of information on the teaching points. An operator views the screen and transmits pieces of information on teaching points, which should be corrected, to the programming unit 10.
At step S3, the robot control unit 20 transmits information on the current position of the robot 2 and information on a teaching point to be corrected this time to the programming unit 10.
At step S4, the programming unit 10 determines a path of movement linking the current position to the teaching point to be corrected.
The determined path is traced using the ambient environment model in order to confirm that the robot will not interfere with the work 3 or any ambient equipment (not shown). If the robot may interfere with something, a bypass is added to the path in order to prevent the interference. When a path is determined, a terminal position of the path is varied depending on whether the robot is moved to a teaching point or halted at a preceding position separated by a predetermined distance from the teaching point.
At step S4, the newly determined path is transmitted to the robot control unit 20.
At step S5, the robot control unit 20 proceeds with teaching point correction while approaching the robot to a teaching point along the path of movement.
After the robot has approached the teaching point, the robot is jogged in order to correct the position thereof. Completion of positional correction is then recorded. Data indicating whether teaching point correction has been completed is recorded for each teaching point.
At step S6, all teaching points are checked to see if they have been corrected. If all the teaching points are recognized to have been corrected, control is passed to step S7. The program having the pieces of information on the teaching points corrected is run at step S7. If at least one teaching point has not been corrected, control is returned to step S4. Step S4 and step S5 are repeatedly executed.
After all teaching points have had their positions corrected, the robot program is run. At this time, teaching point correction end data items specified in attribute data items of teaching points that should be corrected are checked to see if a teaching point that should be corrected but has not been corrected is present. If a teaching point that should be corrected but has not been corrected is present, the name of a program having information on the teaching point left uncorrected (sub 3 and sub 4 in
Even when the warning message is displayed, if the program is activated, before the robot moves to a teaching point that has not been corrected, the warning message is redisplayed. If the program is not activated, the warning screen image is changed to a screen image through which teaching points are corrected.
Data items indicating whether respective teaching points should be corrected and data items indicating whether respective corrections have been completed are recorded in a file other than a file containing attribute data items of the respective teaching points or a file containing the robot program header or the text thereof.
At step S8, whether the robot program can be run is verified. If the robot program is recognized to be able to be run, processing is terminated. If the robot program is not recognized to be able to be run, control is passed to step S9. At step S9, teaching points that have not been corrected are corrected and control is returned to step S7.
Number | Date | Country | Kind |
---|---|---|---|
2004-282324 | Sep 2004 | JP | national |