Offline robot programming device
09902067 ยท 2018-02-27
Assignee
Inventors
Cpc classification
B25J9/1666
PERFORMING OPERATIONS; TRANSPORTING
International classification
Abstract
A robot programming device capable of easily checking interference between a robot and peripheral equipment, by which the interference can be easily avoided automatically or manually. The programming device has: a simulation executing part which executes a simulation of motions of peripheral equipment and a robot hand based on a control signal; a signal setting part which sets the control signal for executing the simulation, with respect to a teaching point or a trajectory between the teaching points included in a predetermined robot operation program or a program template, the control signal being set as attribute data of each teaching point or each trajectory; a moving part which moves the robot to the teaching point or the trajectory; and a display setting part which determines as to whether the workpiece is displayed or hidden, with respect to the teaching point or the trajectory to which the robot is moved.
Claims
1. A robot programming device for locating a robot, peripheral equipment and a workpiece in a three-dimensional virtual space, and for teaching the robot, the robot programming device comprising a controller comprising: a simulation executing part configured to execute a simulation of a motion of the peripheral equipment and an opening/closing motion of a hand of the robot, by using a control signal; a signal setting part configured to set the control signal for executing the simulation of the motion of the peripheral equipment and the opening/closing motion of the hand of the robot, with respect to a teaching point or a trajectory between teaching points included in a predetermined robot operation program, or with respect to a teaching point or a trajectory between teaching points included in a program template on which the predetermined robot operation program is described, wherein the control signal is set as attribute data of each teaching point or each trajectory, and wherein the attribute data include data indicating whether the workpiece is to be displayed or hidden; a moving part configured to move the robot to the teaching point or the trajectory between the teaching points; and a display setting part configured to automatically determine, based on the attribute data, as to whether the workpiece is displayed or hidden, with respect to the teaching point or the trajectory between the teaching points to which the robot is moved.
2. The robot programming device as set forth in claim 1, wherein the controller further comprises: an interference avoidance condition setting part configured to set a motion direction and a motion range of the robot for searching for a position for avoiding interference, the motion direction and the motion range of the robot being set as the attribute data to each teaching point; and an interference avoidance teaching point setting part configured to, when interference occurs with respect to the robot moved to the teaching point by the moving part, move the robot to a position where the interference is avoided based on the setting of the interference avoidance condition setting part, and then automatically set the position where the interference is avoided as a teaching point.
3. The robot programming device as set forth in claim 1, wherein the controller further comprises: an interference avoidance condition setting part configured to set a motion direction and a motion range of the robot for searching for a position for avoiding interference, the motion direction and the motion range of the robot being set as the attribute data to each trajectory between the teaching points; and an interference avoidance teaching point setting part configured to, when an interference section with respect to the robot exists on the trajectory between the teaching points to which the robot is moved by the moving part, move both ends of the interference section based on the setting of the interference avoidance condition setting part, and then automatically set positions of the moved ends of the interference section as teaching points.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) The above and other objects, features and advantages of the present invention will be made more apparent by the following description of the preferred embodiments thereof, with reference to the accompanying drawings, wherein:
(2)
(3)
(4)
(5)
(6)
(7)
DETAILED DESCRIPTIONS
(8)
(9) Hand 18 is configured to: grip a workpiece 32 to be processed by machine tool 30; enter machine tool 30 while gripping workpiece 32 when door 24 is opened; locate workpiece 32 onto working table 26 of machine tool 30; and exit from machine tool 30 after locating workpiece 32. On the other hand, clamper 28 is configured to hold workpiece 32 on working table 26 located by robot 22, whereby machine tool 30 can carry out a predetermined process for workpiece 32 held by clamper 28.
(10) Controller 16 includes: a simulation executing part 34 which executes a simulation of a motion of peripheral equipment 30 and an opening/closing motion of hand 18, based on the control signal; a signal setting part 36 which sets the control signal for executing the simulation of the motion of peripheral equipment 30 and the opening/closing motion of hand 18, with respect to a teaching point or a trajectory between the teaching points included in a predetermined robot operation program, or with respect to a teaching point or a trajectory between the teaching points included in a program template on which the robot operation program is previously described, the control signal being set as attribute data of each teaching point or each trajectory; a moving part (movement commanding part) 38 which moves robot 22 to the teaching point or the trajectory between the teaching points; and a display setting part 40 which determines as to whether workpiece 32 is to be displayed or hidden, with respect to the teaching point or the trajectory between the teaching points to which robot 22 is moved.
(11) Optionally, controller 16 may include: an interference avoidance condition setting part 42 which sets a motion direction and a motion range of robot 22 for searching a position for avoiding interference, the motion direction and the motion range of robot 22 being set as attribute data to the teaching point; and an interference avoidance teaching point setting part 44 which, when interference occurs with respect to robot 22 moved to the teaching point by moving part 38, moves robot 22 to a position where the interference can be avoided based on the setting of interference avoidance condition setting part 42, and then automatically sets the position where the interference can be avoided as a teaching point.
(12) Alternatively, controller 16 may include: an interference avoidance condition setting part 42 which sets a motion direction and a motion range of robot 22 for searching a position for avoiding interference, the motion direction and the motion range of the robot being set as attribute data to the trajectory between the teaching points; and an interference avoidance teaching point setting part 44 which, when an interference section (a section C0 to C1 as explained below) with respect to robot 22 exists on the trajectory between the teaching points to which robot 22 is moved by moving part 38, moves both ends of the interference section based on the setting of interference avoidance condition setting part 42, and then automatically sets positions of the moved ends of the interference section as teaching points.
(13) Hereinafter, an example of the procedure of programming device 10 will be explained. In this example, as shown in
(14) Table 1 shows attribute data of each of teaching point P1 to P6. In detail, the attribute data of each teaching point includes: a control signal DO[1] for opening/closing door 24; a control signal RO[1] for opening/closing hand 18; a control signal DO[2] for opening/closing clamper 28; a signal gripped workpiece for setting as to whether the workpiece gripped by hand 18 is displayed or hidden (undisplayed); and a signal located workpiece for setting as to whether the workpiece located on working table 26 is displayed or hidden (undisplayed).
(15) By setting the signals as indicated by table 1, the following processes can be automatically executed: until workpiece 32 is located on working table 26 (from P1 to P3), the gripped workpiece is displayed and the located workpiece is hidden; and from when hand 18 is moved away from the workpiece location position to when hand 18 is returned to the waiting position (from P4 to P6), the gripped workpiece is hidden and the located workpiece is displayed. In other words, when robot 22 (hand 18) is moved to any teaching point, the virtual workpiece can be automatically displayed or hidden depending on the actual motion. Therefore, the operator can easily and correctly check the interference between robot 22 and machine tool 30, etc. at each teaching point, and thus can easily correct the teaching point or add a new teaching point when the interference may occur.
(16) TABLE-US-00001 TABLE 1 Attribute Data of Teaching Point Value Name of Name of (Signal Teaching Point Signal Setting Content In Front of DO[1] ON Close Door Machine RO[1] ON Close Hand (Enter) (P1) DO[2] OFF Open Clamper Gripped Display Display Gripped Workpiece Workpiece Located Hide Hide Located Workpiece Workpiece Approach DO[1] OFF Open Door Workpiece RO[1] ON Close Hand Location DO[2] OFF Open Clamper Position (P2) Gripped Display Display Gripped Workpiece Workpiece Located Hide Hide Located Workpiece Workpiece Locate DO[1] OFF Open Door Unprocessed RO[1] ON Close Hand Workpiece (P3) DO[2] OFF Open Clamper Gripped Display Display Gripped Workpiece Workpiece Located Hide Hide Located Workpiece Workpiece Exit From DO[1] OFF Open Door Workpiece RO[1] OFF Open Hand Location DO[2] ON Close Clamper Position (P4) Gripped Hide Hide Gripped Workpiece Workpiece Located Display Display Located Workpiece Workpiece In Front of DO[1] ON Close Door Machine RO[1] OFF Open Hand (Exit) (P5) DO[2] ON Close Clamper Gripped Hide Hide Gripped Workpiece Workpiece Located Display Display Located Workpiece Workpiece Wait (P6) DO[1] ON Close Door RO[1] OFF Open Hand DO[2] ON Close Clamper Gripped Hide Hide Gripped Workpiece Workpiece Located Display Display Located Workpiece Workpiece
(17) Table 2 shows attribute data of each trajectory between teaching points P1 to P6. In detail, similarly to table 1, the attribute data of each trajectory includes: a control signal DO[1] for opening/closing door 24; a control signal RO[1] for opening/closing hand 18; a control signal DO[2] for opening/closing clamper 28; a signal gripped workpiece for setting as to whether the workpiece gripped by hand 18 is displayed or hidden; and a signal located workpiece for setting as to whether the workpiece located on working table 26 is displayed or hidden.
(18) By setting the signals as indicated by table 2, the following processes can be automatically executed: until workpiece 32 is located on working table 26 (from P1 to P3), the gripped workpiece is displayed and the located workpiece is hidden; and from when hand 18 is moved away from the workpiece location position to when hand 18 is returned to the waiting position (from P4 to P6), the gripped workpiece is hidden and the located workpiece is displayed. In other words, when robot 22 (hand 18) is moved to any teaching point, the virtual workpiece can be automatically displayed or hidden depending on the actual motion. Therefore, the operator can easily and correctly monitor the interference between robot 22 and machine tool 30, etc. at each teaching point, and thus can easily correct the teaching point or add a new teaching point when the interference may occur.
(19) TABLE-US-00002 TABLE 2 Attribute Data between Teaching Points Name of Trajectory Value between Name of (Signal Teaching Points Signal Setting Content From (In Front DO[1] OFF Open Door of Machine RO[1] ON Close Hand (Enter)) to DO[2] OFF Open Clamper (Approach Gripped Display Display Gripped Workpiece Workpiece Workpiece Location Located Hide Hide Located Position) Workpiece Workpiece From (Approach DO[1] OFF Open Door Workpiece RO[1] ON Close Hand Location DO[2] OFF Open Clamper Position) to Gripped Display Display Gripped (Locate Workpiece Workpiece Unprocessed Located Hide Hide Located Workpiece) Workpiece Workpiece From (Locate DO[1] OFF Open Door Unprocessed RO[1] OFF Open Hand Workpiece) to DO[2] ON Close Clamper (Exit From Gripped Hide Hide Gripped Workpiece Workpiece Workpiece Location Located Display Display Located Position) Workpiece Workpiece From (Exit DO[1] OFF Open Door From Workpiece RO[1] OFF Open Hand Location DO[2] ON Close Clamper Position) to Gripped Hide Hide Gripped (In Front of Workpiece Workpiece Machine (Exit)) Located Display Display Located Workpiece Workpiece From (In Front DO[1] ON Close Door of Machine RO[1] OFF Open Hand (Exit)) to DO[2] ON Close Clamper (Wait) Gripped Hide Hide Gripped Workpiece Workpiece Located Display Display Located Workpiece Workpiece
(20) Table 3 shows attribute data relating to a process for automatically correcting or adding a teaching point in order to avoid the interference, by using interference avoidance condition setting part 42 and interference avoidance teaching point setting part 44 as explained above. In a non-limiting example, search axes for moving robot 22 (hand 18) so as to avoid the interference are determined as three axes (X, Y and Z), and as shown in
(21) TABLE-US-00003 TABLE 3 Attribute Data of Teaching Point (for Avoiding Interference) Name of Search Search Teaching Point Axis Direction Motion Range () In Front of X From to + 1000 Machine Z From + to 1000 (Enter) (P1) Y From + to 1000 Approach Z From + to 1000 Workpiece X From to + 1000 Location Y From + to 1000 Position (P2) Locate Z From + to 1000 Unprocessed X From to + 1000 Workpiece (P3) Y From + to 1000 Exit From Z From + to 1000 Workpiece X From to + 1000 Location Y From + to 1000 Position (P4) In Front of X From to + 1000 Machine Z From + to 1000 (Exit) (P5) Y From + to 1000 Wait (P6) X From to + 1000 Z From + to 1000 Y From + to 1000
(22) When the interference occurs at the teaching point to which robot 22 is moved due to the operation by the operator, as indicated by table 3, at least one search axis at the teaching point is moved along a search direction thereof within a predetermined motion range (or a search range), whereby the teaching point can be automatically corrected so as to avoid the interference. In the example of table 3, although the motion range of each search axis is determined as 1000 mm, this range may be determined or modified based on the shape or size of robot 22, machine tool 30 or workpiece 32, etc.
(23) Table 4 shows attribute data relating to a process for automatically correcting or adding a trajectory between teaching points in order to avoid the interference, by using interference avoidance condition setting part 42 and interference avoidance teaching point setting part 44 as explained above. In a non-limiting example of table 4, similarly to table 3, search axes for moving robot 22 (hand 18) so as to avoid the interference are determined as three axes (X, Y and Z), and as shown in
(24) TABLE-US-00004 TABLE 4 Attribute Data between Teaching Points (for Avoiding Interference) Name of Trajectory between Teaching Search Search Points Axis Direction Motion Range () From (In Front X From to + 1000 of Machine Z From + to 1000 (Enter)) to Y From + to 1000 (Approach Workpiece Location Position) From (Approach X From to + 1000 Workpiece Z From + to 1000 Location Y From + to 1000 Position) to (Locate Unprocessed Workpiece) From (Locate X From to + 1000 Unprocessed Z From + to 1000 Workpiece) to Y From + to 1000 (Exit From Workpiece Location Position) From (Exit X From to + 1000 From Workpiece Z From + to 1000 Location Y From + to 1000 Position) to (In Front of Machine (Exit)) From (In Front X From to + 1000 of Machine Z From + to 1000 (Exit)) to Y From + to 1000 (Wait)
(25)
(26) First, in step S1, robot 22 is moved from teaching point P0 to P1, and then one (1) is substituted into a flag (step S2). Next, in step S3, it is judged as to whether or not the interference occurs. If the interference occurs, teaching points (C0 and C1) at the both ends of the interference section are calculated (step S4), and then zero (0) is substituted into the flag (step S5).
(27) In the next step S6, teaching points C0 and C1 are moved (or offset) by a predetermined distance by moving the designated search axis along the search direction thereof within the predetermined motion range. Next, in step S7, the robot is moved to teaching points P0.fwdarw.C0.fwdarw.C1.fwdarw.P1 in this order, and then it is judged again as to whether or not the interference occurs (step S3). The procedure from step S3 to S7 is repeated until the interference does not occur.
(28) When it is judged that the interference does not occur, a flag judgment is executed in step S8, and then teaching points C0 and C1 after being moved are inserted between teaching points P0 and P1 (step S9). By virtue of this, a new trajectory for avoiding the interference between the robot and object 46 can be obtained, as shown in
(29) As explained above, even when the interference occurs on the trajectory between the teaching points to which robot 22 is moved due to the operation by the operator, the trajectory can be automatically corrected so as to avoid the interference, by moving the teaching points at the both ends of the interference section along the predetermined search direction within the predetermined motion range (search range). In the example of table 4, although the motion range of each search axis is determined as 1000 mm, this range may be determined or modified based on the shape or size of robot 22, machine tool 30 or workpiece 32, etc.
(30) In the above embodiment, the signal for executing the simulation of the motion of the peripheral equipment and the opening/closing motion of the hand is set with respect to each teaching point or each trajectory between the teaching points in the robot operation program, and displaying/hiding the workpiece is switched. In this regard, the robot operation program may be constituted by a plurality of blocks (or a program template) each representing an operation unit, and in this case, the same process can be executed with respect to a teaching point or a trajectory between the teaching points included in the program template.
(31) The robot programming device according to the above embodiment may be substantially integrally incorporated into a controller for controlling an actual robot. Alternatively, the robot programming device may be arranged as another device (such as a personal computer) separated from the controller. In addition, each function of the controller may be realized by a CPU, for example.
(32) According to the present invention, the motion of the peripheral equipment and the displaying/hiding of the workpiece can be executed with respect to each teaching point or each trajectory between the teaching points. Therefore, the interference of the robot can be easily and precisely checked, and the teaching point can be easily corrected.
(33) By setting the condition for avoiding interference to the teaching point or the trajectory between the teaching points as the attribute data, the position for avoiding interference can be automatically detected, and the teaching position can be automatically corrected or inserted, depending on the motion of the peripheral equipment and/or the existence of the workpiece.
(34) While the invention has been described with reference to specific embodiments chosen for the purpose of illustration, it should be apparent that numerous modifications could be made thereto, by one skilled in the art, without departing from the basic concept and scope of the invention.