# Patent

## Title
Work positioning device

## Abstract

Regarding predetermined positioning criteria (M1, M2), ((G1, G2), (N1, or N2), (K1, K2)), there is provided image processing means (40B) for obtaining by image processing, measured values (CD1, CD2) ((GD1, GD2), (ND1, or ND2), (KD1, KD2)) and reference values (CR1, CR2) ((GR1, GR2), (NR1, or NR2), (KR1, KR2)), and for moving a work (W) in a manner that the measured values (CD1, CD2) ((GD1, GD2), (ND1, or ND2), (KD1, KD2)) and the reference values (CR1, CR2) ((GR1, GR2), (NR1, or NR2), (KR1, KR2)) coincide with each other, thereby positioning the work (W) at a predetermined position.

## Background
CROSS-REFERENCE TO RELATED APPLICATION
This application is continuation application of pending U.S. patent application Ser. No. 10/480,806, which was filed on Dec. 19, 2003, which is the National Stage of International Application No. PCT/JP02/06036, filed on Jun. 18, 2002, which claims the benefit of Japanese Patent Application Nos. 2001-185958, filed on Jun. 20, 2001, 2001-280498, filed Sep. 14, 2001, 2002-49170, filed on Feb. 26, 2002, and 2002-158700, filed on May 31, 2002, the disclosures of which are expressly incorporated herein by reference in their entireties.


TECHNICAL FIELD
The present invention relates to a work positioning device, and in particular to a work positioning device which positions a work at a predetermined position by image processing.
BACKGROUND ART
Conventionally, a bending machine such as a press brake (FIG. 25(A)) comprises a punch P mounted on an upper table 52 and a die D mounted on a lower table 53, and moves either one of the tables upward or downward to bend a work W by cooperation of the punch P and die D.
In this case, before the bending operation, the work W is positioned at a predetermined position by being butted on a butting face 50 which is set behind the lower table 53.
In a case where an automatic bending operation is carried out with the use of a robot, the work W is positioned by a gripper 51 of the robot supporting the work W to place the work W on the die D and butt the work W on the butting face 50.
In order to bend a work W having its C portion forming-processed as shown in FIG. 25(B), one end A of the work W is supported by the gripper 51 of the robot, and the other end B is butted on the butting face 50.
However, in this case, the portion of the work W between the other end B and the portion placed on the die D is mildly curved as shown in FIG. 25(A).
Accordingly, the butting of the work W against the butting face 50 by the gripper 51 of the robot becomes very unstable, making it impossible to achieve accurate positioning. If a human worker determines the position of the work W by holding the work W, accurate positioning might be available due to the worker's sense developed over years. However, a robot can not achieve accurate positioning by trial and error.
Further, in a case where a corner of a work W is to be bent along a bending line m as shown in FIG. 26(A), positioning of the work W can not be carried out by butting the work W on the butting face 50. Furthermore, in a case where the bending line m and a work end surface T are not parallel with each other as shown in FIG. 26(B), the positioning accuracy might be lowered even if the work W is butted on the butting face 50. The intended bending operation can not be performed in either case.
An object of the present invention is to position a work accurately by carrying out electronic positioning by using image processing, even in a case where mechanical positioning by using a butting face is impossible.
DISCLOSURE OF INVENTION
According to the present invention, regarding predetermined positioning criteria M1, M2, ((G1, G2), (N1, or N2), (K1, K2)), there is provided, as shown in FIG. 1, image processing means (40B) for obtaining by image processing, measured values CD1, CD2 ((GD1, GD2), (ND1, or ND2), (KD1, KD2)) and reference values CR1, CR2 ((GR1, GR2), (NR1, or NR2), (KR1, KR2)), and for moving a work (W) in a manner that the measured values CD1, CD2 ((GD1, GD2), (ND1, or ND2), (KD1, KD2)) and the reference values CR1, CR2 ((GR1, GR2), (NR1, or NR2), (KR1, KR2)) coincide with each other, thereby positioning the work (W) at a predetermined position.
According to the above structure of the present invention, if it is assumed that the predetermined positioning criteria are, for example, holes M1 and M2 (FIG. 2(A)) formed in a work W, outlines G1 and G2 (FIG. 2(B)), of a work W, a corner N1 or N2 (FIG. 2(C)) of a work W, or distances K1 and K2 (FIG. 2(D)) between positions of edges of butting faces 15 and 16 and predetermined positions on a work end surface T, a work W supported by a robot 13 can be automatically moved and positioned at a predetermined position by driving the robot 13 via, for example, robot drive means 40C in a manner that measured values CD1 and CD2 ((GD1, GD2), (ND1, or ND2), (KD1, KD2)) which are obtained for the above kinds of positioning criteria by image processing via work photographing means 12 and reference values CR1 and CR2 ((GR1, GR2), (NR1, or NR2), (KR1, KR2)) which are obtained by image processing via information (CAD information or the like) coincide with each other.
Or in a case where the holes M1 and M2 (FIG. 2(A)) as the positioning criteria are quite simple square holes (for example, holes of regular squares), if the measured values and the reference values are displayed on a screen 40D (FIG. 1), a human worker can position the work W at a predetermined position by seeing the screen 40D and manually moving the work W in a manner that the measured values and the reference values coincide with each other.
As a first embodiment, the present invention specifically comprises, as shown in FIG. 3, work image detecting means 10D for detecting an image DW of a work W which is input from work photographing means 12 attached to a bending machine 11, work reference image calculating means 10E for calculating a reference image RW of the work W based on pre-input information, difference amount calculating means 10F for comparing the detected image DW and the reference image RW and calculating an amount of difference between them, and robot control means 10G for controlling a robot 13 such that the detected image DW and the reference image RW coincide with each other based on the amount of difference and thereby positioning the work W at a predetermined position.
Therefore, according to the first embodiment of the present invention, by providing, for example, positioning marks M1 and M2 constituted by holes at predetermined positions apart from a bending line m on the work W (FIG. 4) as the positioning criteria, the difference amount calculating means 10F (FIG. 3) can compare detected positioning marks MD1 and MD2 (FIG. 5(A)) in the detected image DW and reference positioning marks MR1 and MR2 in the reference image RW, and calculate amounts of difference Δθ=θ0−θ1 (FIG. 5(A)), Δx=x1−x1′(=x2−x2′) (FIG. 5(B)), and Δy=y1−y1′(=y2−y2′) in two-dimensional coordinates, regarding positions of centers of gravity of both kinds of the marks.
Or, according to another example of the first embodiment of the present invention, with the use of, for example, outlines G1 and G2 (FIG. 9) of the work W as the positioning criteria, the difference amount calculating means 10F (FIG. 3) can compare detected work outlines GD1 and GD2 in the detected image DW (FIG. 11(A)) and reference work outlines GR1 and GR2 in the reference image RW, and calculate amounts of difference Δθ=tan−1(D2/L2) (FIG. 11(A)), Δx=Ux+Tx (FIG. 11(B)), and Δy=Uy−Ty in two-dimensional coordinates.
Further, according to yet another example of the first embodiment of the present invention, with the use of, for example, a corner N1 or N2 (FIG. 12) as the positioning criterion, the difference amount calculating means 10F (FIG. 3) can compare only one detected corner ND2 in the detected image DW (FIG. 13(A)) and only one corresponding reference corner NR2 in the reference image RW, and calculate amounts of difference Δθ (FIG. 13(A)), Δx (FIG. 13(B)), and Δy in two-dimensional coordinates.
Accordingly, the work W can be positioned at a predetermined position by the robot control means 10G converting the amounts of difference into correction drive signals Sa, Sb, Sc, Sd, and Se so that the robot control means 10G can position the bending line m of the work W right under a punch P via the robot 13.
Further, as a second embodiment, the present invention specifically comprise, as shown in FIG. 15, distance detecting means 30D for detecting distances KD1 and KD2 between positions BR1 and BR2 of the edges of the butting faces 15 and 16 and predetermined positions AD1 and AD2 on a work end surface TD based on a work image DW input from work photographing means 12 attached to the bending machine 11, reference distance calculating means 30E for calculating by image processing, reference distances KR1 and KR2 between the preset positions BR1 and BR2 of the edges of the butting faces and predetermined positions AR1 and AR2 on a work end surface TR, distance difference calculating means 30F for comparing the detected distances and the reference distances and calculating distance differences between them, and robot control means 30F for controlling a robot in a manner that the detected distances and the reference distances coincide with each other based on the distance differences and thereby positioning the work at a predetermined position.
According to the second embodiment, with the use of distances K1 and K2 (FIG. 16) between positions of the edges of the butting faces 15 and 16 and predetermined positions on a work end surface T as the positioning criteria, the distance difference calculating means 30F (FIG. 15) can take differences between detected distances KD1 and KD2 and reference distances KR1 and KR2, and calculate distance differences Δy1 and Δy2 (FIG. 18) in two-dimensional coordinates. In this case, in order that the position of the work W on the bending machine 11 (FIG. 15) may be fixed uniquely, it is necessary to pre-position the work W in a longitudinal direction (X axis direction). For this purpose, the left end (FIG. 24(B)) of the work W supported by a gripper 14 of the robot 13 is arranged at a position apart from a machine center MC by X1, by moving the robot 13 by a predetermined distance XG=XS−X1 with the use of, for example, a side gauge 18 (FIG. 24(A)).
Under this state, the work W can be positioned at a predetermined position by the robot control means 30F (FIG. 15) converting the distance differences Δy1 and Δy2 into correction drive signals Sa, Sb, Sc, Sd, and Se so that the robot control means 30F can position a bending line m of the work W right under a punch P via the robot 13.
Due to this, according to the present invention, in a bending machine, even in a case where mechanical positioning by using butting faces is impossible, a work can be accurately positioned by carrying out electronic positioning by using the above-described image processing.



BRIEF DESCRIPTION OF DRAWINGS
FIG. 1 is an entire view showing the structure of the present invention;
FIG. 2 are diagrams showing positioning criteria used in the present invention;
FIG. 3 is an entire view showing a first embodiment of the present invention;
FIG. 4 is a diagram showing positioning marks M1 and M2 according to the first embodiment of the present invention;
FIG. 5 are diagrams showing image processing according to the first embodiment of the present invention;
FIG. 6 is a front elevation of a bending machine 11 to which the first embodiment of the present invention is applied;
FIG. 7 is a side elevation of the bending machine 11 to which the first embodiment of the present invention is applied;
FIG. 8 is a flowchart for explaining an operation according to the first embodiment of the present invention;
FIG. 9 is a diagram showing another example (positioning by using work outlines G1 and G2) of the first embodiment of the present invention;
FIG. 10 is a diagram showing an example of a case where a reference image RW in FIG. 9 is photographed;
FIG. 11 are diagrams showing image processing in FIG. 9;
FIG. 12 are diagrams showing an example of a case where a detected image DW and a reference image RW are compared by using corners N1 and N2 in the first embodiment of the present invention;
FIG. 13 are diagrams showing image processing in FIG. 12;
FIG. 14 is a diagram showing another example of FIG. 12;
FIG. 15 is an entire view showing a second embodiment of the present invention;
FIG. 16 is a diagram showing positioning criteria K and K according to the second embodiment of the present invention;
FIG. 17 is a diagram showing a specific example of FIG. 16;
FIG. 18 is a diagram showing image processing according to the second embodiment of the present invention;
FIG. 19 are diagrams for explaining a post-work positioning operation according to the second embodiment of the present invention (measuring of a bending angle Θ);
FIG. 20 are diagrams showing image processing in FIG. 19;
FIG. 21 is a diagram showing work photographing means 12 used in the second embodiment of the present invention;
FIG. 22 are diagrams for explaining an operation according to the second embodiment of the present invention;
FIG. 23 is a flowchart for explaining an operation according to the second embodiment of the present invention;
FIG. 24 are diagrams showing positioning of the longitudinal direction of a work, which is carried out prior to positioning by image processing according to the second embodiment of the present invention;
FIG. 25 are diagrams for explaining prior art; and
FIG. 26 are diagrams for, explaining another prior art.



BEST MODE FOR CARRYING OUT THE INVENTION
The present invention will now be explained with reference to the attached drawing in order to specifically explain the present invention.
FIG. 3 is an entire view showing a first, embodiment of the present invention. In FIG. 3, a reference numeral 9 denotes a superordinate NC device, 10 denotes a subordinate NC device, 11 denotes a bending machine, 12 denotes work photographing means, and 13 denotes a robot.
With this structure, for example, CAD information is input from the superordinate NC device 9 to the subordinate NC device 10 which is a control device of the bending machine 11 (step 101 in FIG. 8), and the order of bending is determined (step 102 in FIG. 8). After this, in a case where positioning of a work W by butting faces 15 and 16 (FIG. 6) turns out to be impossible (step 103 in FIG. 8: NO), positioning of the work W is performed by image processing in the subordinate NC device 10 (for example, steps 104 to 108 in FIG. 8). Thereafter, bending is carried out (step 110 in FIG. 8).
In this case, a press brake can be used as the bending machine U. As well known, a press brake comprises a punch P mounted on an upper table 20 and a die D mounted on a lower table 21, and carries out by the punch P and the die D, a predetermined bending operation on the work W which is positioned while being supported by a later-described gripper 14 of the robot 13.
The robot 13 is mounted on a base plate 1, and comprises a leftward/rightward direction (X axis direction) drive unit a, a forward/backward direction (Y axis direction) drive unit b, and an upward/downward direction drive unit c. The robot 13 comprises the aforementioned gripper 14 at the tip of its arm 19. The gripper 14 can rotate about an axis parallel with the X axis, and can also rotate about an axis parallel with a Z axis. Drive units d and e for such rotations are built in the arm 19.
With this structure, the robot 13 actuates each of the aforementioned drive units a, b, c, d, and e when correction drive signals Sa, Sb, Sc, Sd, and Se are sent from later-described robot control means 10G, so that control for making a detected image DW and a reference image RW coincide with each other will be performed (FIG. 5) and the work W will be positioned at a predetermined position.
The press brake (FIG. 6) is equipped with the work photographing means 12. The work photographing means 12 comprises, for example, a CCD camera 12A and a light source 12B therefor. The CCD camera 12A is attached near the upper table 20 for example, and the light source 12B is attached near the lower table 21 for example.
With this structure, the work W supported by the gripper 14 of the robot 13 is photographed by the CCD camera 12A, and the image of the work W is converted into a one-dimensional electric signal, and further converted by later-described work image detecting means 10D of the subordinate NC device 10 (FIG. 3) into a two-dimensional electric signal, thereby the detected image DW and the reference image RW are compared with each other (FIG. 5(A)) by difference amount calculating means 10F.
In this case, in order to photograph, for example, two positioning marks M1 and M2 (FIG. 4) provided on the work W as positioning criteria, the CCD camera 12A and its light source 12B are provided in pairs in a lateral direction. That is, holes M1 and M2 are bored through the work W (FIG. 4) at such predetermined positions apart from a bending line m as to cause no trouble in the bending operation on the work W, by using a punch press, a laser processing machine, or the like in a die cutting process before the bending operation by the press brake.
Or in a case where a great amount of hole information is included in CAD information, a human worker may arbitrarily designate and determine the positioning marks M1 and M2 on a development displayed on an operator control panel (10J) of the subordinate NC device 10.
As described above, the holes M1 and M2 (FIG. 4) are used as the positioning marks M1 and M2 which are examples of positioning criteria, to provide targets of comparison in a case where, as will be described later, the detected image DW of the work W and the reference image RW are compared (FIG. 5(A)) by the difference amount calculating means 10F (FIG. 3).
Consequently, the difference amount calculating means 10F calculates difference amounts of detected positioning marks MD1 and MD2 Δθ=θ0−θ1 (FIG. 5(A)), Δx=x1−x1′ (=x2−x2′) (FIG. 5(B)), and Δy=y1−y1′(=y2−y2′) with respect to reference positioning marks MR1 and MR2.
In this case, the positioning marks M1 and M2 (FIG. 4) provided on the work W are not necessarily symmetric, but are bored at such predetermined positions apart from the bending line m as to cause no trouble in the bending operation on the work W as described above. Accordingly, the CCD camera 12A and its light source 12B provided in pairs laterally can move pair by pair independently.
For example, one pair of CCD camera 12A and light source 12B move in the lateral direction (X axis direction) along X axis guides 7 and 8 by a mechanism constituted by a motor MAX, a pinion 2, and a rack 3 and by a mechanism constituted by a motor MBX, a pinion 4, and a rack 5 (FIG. 6), and move in the back and forth direction (Y axis direction) along a Y axis guide 17 by a mechanism constituted by a motor MAY and a ball screw 6 (FIG. 7), independently.
In a case where the positioning marks M1 and M2 on the work W are not circular holes as shown in FIG. 4 but square holes, the detected image DW and the reference image RW can be compared even if there is only one positioning mark provided, as will be described later (FIG. 14). In this case, either one of the left and right pairs of CCD camera 12A and light source 12B are used.
The butting faces 15 and 16 to be used in a case where the positioning of the work W is carried out in a conventional manner (step 103: YES, and step 109 in FIG. 8), are provided at the back of the lower table 21 constituting the press brake (FIG. 7).
The aforementioned superordinate NC device 9 (FIG. 3) and the subordinate NC device 10 are provided as the control devices for the press brake having the above-described structure. The superordinate NC device 9 is installed at an office or the like, and the subordinate NC device 10 is attached to a press brake (FIG. 6) in a plant or the like.
Of these devices, the superordinate NC 9 has CAD information stored therein. The stored CAD information contains work information such as plate thickness, material, length of bending line m (FIG. 4), and positions of positioning marks M1 and M2, etc. regarding a work W, and product information such as bending angle, etc. regarding a product. These information items are constructed as a three-dimensional diagram or a development.
The CAD information including these information items is input to the subordinate NC device 10 (step 101 in FIG. 8), to be used for, for example, positioning of the work W by image processing of the present invention.
The subordinate NC device 10 (FIG. 3) comprises a CPU 10A, information calculating means 10B, photographing control means 10C, work image detecting means 10D, work reference image calculating means 10E, difference amount calculating means 10F, robot control means 10G, bending control means 10H, and input/output means 10J.
The CPU 10A controls the information calculating means 10B, the work image detecting means 10D, etc. in accordance with an image processing program (corresponding to FIG. 8) of the present invention.
The information calculating means 10B determines information such as the order of bending, etc. necessary for positioning and bending of the work W, by calculation based on the CAD information input from the superordinate NC device 9 via the input/output means 10J to be described later (step 102 in FIG. 8).
The information determined by calculation of the information calculating means 10B includes, in addition to the order of bending, molds (punch P and die D) to be used, mold layout indicating which mold is arranged at which position on the upper table 20 and lower table 21, and a program of the movements of the robot 13 which positions and feeds the work W toward the press brake.
Due to this, it is determined, for example, whether positioning of the work W by the butting faces 15 and 16 is possible or not (step 103 in FIG. 8). In a case where it is determined as impossible (NO), positioning of the work W by using image processing of the present invention is to be performed (steps 104 to 108 in FIG. 8).
The photographing control means 10C performs control for moving the work photographing means 12 constituted by the aforementioned CCD camera 12A and light source 12B based on the order of bending, mold layout, positions of the positioning marks M1 and M2, etc. determined by the information calculating means 10B, and controls the photographing operation of the CCD camera 12A such as control of the view range (FIG. 5(A)).
The work image detecting means 10D (FIG. 3) converts an image of the work W including the positioning marks M1 and M2 which image is constituted by a one-dimensional electric signal sent from the work photographing means 12 into a two-dimensional electric signal, as described above.
Due to this, a detected image DW (FIG. 5(A)) of the work W is obtained. The positioning marks M1 and M2 (FIG. 4) on the work W are used as the targets of comparison with later-described reference positioning marks MR1 and MR2, as detected positioning marks MD1 and MD2 (FIG. 5(A)).
The positions of the centers CD1 and CD2 of gravity of the detected positioning marks MD1 and MD2 in two-dimensional coordinates will be represented herein as indicated below.

Positions of centers of gravity CD1(x1′, y1′), CD2(x2′, y2′)  {circle around (1)}

The deflection angle θ1 of the detected positioning marks MD1 and MD2 can be represented as below based on {circle around (1)}.

Deflection angle θ1=tan−1{(y2′−y1′)/(x2′−x1′)}  {circle around (2)}

{circle around (1)} and {circle around (2)} will be used when the difference amount calculating means 10F calculates a difference amount, as will be described later.
The work reference image calculating means 10E calculates a reference image RW including reference positioning marks MR1 and MR2 (FIG. 5(A)), based on the order of bending, mold layout, positions of the positioning marks M1 and M2 determined by the information calculating means 10B.
In this case, the positions of the centers CR1 and CR2 of gravity of the reference positioning marks MR1 and MR2 in two-dimensional coordinates will be likewise represented as below.

Positions of centers of gravity CR1(x1, y1), CR2(x2, y2)  {circle around (3)}

The deflection angle θ0 of the reference positioning marks MR1 and MR2 can be represented as below based on {circle around (3)}.

Deflection angle θ0=tan−1{(y2−y1)/(x2−x1)}  {circle around (4)}

{circle around (3)} And {circle around (4)} will be likewise used when the difference amount calculating means 10F calculates a difference amount.
The difference amount calculating means 10F receives the detected image DW and reference image RW including the detected positioning marks MD1 and MD2, and reference positioning marks MR1 and MR2 having positions of centers of gravity and deflection angles which can be represented by the above-described expressions {circle around (1)} to {circle around (4)}, and calculates a difference amount from the difference between them.
For example, an amount of difference Δθ in angle, of the detected positioning marks MD1 and MD2 with respect to the reference positioning marks MR1 and MR2 is represented as below based on {circle around (2)} and {circle around (4)}.

Difference amount Δθ=θ0−θ1  {circle around (5)}

Therefore, by rotating the detected image DW by the difference amount AG represented by {circle around (5)}, the detected image DW and the reference image RW become parallel with each other, as shown in FIG. 5(B).
Accordingly, a difference amount Δx in the X axis direction and a difference amount Δy in the Y axis direction are represented as below.

Difference amount Δx in the X axis direction=x1−x1′(=x2−x2′)  {circle around (6)}

Difference amount Δy in the Y axis direction=y1−y1′(=y1−y2′)  {circle around (7)}

The robot control means 10G (FIG. 3) controls the robot 13 such that the detected image DW and the reference image RW coincide with each other based on the difference amounts represented by the equations {circle around (5)} to {circle around (7)}, thereby positioning the work W at a predetermined position.
That is, when the robot control means 10G receives difference amounts Δθ, Δx, and Δy from the difference amount calculating means 10F, the robot control means 10G converts these into correction drive signals Sa, Sb, Sc, Sd, and Se, and sends each signal to the robot 13.
Thus, the robot 13 rotates the work W supported by the gripper 14 by the difference amount Δθ=θ0−θ1 (FIG. 5(A)), and after this, moves the work W by the difference amount Δx=x1−x1′(=x2−x2′) and the difference amount Δy=y1−y1′(=y2−y2′) in the X axis direction and in the Y axis direction (FIG. 5(B)), by actuating respective drive units a, b, c, d, and e constituting the robot 13.
That is, a control for making the detected image DW and the reference image RW coincide with each other is performed, thereby the work W can be fixed at a predetermined position.
The bending control means 10H (FIG. 3) controls the press brake based on the order of bending, etc. determined by the information calculating means 10B, and applies bending operations by the punch P and die D on the position-fixed work W.
The input/output means 10J is provided near the upper table 20 constituting the press brake (FIG. 6) for example, and comprises a keyboard and a screen made of liquid crystal, etc. The input/output means 10J functions as interface with respect to the aforementioned superordinate NC device 9 (FIG. 3), and thereby the subordinate NC device 10 is connected to the superordinate NC device 9 by cable or by radio and the CAD information can be received therefrom.
Further, the input/output means 10J displays the information determined by the information calculating means 10B such as the order of bending and the mold layout, etc. on the screen thereof, to allow a human worker to see the display. Therefore, the determination whether positioning of the work W by the butting faces 15 and 16 is possible or not (step 103 in FIG. 8) can be done by the human worker, not automatically.
FIG. 9 to FIG. 11 are for the case where outlines G1 and G2 (FIG. 9) of the work W are used instead of the aforementioned positioning marks M1 and M2 (FIG. 4) as the positioning criteria. As will be described later, the difference amount calculating means 10F (FIG. 3) uses the work outlines G1 and G2 as the targets of comparison when a detected image DW of the work W and a reference image RW are compared with each other (FIG. 11).
Thus, the difference amount calculating means 10F calculates difference amounts Δθ, Δx and Δy of detected work outlines GD1 and GD2 with respect to reference work outlines GR1 and GR2, by Δθ=tan−1(D2/L2) (FIG. 11(A)), Δx=Ux+Tx (FIG. 11(B)), and Δy=Uy−Ty.
In this case, the reference work outlines GR1 and GR2 are prepared by photographing the work W which is fixed at a predetermined position by a human worker by the CCD camera 12A and storing the image in a memory.
For example, in a case where a corner of the work W (FIG. 10) is to be bent, side stoppers 25 and 26 are attached to a holder 22 of the die D via attaching members 23 and 24, and checkers A, B, and C are prepared on the side stoppers 25 and 26.
In this state, the human worker makes the work outlines G1 and G2 abut on the side stoppers 25 and 26, so that the work outlines G1 and G2 together with the checkers A, B, and C are photographed by the CCD camera 12A. Then, the image of the work outlines G1 and G2, and the checkers A, B, and C is converted into a one-dimensional electric signal, and further converted by the work image detecting means 10D of the subordinate NC device 10 (FIG. 3) into a two-dimensional electric signal, thereby the photographed image is stored in the memory of the work reference image calculating means 10E.
Then, the difference amount calculating means 10F uses the image of the work outlines G1 and G2 stored in the memory as the reference work outlines GR1 and GR2 (FIG. 11), and the image of the checkers A, B, and C stored in the memory as areas for detecting image data, thereby the detected image DW and the reference image RW are compared with each other.
That is, in FIG. 11, the reference image RW indicated by a broken line includes the reference work outlines GR1 and GR2 stored in the memory of the work reference image calculating means 10E, and the detected image DW indicated by a solid line includes the detected work outlines GD1 and GD2 which is obtained by photographing the work W supported by the gripper 14 of the robot 13 by the CCD camera 12A.
In this case, let it be assumed that in two-dimensional coordinates of FIG. 11(A), x-axis-direction-coordinates of the checkers A and B are xa and xb, the intersection of one reference work outline GR1 and the checker A is a first reference point R1(xa, ya), the intersection of the one reference work outline GR1 and the checker B is a second reference point R2(xb, yb), the intersection of one detected work outline GD1 and the checker A is E(xa, ya′), and the intersection of the one detected work outline GD1 and the checker B is F(xb, yb′).
In FIG. 11(A), a variation Da in the Y axis direction, of the detected work outline GD1 with respect to the first reference point R1(xa, ya), and a variation Db in the Y axis direction, of the detected work outline GD1 with respect to the second reference point R2(xb, yb) are respectively represented as below.

Da=R1(xa, ya)−E(xa, ya′)=ya−ya′  (1)

Db=F(xb, yb′)−R2(xb, yb)=yb′−yb  (2)

Accordingly, if it is assumed that the intersection of a line H which is drawn parallel with the detected work outline GD1 and the checker A is S, a distance D1 between the intersection S and the first reference point R1(xa, ya) can be represented as below by using Da and Db in the above (1) and (2).

D1=Da−Db  (3)

Here, if it is assumed that a deflection angle of the reference work outline GR1 with respect to the Y axis direction is θ (FIG. 11(A)), a distance D between an intersection K of the reference work outline G and its perpendicular line V, and the intersection S can be represented as below by using the deflection angle θ and D in the above (3), as obvious from FIG. 11(A).

D2=D1×sin θ  (4)

Further, if it is assumed that a distance between the checkers A and B in the X axis direction is L1=xb−xa, a distance P between the first reference point R1(xa, ya) and the second reference point R2(xb, yb) can be represented as below by using L1 and the deflection angle θ, and a distance Q between the first reference point R1(xa, ya) and the intersection K can be represented as below by using D1 in the above (3) and likewise the deflection angle θ.

P=L1/sin θ  (5)

Q=D1×cos θ  (6)

Accordingly, a distance L2 between the second reference point R2(xb, yb) and the intersection K can be represented as below, because as obvious from FIG. 11(A), L2 is the sum of P and Q which can be represented by the above (5) and (6).

L2=P+Q=L1/sin θ+D1×cos θ  (7)

Accordingly, an amount of difference Δθ in angle, of the detected work outline GD1 with respect to the reference work outline GR1 is represented as below.

Δθ=tan−1(D2/L2)  (8)

In the above (8), D2 and L2 can be represented by (4) and (7) respectively. Therefore, the difference amount Δθ can be represented by D1, L1, and θ by inputting (4) and (7) in (8).

Δθ=tan−1(D2/L2)=tan−1{D1×sin θ/L1/sin θ+D1×cos θ)}  (9)

If it is assumed that the deflection angle θ of the reference work outline GR1 with respect to the Y axis direction is 45°, the above (9) becomes tan−1{D1/(2×L1+D1)}, and thus can be represented more simply.
If the detected image DW is rotated about the intersection F (xb, yb′) between the detected image DW and the checker B by the difference amount Δθ represented by (9), the detected image DW and the reference image RW becomes parallel with each other as shown in FIG. 11(B).
In this case, in the two-dimensional coordinates of FIG. 11(B), the second reference point R2(xb, yb) which is the intersection between one reference work outline GR1 and the checker B, and the intersection F(xb, yb′) between one detected work outline GD1 and the checker B are the same as those in the case of FIG. 11(A).
Accordingly, a distance T between the detected work outline GD1 and the reference work outline GR1 which are parallel with each other can be represented as below by using the variation Db and the deflection angle d.

T=Db×sin θ  (10)

The X-axis-direction component Tx and Y-axis-direction component Ty of T are obtained as below.

Tx=T×cos θ=Db×sin θ×cos θ  (11)

Ty=T×sin θ=Db×sin2 θ  (12)

In the two-dimensional coordinates of FIG. 11(B), It is assumed that the x-axis-direction coordinate of the checker C is xc, the intersection between the other reference work outline GR2 and the checker C is a third reference point R3(xc, yc), and the intersection between the other detected work outline GD2 and the checker C is J(xc, yc′).
In this case, in FIG. 11(B), a variation Dc in the Y axis direction, of the other detected work outline GD2 with respect to the third reference point R3(xc, yc) is represented as below.

Dc=R3(xc, yc)−J(xc, yc′)=yc−yc′  (13)

Accordingly, a distance U between the detected work outline GD2 and the reference work outline GR2 which are parallel with each other can be represented as below by using the variation Dc which can be represented by the above (13) and the deflection angle θ.

U=Dc×cos θ  (14)

The X-axis-direction component Ux and Y-axis-direction component Uy of U are obtained as below.

Ux=U×sin θ=Dc×sin θ×cos θ  (15)

Uy=U×cos θ=Dc×cos2 θ  (16)

Accordingly, a difference amount in the X axis direction and a difference amount Δy in the Y axis direction can be represented as below by using Ux and Uy which can be represented by (15) and (16) and Tx and Ty which can be represented by the above (11) and (12).




  
    
      
        
          
            
              
                Difference
                ⁢
                
                  
                
                ⁢
                amount
                ⁢
                
                  
                
                ⁢
                Δ
                ⁢
                
                  
                
                ⁢
                x
                ⁢
                
                  
                
                ⁢
                in
                ⁢
                
                  
                
                ⁢
                the
                ⁢
                
                  
                
                ⁢
                X
                ⁢
                
                  
                    
                  
                  ⁢
                  
                    
                  
                
                ⁢
                axis
                ⁢
                
                  
                
                ⁢
                direction
              
              =
              
              ⁢
              
                
                  U
                  x
                
                +
                
                  T
                  x
                
              
            
          
        
        
          
            
              =
              
              ⁢
              
                
                  (
                  
                    
                      D
                      c
                    
                    +
                    
                      D
                      b
                    
                  
                  )
                
                ×
              
            
          
        
        
          
            
              
              ⁢
              
                sin
                ⁢
                
                  
                
                ⁢
                θ
                ×
                cos
                ⁢
                
                  
                
                ⁢
                θ
              
            
          
        
      
    
    
      
        (
        17
        )
      
    
  
  
    
      
        
          
            
              
                Difference
                ⁢
                
                  
                
                ⁢
                amount
                ⁢
                
                  
                
                ⁢
                Δ
                ⁢
                
                  
                
                ⁢
                y
                ⁢
                
                  
                
                ⁢
                in
                ⁢
                
                  
                
                ⁢
                the
                ⁢
                
                  
                
                ⁢
                Y
                ⁢
                
                  
                    
                  
                  ⁢
                  
                    
                  
                
                ⁢
                axis
                ⁢
                
                  
                
                ⁢
                direction
              
              =
              
              ⁢
              
                
                  U
                  y
                
                -
                
                  T
                  y
                
              
            
          
        
        
          
            
              =
              
              ⁢
              
                
                  
                    D
                    b
                  
                  ×
                  
                    sin
                    2
                  
                  ⁢
                  θ
                
                -
              
            
          
        
        
          
            
              
              ⁢
              
                
                  D
                  c
                
                ×
                
                  con
                  2
                
                ⁢
                θ
              
            
          
        
      
    
    
      
        (
        18
        )
      
    
  




Therefore, in a case where the work outlines G and G in FIG. 9 to FIG. 11 are used as the positioning criteria, the robot control means 10G (FIG. 3) controls the robot 13 such that the detected image DW and the reference image RW coincide with each other based on the difference amounts which can be represented by (9), (17) and (18), thereby fixing the work W at a predetermined position.
FIG. 12 to FIG. 14 are for the case where either a corner N1 or a corner N2 (FIG. 12) of a work W is used as a positioning criterion instead of the above-described positioning marks M1 and M2 (FIG. 4) and outlines G1 and G2 of a work W (FIG. 9). The difference amount calculating means 10F (FIG. 3) uses either the corner N1 or the corner N2 as the target of comparison when a detected image DW of the work W and a reference image RW are compared with each other (FIG. 13).
With this structure, if one work photographing means 12 (FIG. 3), i.e. one CCD camera 12A photographs only either the corner N1 or N2, the difference amount calculating means 10F (FIG. 3) can calculate difference amounts Δθ (FIG. 13(A)), Δx (FIG. 13(B)), and Δy of an entire detected corner ND2 with respect to an entire reference corner NR2.
Accordingly, the robot control means 30G (FIG. 3) can position the work W at a predetermined position by controlling the robot 13 such that the detected image DW and the reference image RW coincide with each other at one time, based on the difference amounts Δθ, Δx, and Δy.
That is, in case of the positioning marks M1 and M2 (FIG. 4), or the outlines G1 and G2 (FIG. 9) of the work W, positioning of the work W can not be carried out unless the positions of the two positioning marks M1 and M2 or the positions of the two work outlines G1 and G2 are determined with the use of two CCD cameras 12A, in order to compare the detected image DW and the reference image RW (FIG. 5, FIG. 11).
However, for such a positioning operation of a work W by image processing as the present invention, the case that the corner N1 or N2 is used as the target of comparison when the detected image DW and the reference image RW are compared is very frequent, accounting for nearly 80% of all.
Therefore, as will be described later, if the position of either the corner N1 or N2 is determined by using only one CCD camera 12A, comparison of the detected image DW and the reference image RW becomes available, and positioning of the work W by image processing can be carried out with only one time of difference amount correction. Accordingly, the efficiency of the entire operation including the positioning of the work W will be greatly improved.
The outline of the work W shown in FIG. 12(A) can be first raised as an example where, as described above, an entire view of either the corner N1 or N2 is photographed to be used as the target of comparison between the detected image DW and the reference image RW.
In this case, the angle of the corner N1 or N2 may be anything, such as an acute angle, an obtuse angle, and a right angle, or may be R (FIG. 12(B)).
However, difference amounts, in particular, the difference amount Δθ in the angular direction (FIG. 13) can not be corrected unless the corner N1 or N2 is not partly, but entirely photographed by the CCD camera 12A.
An example of a case where the detected image DW and the reference image RW are compared with the use of such corners N1 and N2, will now be explained based on FIG. 13.
In FIG. 13(A), if an image of the entire corner N2 which is photographed by, for example, the CCD camera 12A on the right side is input to the work image detecting means 10D (FIG. 3), a detected corner ND2 as a part of the detected image DW can be obtained.
Accordingly, if this detected corner ND2 is input to the difference amount calculating means 10F together with a reference corner NR2 which is pre-calculated by the work reference image calculating means 10E (FIG. 3), an amount of difference Δθ in the angular direction between the entire detected corner ND2 and the entire reference corner NR2 is calculated.
Then, the detected corner ND2 is rotated by the calculated amount of difference Δθ in the angular direction, such that the detected image DW (FIG. 13(B)) including the detected corner ND2 and the reference image RW including the reference corner become parallel with each other.
Due to this, the difference amount calculating means 10F (FIG. 3) can calculate amounts of difference Δx and Δy in the Y axis direction between the entire detected corner ND2 (FIG. 13(B)) and the entire reference corner NR2.
Accordingly, by rotating, via the robot control means 30G (FIG. 3), the work W supported by the gripper 14 (FIG. 13) of the robot 13 by the amount of difference Δθ, and moving the work W by the amounts of difference Δx and Δy in the W axis direction and in the Y axis direction, a control for making the detected image DW and the reference image RW coincide with each other is performed, thereby the work W can be positioned at a predetermined position.
Square holes M1 and M2 shown in FIG. 14 are an example of using either the corner N1 or N2 as the target of comparison between the detected image DW and the reference image RW.
For example, in a case where the square holes M1 and M2 are formed as positioning marks at predetermined positions y1 and y2 apart from a bending line m (FIG. 14), the entire view of either the corner N1 or N2 is photographed by the CCD camera 12A.
Then, for example, the image of the entire corner N2 which is photographed by the CCD camera 12 A on the right side of FIG. 14 is used as a detected corner ND2 (corresponding to FIG. 13), so as to be compared with a pre-calculated reference corner NR2.
Due to this, a difference amount AG in the angular direction, a difference amount Δx in the X axis direction, and a difference amount Δy in the Y axis direction are likewise calculated by the difference amount calculating means 10F (FIG. 3). Based on these difference amounts, the robot control means 30G performs a control for making the detected image DW and the reference image RW coincide with each other, thereby the work W can be positioned at a predetermined position.
An operation according to a first embodiment of the present invention having the above-described structure will now be explained based on FIG. 8.
(1) Determination whether positioning of a work W by the butting faces 15 and 16 is possible or not.
CAD information is input in step 101 of FIG. 8, the order of bending, etc. is determined in step 102, and whether positioning of the work W by the butting faces 15 and 16 is possible or not is determined in step 103.
That is, when CAD information is input from the superordinate NC device 9 (FIG. 3) to the subordinate NC device 10, the information calculating means 10B constituting the superordinate NC device 9 determines the order of bending, etc. Based on the determined information, it is determined whether positioning of the work W by the butting faces 15 and 16 is possible, automatically (for example, determination by the information calculating means 10B in accordance with an instruction of the CPU 10A) or manually (determination by a human worker by seeing the screen of the input/output means 10J, as described before).
In a case where positioning by the butting faces 15 and 16 is possible (step 103 of FIG. 8: YES), the flow goes to step 109, so that positioning is carried out conventionally by butting the work W on the butting faces 15 and 16.
However, in a case where positioning by the butting faces 15 and 16 is impossible (step 103 of FIG. 8: NO), the flow goes to step 104 sequentially, so that positioning by using image processing according to the present invention is carried out.
(2) Positioning operation by using image processing.
A reference image RW of the work W is calculated in step 104 of FIG. 8. An image of the work W is detected in step 105. The detected image DW and the reference image RW are compared in step 106. Whether or not there is any difference between them is determined in step 107.
That is, in such a case as this where positioning by the butting faces 15 and 16 is impossible, the work reference image calculating means 10E pre-calculates the reference image RW (FIG. 5A) based on the determination by the information calculating means 10B, and stores it in a memory (not illustrated) or the like.
In this state, the CPU 10A of the subordinate NC device 10 (FIG. 3) moves the CCD camera 12A and its light source 12B both constituting the work photographing means 12 via the photographing control means 10C, in order to photograph the work W supported by the gripper 14 of the robot 13.
The photographed image of the work W is sent to the work image detecting means 10D, thereby the detected image DW is obtained and subsequently compared (FIG. 5A) with the reference image RW stored in this memory by the difference amount calculating means 10F.
Then, the difference amount calculating means 10F calculates amounts of difference ({circle around (5)} to {circle around (7)} aforementioned) between the detected image DW and the reference image RW. When these amounts of difference are zero, i.e. when there is no difference between them (step 107 in FIG. 6: NO), the positioning is completed, and the bending operation is carried out in step 110.
However, in a case where there is difference between the detected image DW and the reference image RW (step 107 in FIG. 8: YES), positioning of the work W by the robot 13 is performed in step 108.
That is, in a case where there is difference between the detected image DW and the reference image RW (FIG. 5(A)), the difference amount calculating means 10F sends the calculated difference amounts ({circle around (5)} to {circle around (7)}) to the robot control means 10G.
Then, the robot control means 10G converts the difference amounts ({circle around (5)} to {circle around (7)}) into correction drive signals Sa, Sb, Sc, Sd, and Se and sends these signals to the robot 13, so that the drive units a, b, c, d, and e of the robot 13 will be controlled such that the detected image DW and the reference image RW coincide with each other (FIG. 5(B)) and the work W is positioned at a predetermined position.
In a case where positioning of the work W by the robot 13 is carried out in this manner, the flow returns to step 105 of FIG. 8 after this positioning, in order to again photograph the image of the positioned work W by the CCD camera 12A for confirmation. After photographing, the photographed image is detected by the work image detecting means 10D, and compared with the reference, image RW in step 106. Then, in a case where it is determined in step 107 that there is no difference between them (NO), positioning is finally completed and the flow goes to step 110.
(3) Bending operation.
In a case where the difference amount calculating means 10F which receives the detected image DW (FIG. 3) and the reference image RW determines that there is no difference between them, this message is transmitted from the difference amount calculating means 10F to the CPU 10A. The CPU 10A actuates a ram cylinder (not illustrated), etc. via the bending control means 10H, so that the bending operation is carried out on the work W supported by the gripper 14 of the robot 13 by the punch P and die D.
In a case where positioning is carried out by butting the work W on the butting faces 15 and 16 as conventionally (step 109 in FIG. 8), a positioning completion signal is sent from a sensor (not illustrated) attached to the butting faces 15 and 16 to the CPU 10A. Based on this signal, the ram cylinder is actuated via the bending control means 10H likewise the above, and the work W supported by the gripper 14 of the robot 13 is subjected to the bending operation by the punch P and die E.
(4) Positioning operation in case of using the work outlines G1 and G2.
That is, also in case of the positioning operation by using the work outlines G1 and G2 shown in FIG. 9 to FIG. 11 as the positioning criteria, the procedures shown in FIG. 8 are followed in exactly the same manner as the case of using the positioning marks M1 and M2 (FIG. 4).
However, the difference between the cases is that as for the positioning marks M1 and M2 (FIG. 4), image data constituting the reference positioning marks MR1 and MR2 (FIG. 5) is included in the CAD information stored in the superordinate NC device 9 (FIG. 3) as described above, while as for the work outlines G1 and G2 (FIG. 9), image data constituting the reference work outlines GR1 and GR2 (FIG. 11) is not included in the CAD information, but obtained by a human worker positioning the work W at a predetermined position (for example, FIG. 10) to photograph the work outlines G1 and G2 by the CCD camera 12A.
However, the reference work outlines GR1 and GR2 may be included in the CAD information likewise the reference positioning marks MR1 and MR2.
(5) Positioning operation in case of using the corners N1 and N2 of a work W.
That is, also in case of the positioning operation by using the corners N1 and N2 shown in FIG. 12 to FIG. 14 as the positioning criteria, the procedures shown in FIG. 8 are followed in exactly the same manner as the case of using the positioning marks M1 and M2 (FIG. 4) or the work outlines G1 and G2 (FIG. 9).
However, as described above, unlike the positioning marks M1 and M2 (FIG. 4), etc., comparison between the detected image DW and the reference image RW by image processing (FIG. 13) is available, only by photographing the image of either the corner N<(FIG. 12) or N2 by one CCD camera 12A. Then, the work W can be positioned at a predetermined position by correcting the difference amounts Δθ, Δx, and Δy at one time. Accordingly, the efficiency of the entire operation is improved.
FIG. 15 is an entire view showing a second embodiment of the present invention.
In FIG. 15, a reference numeral 29 denotes a superordinate NC device, 30 denotes a subordinate NC device, 11 denotes a bending machine, 12 denotes a work photographing means, and 13 denotes a robot.
With this structure, for example, CAD information is input from the superordinate NC device 29 to the subordinate NC device 30 which is a control device of the bending machine 11 (step 201 in FIG. 23), and setting of the positions BR1 and BR2 of the edges of butting faces 15 (FIG. 18) and 16 and predetermined positions AR1 and AR2 on the end surface TR of a work image RW is carried out (steps 202 to 204 in FIG. 23). After this, positioning of a work W by predetermined image processing is carried out by the subordinate NC device 30 (steps 205 to 208 in FIG. 23). After the punch P (FIG. 19(B)) contacts the work W (after pinching point), a bending angle Θ is indirectly measured by detecting a distance k1 between the work W and the butting face 15, and then the bending operation is carried out (steps 209 to 213 in FIG. 23).
Due to this, positioning of the work W and measuring of the bending angle Θ can be carried out by one device, making it possible to simplify the system.
In this case, the bending machine 11 (FIG. 15) and the robot 13 are the same as the first embodiment (FIG. 3). However, the positions at which the CCD camera 12A and its light source 12B constituting the work photographing means 12 are attached, and their moving mechanism are different from the first embodiment.
That is, as described above, the butting faces 15 and 16 are provided behind the lower table 21 which constitutes the press brake.
As shown in FIG. 21, for example, the butting face 15 is attached to a stretch 27 via a butting face body 28. According to the second embodiment, the CCD camera 12A is attached to this butting face body 28.
Further, an attaching plate 28A is provided to the butting face body 28, and the light source 12B for supplying a permeation light to the work W is attached to the attaching plate 28A.
Due to this, as the butting face 15 moves in the X axis direction, Y axis direction, or Z axis direction, the CCD camera 12A and the light source 12B move in the same direction. Therefore, there is no need of providing a special moving mechanism for the CCD camera 12A and its light source 12B unlike the first embodiment (FIG. 3), thereby enabling cost cut.
Further, with this structure, the work W supported by the gripper 14 of the robot 13 (FIG. 15) is photographed by the CCD camera 12A, and the image of the work W is converted into a one-dimensional electric signal, and then converted into a two-dimensional electric signal by later-described distance detecting means 30D of the subordinate NC device 30 (FIG. 15). Thereby, the distances KD1 and KD2 between the positions BR1 and BR2 (FIG. 18) of the edges of the butting faces 15 and 16 and predetermined positions AD1 and AD2 on an end surface TD of the work image DW are detected, and differences in distance Δy1 and Δy2 between the detected distances KD1 and KD2 and reference distances KR1 and KR2 are calculated (FIG. 18) by a distance difference calculating means 30F (FIG. 15).
In the second embodiment, distances K1 and K2 between the positions of the edges of the butting faces 15 and 16 and predetermined positions on the work end surface T are used as the positioning criteria as shown in FIG. 16. These positioning criteria are especially effective in positioning the work W in case of diagonal bending where the work end surface T and a bending line m are not parallel with each other.
In some cases, the work end surface T has a very complicated form as shown in FIG. 17. In order to accurately detect the distances K1 and K2 from the butting faces 15 and 16, it is necessary to set in advance the positions B1 and B2 of the edges of the butting faces 15 and 16, and predetermined positions A1 and A2 on the work end surface T as the detection points.
Specifically, for example, with the input of CAD information (step 201 in FIG. 23), the work image RW as a development is obtained as shown in FIG. 18, and is displayed on the screen.
Then, a human worker sets the positions BR1 and BR2 of the edges of the butting faces 15 and 16, and also sets the predetermined positions AR1 and AR2 on the end surface TR of the work image RW, by looking at this screen (step 202 in FIG. 23). In this case, as described above, the position of the longitudinal direction (X axis direction) of the work W is determined such that the left end of the work W is arranged at a position apart from a machine center MC by X1. For example, in a state where the work W (FIG. 24(A)) is supported by the gripper 14 of the robot 13, the left end of the work W is butted on the side gauge 18. If the position of the side gauge 18 at this time is assumed to be apart from the machine center MC by XS, the left end of the work W can be arranged at the position apart from the machine center MC by X1, by moving the robot 13 (FIG. 24(B)) by a predetermined distance XG=XS−X1 to make a work origin O coincide with the machine center MC. Due to this, as will be described later, the positions of the forward/backward direction (Y axis direction) and leftward/rightward direction (X axis direction) of the work W are determined, thereby the position of the work W with respect to the bending machine 11 is determined uniquely.
In this case, the number of positions to be set may be at least one, or may be two with respect to, for example, the work origin O, as illustrated.
When the detection points are set in this manner, the reference distances KR1 and KR2 between the positions BR1 and BR2 of the edges of the butting faces 15 and 16 and predetermined positions AR1 and AR2 which are set as described above are automatically calculated by later-described reference distance calculating means 30E constituting the subordinate NC device 30 (FIG. 15) (step 203 in FIG. 23). As described above, the reference distances KR1 and KR2 are used by the distance difference calculating means 30F (FIG. 15) as the targets for calculating the distance differences Δy1 and Δy2 with respect to the detected distances KD1 and KD2 (FIG. 15).
In this case, the reference distances KR1 and KR2 may be input by a human worker manually. The positions BR1 and BR2 of the edges of the butting faces 15 and 16 (FIG. 18) and predetermined positions AR1 and AR2 on the work end surface TR which are set as described above are the detection points for detecting distances with respect to the butting faces 15 and 16 in positioning the work W, and also the detection points for detecting a distance with respect to the butting face 15 in measuring the bending angle Θ, as will be described later.
The operation of the second embodiment will be as illustrated in FIG. 22, by carrying out the positioning of the work W and the measuring of the bending angle Θ by using one device as described above.
In FIGS. 22(A), (B), and(C), the drawings on the left side show the positional relationship between the work W and the CCD camera 12A, and the drawings on the right side show the distance between the work image DW or dw which are image-processed via the CCD camera 12A and the butting face 15.
Among these drawings, the drawing on the right side of FIG. 22(A) shows a state where the distance KD1 between the predetermined position AD1 on the end surface TD of the work image DW and the position BR1 of the edge of the butting face 15 becomes equal to the reference distance KR1 and thereby the work positioning is completed. This drawing corresponds to FIG. 18.
The drawings on the right side of FIGS. 22(B) and(C) show a state where a distance kd1 between a predetermined position ad1 on an end surface td of the work image dw and the position BR1 of the edge of the butting face 15 changes after the punch P (the drawing on the left side of FIG. 22(B)) contacts the work W (after pinching point). These drawings correspond to FIG. 20.
In FIG. 22, after the positioning of the work W is completed (FIG. 22(A)), and then the punch P contacts the work W (FIG. 22(B)), the distance kd1 with respect to the butting face 15 becomes larger as the bending operation progresses (the drawing on the right side of FIG. 22(B)).
At this time, the edges of the work W rise upward (the drawing on the left side of FIG. 22(B)). Therefore, the image dw of the work W is detected by raising the butting face 15 upward in response to the rising of the work W thereby to raise the CCD camera 12A.
When the punch P further drops downward (the drawing on the left side of FIG. 22(C)) and the distance kd1 (the drawing on the right side of FIG. 22(C)) with respect to the butting face 15 becomes equal to a predetermined distance kr1, it is determined that the work W is bent to the predetermined bending angle Θ (the drawing on the left side of FIG. 22(C)), and the ram is stopped. Thus, the bending operation is completed.
The subordinate NC device 30 (FIG. 15), which is a control device for the press brake having the above-described structure, comprises a CPU 30A, information calculating means 30B, photographing control means 30C, distance detecting means 30D, reference distance calculating means 30E, distance difference calculating means 30F, robot control means 30G, bending control means 30H, and input/output means 30J.
The CPU 30A controls the information calculating means 30B, the distance detecting means 30D, etc. in accordance with an image processing program (corresponding to FIG. 23) of the present invention.
The information calculating means 30B calculates information necessary for the positioning of the work W and measuring of the bending angle Θ such as an order of bending and the shape of a product, etc. based on CAD information input from the superordinate NC device 29 via the input/output means 30J.
The photographing control means 30C moves the work photographing means 12 constituted by the CCD camera 12A and the light source 12B via the aforementioned moving mechanism for the butting faces 15 and 16 based on the information calculated by the information calculating means 30B, and controls the photographing operation such as the control of the view range (FIG. 16, FIG. 17) of the CCD camera 12A.
The distance detecting means 30D detects distances KD1 and KD2 between the positions BR1 and BR2 of the edges of the butting faces 15 and 16 and predetermined positions AD1 and AD2 on the work end surface TD.
That is, as described above (FIG. 18), the positions BR1 and BR2 of the edges of the butting faces 15 and 16 which are set in advance on the screen are to be represented as below in two-dimensional coordinates.

Positions of edges BR1(x1, y1′), BR2(x2, y2′)  [1]

The predetermined positions AD1 and AD2 on the end surface TD of the work image DW which are detected by the distance detecting means 30D (and existing on the extensions of the Y axis direction of the predetermined positions AR1 and AR2 which are set on the screen before by the human worker) are to be represented as below in two-dimensional coordinates.

Predetermined positions AD1(x1, y1′′), AD2(x2, y2′′)  [2]

Accordingly, the distances KD1 and KD2 with respect to the butting faces 15 and 16 can be represented, as below based on the above [1] and [2].

KD1=|BR1−AD1|=y1′−y1′′  [3]

KD2=|BR2−AD2|=y2′−y2′′  [4]

These [3] and [4] are used by the distance difference calculating means 30F for calculating distance differences Δy1 and Δy2, as described above.
The reference distance calculating means 30E calculates reference distances KR1 and KR2 between the positions BR1 and BR2 of the edges of the butting faces and predetermined positions AR1 and AR2 on the work end surface TR which are set in advance, by image processing.
In this case, as described above (FIG. 18), the predetermined positions AR1 and AR2 on the end surface TR of the work image RW which are set in advance on the screen are to be represented as below in two-dimensional coordinates.

Predetermined positions AR1(x1, y1), AR2(x2, y2)  [5]

Accordingly, reference distances KR1 and KR2 can be represented as below based on [5] and the aforementioned [1] (based on the positions BR1 and BR2 of the edges of the butting faces 15 and 16).

KR1=|BR1−AR1|=y1′−y1  [6]

KR2=|BR2−AR2|=y2′−y2  [7]

These [6] and [7] are used by the distance difference calculating means 30F for calculating distance differences Δy1 and Δy2.
The distance difference calculating means 30F compares the detected distances KD1 and KD2 represented by the above [3] and [4] with the reference distances KR1 and KR2 represented by [6] and [7], and calculates the distance differences Δy1 and Δy2 between them.
That is, the distance difference Δy1 is as follows.

Δy1=KD1−KR1=(y1′−y1′′)−(y1′−y1)=y1−y1′′  [8]

The distance difference Δy2 is as follows.

Δy2=KD2−KR2=(y2′−y2′′)−(y2′−y2)=y2−y2′′  [9]

The robot control means 30G (FIG. 15) controls the robot 13 such that the detected distances KD1 and KD2 and the reference distances KR1 and KR2 become equal based on the distance differences Δy1 and Δy2 represented by the above [8] and [9], thereby positioning the work W at a predetermined position.
That is, when the robot control means 30G receives the distance differences Δy1 and Δy2 from the distance difference calculating means 30F, the robot control means 30G converts these into correction drive signals Sa, Sb, Sc, Sd, and Se, and sends each signal to the robot 13.
The robot 13 actuates drive units a, b, c, d, and e constituting the robot 13 in accordance with the signals, thereby moving the work W supported by the gripper 14 in the Y axis direction by the distance differences Δy1 and Δy2 (FIG. 18).
Therefore, a control for making the detected distances KD1 and KD2 and the reference distances KR1 and KR2 become equal is performed, and the work W can be positioned at a predetermined position.
The bending control means 30H (FIG. 15) controls the press brake based on the order of bending, etc. determined by the information calculating means 10B and carries out the bending operation by the punch P and die D on the work W as positioned.
The input/output means 10J comprises a keyboard and a screen constituted by liquid crystal or the like. For example, as described above, a human worker sets the positions BR1 and BR2 of the edges of the butting faces 15 and 16 (FIG. 18), and also sets the predetermined positions AR1 and AR2 on the end surface TR of the work image RW which is obtained based on CAD information (step 202 in FIG. 23) by seeing the screen.
Further, the distance detecting means 30D, the reference distance calculating means 30E, and the distance difference calculating means 30F perform the following operation in case of measuring the bending angle Θ (FIG. 19, FIG. 20).
That is, let it be assumed that the distance between one butting face 15 and the work W at the time the positioning of the work W (FIG. 19(A)) is completed is K1, and the distance at this time between the edge of the work W and the center E of a mold is L.
Further, let it be assumed that the distance between the butting face 15 and the work W when the work W is bent to a predetermined bending angle Θ after the bending operation is started (FIG. 19(B)) and the punch P contacts the work W (after pinching point) is k1, and a flange dimension L′ at this time is represented by L′=L+α in consideration of unilateral elongation a which is calculated in advance by the information calculating means 30B. In this case, the following equation is established.

k1=L−L′×cos Θ+K1  [10]

The bending angle Θ can be represented by the following equation based on [10].

Θ=cos−1{(L+K1−k1)/L′}  [11]

Accordingly, as apparent from [11], the distance k1 between the butting face 15 and the work W after the punch P contacts the work W and the bending angle Θ are related with each other in one-to-one correspondence because L, K1 and L′ are constants. Therefore, the bending angle Θ is indirectly measured by detecting k1.
From this aspect, the reference distance calculating means 30E (FIG. 15) receives the bending angle Θ calculated by the information calculating means 30B based on the CAD information, and calculates the following bending reference distance kr1 (FIG. 20(A)).

kr1=L−L′×cos Θ+KR1  [12]

This bending reference distance kr1 is a distance between a predetermined position a predetermined position ar1 on an end surface tr of a work image rw (FIG. 20(A)) based on CAD information and the previously set position BR1 of the edge of the butting face 15 in case of the work W being bent to the predetermined angle Θ.
Accordingly, after pinching point (step 210 in FIG. 23), in a case where a bending detected distance kd1 (FIG. 20(A)) which is a distance between the butting face 15 and the work W detected by image processing (step 211 in FIG. 23) coincides with the bending reference distance kr1 (step 212 in FIG. 23: YES), the distance detecting means 30D (FIG. 15) determines that the work W has been bent to the predetermined angle Θ, and stops the ram via the bending control means 30H (FIG. 15) (step 213 in FIG. 23), thereby completing the bending operation.
The bending detected distance kd1 is a distance between a predetermined position ad1 on an end surface td of a work image dw (FIG. 20(B)) which is input from the CCD camera 12A after pinching point (step 210 in FIG. 23: YES) and the previously set position BR1 of the edge of the butting face 15.
While the work W is being bent, the distance difference calculating means 30F (FIG. 15) constantly monitors the bending detected distance kd1 detected by the distance detecting means 30D to compare it with the bending reference distance kr1 calculated by the reference distance calculating means 30E and calculate a distance difference Δy (FIG. 20(A)). In a case where it is determined that Δy=0 is satisfied and the both coincide with each other (step 212 in FIG. 23: YES), the ram is stopped via the bending control means 30H (FIG. 15) (step 213 in FIG. 23), as described above.
However, in a case where Δy=≠0 (step 212 in FIG. 23: NO) and the work Wean not be bent to the bending angle Θ, for example, in case of a bending angle Θ′ (FIG. 20(B)), i.e. in case of a bending angle being smaller than required, the ram is lowered further via the bending control means 30H (FIG. 15), thereby adjusting the position of the ram (step 214 in FIG. 23).
The operation according to the second embodiment of the present invention having the above-described structure will now be explained based on FIG. 23.
(1) Controlling operation for positioning of the work W
CAD information is input in step 201 of FIG. 23, detection points are set in step 202, reference distances are calculated in step 203, and the butting faces are moved to the set positions in step 204.
That is, when CAD information is input from the superordinate NC device 29 (FIG. 15) to the subordinate NC device 30, a work image RW (FIG. 18) as a development is displayed on the screen of the input/output means 30J (FIG. 15). By seeing this screen, a human worker sets the positions BR1 and BR2 of the edges of the butting faces 15 and 16 as the detection points, and also sets the predetermined positions AR1 and AR2 on the end surface TR of the work image RW which is based on the CAD information. At this time, as described above, by butting the left end (FIG. 24(A)) of the work W on the side gauge 18, the work W is positioned in the X axis direction such that the left end (FIG. 24(B)) is arranged to be apart from the machine center MC by X1.
When the detection points are set, each detection point is sent to the reference distance calculating means 30E via the information calculating means 30B (FIG. 15).
Then, reference distances KR1 and KR2 between the positions BR1 and BR2 of the edges of the butting faces 15 and 16 and predetermined positions AR1 and AR2 on the work end surface TR which are set earlier are calculated by the reference distance calculating means 30E (FIG. 15) in accordance with [6] and [7] described above.
Further, in this case, the reference distance calculating means 30E calculates not only the reference distances KR1 and KR2 for positioning, but also the bending reference distance kr1 for the bending operation in accordance with [12] described above.
When the reference distances KR1, KR2, and kd1 are calculated in this manner, the CPU 30A (FIG. 15) instructs the bending control means 30H to move the butting faces 15 and 16 to the positions BR1 and BR2 (FIG. 18) of the edges of the butting faces 15 and 16 which are set earlier.
In this state, positioning of the work W by the robot 13 is carried out in step 205 of FIG. 23, distances from the butting faces are detected in step 206, and whether they are predetermined distances or not is determined in step 207. In a case where they are not the predetermined distances (NO), the flow returns to step 205 to repeat the same operation. In a case where they are the predetermined distances (YES), positioning of the work W is completed in step 208.
That is, when the CPU 30A (FIG. 15) detects that the butting faces 15 and 16 are moved to the set edge positions BR1 and BR2 (FIG. 18), the CPU 30A drives the robot 13, this time via the robot control means 30G (FIG. 15). At the same time, the CPU 30A moves the butting faces 15 and 16 via the bending control means 30H, so that the CCD camera 12A and its light source 12B which are attached to the butting face are moved to photograph the work W supported by the gripper 14 of the robot 13.
The photographed image of the work W is sent to the distance detecting means 30D. Based on the sent work image DW (FIG. 18), the distance detecting means 30D detects distances KD1 and KD2 between the positions BR1 and BR2 of the edges of the butting faces 15 and 16 and predetermined positions AD1 and AD2 on a work end surface TD in accordance with [3] ad [4] described above.
The detected distances KD1 and KD2 and the reference distances KR1 and KR2 calculated by the reference distance calculating means 30E are sent to the distance difference calculating means 30F for the next step, and distance differences Δy1 and Δy2 between them are calculated in accordance with [8] and [9] described above.
Due to this, the robot control means 30Q converts the distance differences Δy1 and Δy2 into correction drive signals Sa, Sb, Sc, Sd, and Se, and sends these signals to the robot 13 to control the drive units a, b, c, d, and e of the robot 13 such that the detected distances KD1 and KD2 (FIG. 18) and the reference distances KR1 and KR2 coincide with each other, thereby positioning the work W at a predetermined position.
If positioning of the work W by the robot 13 is carried out in this manner and the detected distances KD1 and KD2 and the reference distances KR1 and KR2 coincide, positioning of the work W is completed.
(2) Controlling operation for bending operation
When the positioning of the work W is completed, the ram is lowered in step 209 of FIG. 23, and whether the punch P contacts the work W or not is determined in step 210. In a case where the punch P does not contact (NO), the flow returns to step 209 to repeat the same operation. In a case where the punch P contacts (YES), distances from the butting faces are detected in step 211. Then, whether they are predetermined distances or not is determined in step 212. In a case where they are not the predetermined distances (NO), the position of the ram is adjusted in step 214. In a case where they are the predetermined distances (YES), the ram is stopped and the bending operation is completed in step 213.
That is, when the CPU 30A (FIG. 15) detects via the robot control means 30G that the positioning of the work W is completed, the CPU 30A lowers the ram, or the upper table 20 in case of, for example, a lowering type press brake, via the bending control means 30H this time.
Then, the CPU 30A detects the position of the ram 20 via ram position detecting means or the like. In a case where it is determined that the punch P contacts the work W, the CPU 30A then moves the butting face 15 via the bending control means 30H so that the CCD camera 12A and its light source 12B are moved to photograph the work W, and controls the distance detecting means 30D to detect a bending distance kd1 with respect to the butting face 15 based on the photographed image dw (FIG. 20(A)) of the work W.
This bending detected distance kd1 is sent to the distance difference calculating means 30F. The distance difference calculating means 30F calculates a distance difference Δy with respect to the bending reference distance kr1 calculated by the reference distance calculating means 30E. In a case where Δy=0 is satisfied and the bending detected distance kd1 and the bending reference distance kr1 coincide with each other, it is determined that the work W has been bent to the predetermined bending angle Θ (FIG. 20(B)). Therefore, lowering of the ram 20 is stopped via the bending control means 30H, and the bending operation is completed.
INDUSTRIAL APPLICABILITY
As described above, the bending machine according to the present invention can position a work accurately by carrying out electronic positioning by using image processing, even in a case where mechanical positioning by using butting faces is impossible.
Further, if a corner of a work is used as a target of comparison in a case where a detected image and a reference image are compared by image processing, the amount of difference between both of the images can be corrected at one time by photographing either one of the corners by using one CCD camera. Therefore, it is possible to improve the efficiency of operation including positioning of the work. By carrying out the work positioning control operation and the bending control operation by one device, the system can be simplified. Attaching of the work photographing means to the butting face eliminates the need of providing a special moving mechanism, thereby enabling cost cut.

## Claims

1. A workpiece positioning device, for a bending machine, which positions a workpiece at a predetermined position by image processing, comprising:
an imager that photographs an entire image of only one corner of the workpiece supported by a gripper of a robot;
a workpiece image detector that obtains an entire detected corner image based on the entire image of only one corner of the workpiece which is photographed by the imager;
a workpiece reference image calculator that calculates an entire reference corner image based on pre-input information;
a difference amount calculator that compares the entire detected corner image and the entire reference corner image, and that calculates an amount of difference between the entire detected corner image and the entire reference corner image in an angular direction and in X and Y axial directions; and
a robot controller that controls, based on the amount of calculated difference, a robot such that the entire detected corner image and the entire reference corner image coincide at once with each other, in order to position the workpiece at the predetermined position.

2. The workpiece positioning device according to claim 1, wherein the imager comprises a single CCD camera.

3. A workpiece positioning device, for a bending machine, which positions a workpiece at a predetermined position by image processing, comprising:
an imager that forms an image of only one corner of the workpiece supported by a gripper of a robot by photographing the only one corner;
a workpiece image detector that obtains a detected corner image based on the image of only one corner of the workpiece which is formed by the imager;
a workpiece reference image calculator that calculates a reference corner image based on pre-stored data regarding a reference corner;
a difference amount calculator that compares the detected corner image and the reference corner image, and that calculates an amount of difference between the detected corner image and the reference corner image in each of an angular direction, an X axial direction and a Y axial direction; and
a robot controller that controls, based on the amount of calculated difference, a robot such that the detected corner image and the reference corner image concurrently coincide with each other, so as to position the workpiece at the predetermined position.