1. Field of the Invention
The present invention relates to a position detection device and a position detection method for a workpiece to be welded for detecting a position of the workpiece to be spot welded.
2. Description of the Related Art
When a workpiece is spot welded by automatically by using a robot, if a workpiece position (spot welding point position) recorded in a working program deviates from an actual workpiece position, problems such that an overload is applied to the workpiece and welding current does not properly flow may occur, which results in degradation of welding quality. Consequently, in the conventional art, the workpiece position is detected in advance before spot-welding and the spot welding point position is corrected according to the detected workpiece position.
In the system described in Japanese patent Publication No. 4233584 (JP4233584B), a workpiece is disposed between a movable electrode and a counter electrode of a spot welding gun and the movable electrode is driven by a servo motor to approach a workpiece surface. Then, when a motor current exceeds a predetermined value, it is determined that the movable electrode makes contact with the workpiece surface and a disturbance torque is generated in the servo motor and, based on the movable electrode position at that time, the workpiece position is detected.
In the system described in JP4233584B, on the assumption that the torque of the servo motor varies in a stepwise manner when the movable electrode makes contact with the workpiece surface, the workpiece position is detected. However, the torque of the actual servo motor tends to increase gradually after the movable electrode makes contact with the workpiece surface. Thus, at the moment when the motor current exceeds the predetermined value, the movable electrode has already pushed the workpiece surface sufficiently and advanced further than the contact position. Consequently, if it is judged that the movable electrode makes contact with the workpiece surface when the motor current exceeds the predetermined value, the workpiece position cannot be accurately detected.
According to an aspect of the present invention, a position detection device for a workpiece to be welded includes a spot welding gun having a pair of electrodes adapted to be disposed opposite each other across the workpiece; a robot for holding either one of the spot welding gun and the workpiece in a manner movable relate to each other; a servo motor for allowing the pair of electrodes to approach the workpiece and separate from the workpiece; a physical quantity detection section for detecting a physical quantity correlative to a torque of the servo motor when the servo motor allows one of the pair of electrodes to approach a surface of the workpiece so that the one of the pair of electrodes abuts against the surface of the workpiece; a position detection section for detecting positions of the pair of electrodes; a storage section for storing the physical quantity detected by the physical quantity detection section and a value detected by the position detection section; and a computation section for calculating a contact start time at which one of the pair of electrodes comes into contact with the surface of the workpiece based on time-series data of the physical quantity stored in the storage section, and computing the position of the workpiece at the contact start time based on the value detected by the position detection section stored in the storage section.
Further, according to another aspect of the present invention, a position detection method for a workpiece to be welded for detecting a surface position of the workpiece includes the steps of holding, by a robot, either one of a spot welding gun and the workpiece in a manner movable relate to each other, the spot welding gun having a pair of electrodes adapted to be disposed opposite each other across the workpiece; allowing, by a servo motor, one of the pair of electrodes to approach a surface of the workpiece so that the one of the pair of electrodes abuts against the surface of the workpiece; judging a contact start time at which the one of the pair of electrodes comes into contact with the surface of the workpiece, based on a physical quantity correlative to a torque of the servo motor when the one of the pair of electrodes approaches the surface of the workpiece; and computing a position of the workpiece based on positions of the pair of electrodes at the contact start time.
The object, features and advantages of the present invention will become more apparent from the following description of embodiments taken in conjunction with the accompanying drawings, in which:
Hereinafter, referring to
Robot 1 is a common 6-axis vertical articulated robot that has a base 10 secured to a floor; a lower arm 11 rotatably coupled to base 10; an upper arm 12 rotatably coupled to a tip of lower arm 11; and spot welding gun 2 rotatably attached to a tip of upper arm 12. Robot 1 has a plurality of servo motors 13 (only one is illustrated for convenience) for driving the robot. Servo motors 13 are driven by control signals from robot controller 3, so that a position and orientation of spot welding gun 2 is changed.
Spot welding gun 2 is a so-called C-type spot welding gun that has a U-shaped gun arm 23 rotatably coupled to the tip of upper arm 12 and a servo motor 24 for holding a workpiece. Gun arm 23 has a bar-like counter electrode 22 projecting from an end of an L-shaped frame 23a and a bar-like movable electrode 21 projecting oppositely to counter electrode 22. Movable electrode 21 and counter electrode 22 are disposed coaxially to each other. While counter electrode 22 is secured to frame 23a, movable electrode 21 can move coaxially to counter electrode 22 with respect to frame 23a.
Servo motor 24 is driven by control signals from welding gun controller 4, so that movable electrode 21 approaches counter electrode 22 and separates from counter electrode 22. Workpiece W is held between movable electrode 21 and counter electrode 22 in a workpiece thickness direction and workpiece W is spot-welded. Workpiece W is supported by a workpiece supporting device that is not illustrated.
Each servo motor 13 for driving the robot is provided with an encoder 13a that detects an axial rotation angle of servo motor 13. The detected rotation angle is fed back to robot controller 3. The position and orientation of spot welding gun 2 at the tip of the arm are controlled by the feedback control in robot controller 3. As a result, counter electrode 22 integral to frame 23a can be positioned at a taught position in the thickness direction of workpiece W and the position, and orientation of counter electrode 22 can be detected based on the signals from encoders 13a.
Similarly, servo motor 24 for holding the workpiece is provided with an encoder 24a that detects an axial rotation angle of servo motor 24. The detected rotation angle is fed back to welding gun controller 4. Movable electrode 21 can be positioned with respect to counter electrode 22 by the feedback control in welding gun controller 4. A distance between electrodes 21 and 22 varies according to the rotation angle of servo motor 24. In this embodiment, the rotation angle of servo motor 24 when movable electrode 21 is in contact with counter electrode 22 or, in other words, when the distance is zero is defined as a reference value in advance. Consequently, based on the signals from encoder 24a, the rotation angle from the reference value and, i.e., the distance between electrodes 21 and 22 can be detected.
Each of robot controller 3 and welding gun controller 4 includes a processor having a CPU, a ROM, a RAM and other peripheral circuits. Robot controller 3 is connected to welding gun controller 4. Robot controller 3 and welding gun controller 4 communicate with each other to transmit the signals therebetween. Robot controller 3 is further connected to a teaching control panel 5 and a line control panel 6.
In the memory of robot controller 3, operation programs (working programs), teaching data and the like of robot 1 and spot welding gun 2 are stored in rewritable forms. The teaching data includes welding point data that represents the positions and orientations of robot 1 and spot welding gun 2 when workpiece W is spot-welded at a plurality of welding positions. Based on this teaching data, the working programs for automatic operation are created.
During the automatic operation, robot controller 3 operates robot 1 according to the working programs, so as to control the position and orientation of spot welding gun 2 with respect to workpiece W to dispose workpiece W between electrodes 21 and 22. On the other hand, welding gun controller 4 operates movable electrode 21 according to the working programs, so as to control welding pressure applied to workpiece W by electrodes 21 and 22 and control current supplied to electrodes 21 and 22 according to the working programs to carry out the spot welding at a predetermined welding point position.
Teaching control panel 5 has a manipulating section 51 manipulated by an operator and a display section 52 for notifying predetermined information to the operator. From manipulating section 51, teaching commands for the operations of robot 1, commands for editing or executing the working programs and the like are mainly input. Display section 52 indicates various information, such as setting, operation, abnormality and the like of robot 1.
Though not illustrated in the figures, on a manufacturing line in a factory, a plurality of the spot welding systems described above are provided and a line control panel 6 is connected to each robot controller 3 of these systems. The signals from each robot controller 3 and their respective peripheral devices are sent to line control panel 6 and, based on these signals, line control panel 6 can manage the spot welding manufacturing line in a unified way. Through display section 61 provided in line control panel 6 or a display device (not illustrated) connected to line control panel 6, the operating conditions of each robot 1 can be grasped.
Line control panel 6 receives the signals from each robot controller 3 and outputs external signals to each robot controller 3. Line control panel 6 may output an activation command for executing the working programs to each robot controller 3. The external signals from line control panel 6 may be output via various communication means such as Ethernet® communication. These commands may be issued by operation of teaching control panel 5.
f the welding point position on one of top and bottom surfaces of the workpiece is changed by the thickness of workpiece W, it overlaps the welding point position on the top and bottom surface of the workpiece. Consequently, in the programs, only either one of the top and bottom surfaces (for example, the bottom surface) of the workpiece is set along with the thickness of the workpiece.
During the automatic operation, first, electrodes 21 and 22 move to waiting positions before starting the spot welding. Thus, electrodes 21 and 22 move to positions 1 that are separated from the respective workpiece surfaces by predetermined distances Da and Db, respectively, at a predetermined velocity and temporarily stop there. Next, electrodes 21 and 22 move to the welding point positions (positions 2) along routes illustrated in the figure at a predetermined velocity and, then, apply a predetermined pressing force to workpiece W. In this state, electrodes 21 and 22 are energized at a predetermined current condition. After that, electrodes 21 and 22 move to waiting positions after completing the spot welding. Thus, electrodes 21 and 22 move to positions 3 in
When there are a plurality of welding points, electrodes 21 and 22 move to waiting positions before starting the spot welding corresponding to the subsequent welding spots so that workpiece W is spot-welded successively at the plurality of welding points. In this case, in consideration of surrounding obstacles 25 at each welding point, the distances Da to Dd from the respective workpiece surfaces to electrodes 21 and 22 are set with respect to each welding point, so that electrodes 21 and 22 do not interfere with obstacles 25.
Even when electrodes 21 and 22 are moved to predetermined welding point positions to spot-weld workpiece W of the same type, due to the fact that workpiece W of a different lot is used or the position of the jig for mounting workpiece W is adjusted, the spot welding point positions on the workpiece surfaces may deviate from the target spot welding point positions. Such deviation results in problems such as overload on workpiece W, incorrect flow of welding current and the like and, as a result, welding quality is degraded. Thus, the spot welding point positions have to be corrected by detecting the actual workpiece position. However, it is too time and labor consuming to manually carry out the correction for all of a plurality of spot welding point positions. On the other hand, the operator may directly check and correct the deviation of the spot welding point positions by visual inspection. However, in this case, the degree of the correction is affected by the skill of the operator and the welding quality cannot be maintained uniformly. Consequently, in this embodiment, before carrying out the spot welding by the automatic operation, the workpiece position is automatically detected and the spot welding point positions on the operation programs are corrected as follows.
The motor torque T correlates with a driving current of servo motor 24. Consequently, the motor torque T of
The workpiece position detection process illustrated in
In step S1 in
In step S2, control signals are output to servo motors 13 and 24 to maintain electrodes 21 and 22 to at the open positions in step S1. As a result, as illustrated in
In step S3, a control signal is output to servo motor 24 to allow movable electrode 21 to approach the workpiece surface as illustrated in
In step S4, storage of a physical quantity for detecting the motor torque T and a physical quantity for detecting the positions of electrodes 21 and 22 in the memory is started. Thus, the driving current output to servo motor 24 and the signals from encoders 13a and 24a are stored in the memory every predetermined time period (for example, every few msec).
In step S5, it is determined whether there is pushing of workpiece W by movable electrode 21 or not. The pushing of workpiece W means that, after movable electrode 21 comes into contact with the workpiece surface as illustrated in
The motor torque T in the reference state is not strictly constant but it varies within a predetermined range ΔT0 (see
At this time, as illustrated in
In step S6, a control signal is output to servo motor 24 to stop the approaching movement of movable electrode 21. As a result, as illustrated in
In step S8, a position detection correction amount Δd of movable electrode 21 or, in other words, the pushing amount of workpiece W by movable electrode 21 is calculated. In order to calculate the correction amount Δd, first, based on the time-series data of motor torque T stored in the memory, the contact start time when movable electrode 21 comes into contact with the workpiece surface (t2 in
The predetermined amount a may be experimentally determined in advance. Alternatively, it may be determined based on the pushing motor torque T3 at the pushing time t3 during the movement of movable electrode 21 and the reference torque T2 in the reference state. For example, a difference (the predetermined amount ΔT1) between the pushing motor torque T3 and the reference torque T2 may be determined as the predetermined amount α. Alternatively, a value calculated by multiplying ΔT1 by a predetermined rate (for example, 0.5) may be determined as the predetermined amount α.
In this case, the movable electrode position when the pushing of workpiece W is determined (t3 in
In step S9, the workpiece position is calculated by using the movable electrode stop position and the correction amount Δd. More specifically, a value determined by deviating the movable electrode stop position upward by the correction amount Δd or, in other words, the movable electrode position in the state in which movable electrode 21 starts to make contact with the workpiece surface is calculated and stored in the memory as the spot welding point position on the top surface of the workpiece. Further, a value determined by deviating the spot welding point position on the top surface of the workpiece by the thickness t0 of workpiece W is calculated and stored in the memory as the spot welding point position on the bottom surface of the workpiece. These calculated spot welding point positions are used to correct the working programs. The movable electrode stop position in step S9 may be the movable electrode position when the pushing of workpiece W is determined.
A difference between the spot welding point positions detected by the process described above and the spot welding point positions set in advance in the working programs may be calculated and the difference may be indicated on display section 52 of teaching control panel 5, display section 61 of line control panel 6 and the like. Further, when the difference is equal to or more than a predetermined value, the operator may be notified of an alarm and the like via teaching control panel 5 or line control panel 6.
After that, the workpiece position detection process at the predetermined welding point positions is terminated. When the workpiece position detection process is terminated, in response to the signals from controllers 3 and 4, electrodes 21 and 22 move to the positions separated from the workpiece surface by the predetermined amounts Dc and Dd, respectively. When there are a plurality of welding points, electrodes 21 and 22 move to the next welding points and a similar process is carried out. Electrodes 21 and 22 may be moved manually by the operator in the workpiece position detection process.
The operation of this embodiment can be summarized as follows. When the workpiece position detection command is input by the operation of the operator, movable electrode 21 and counter electrode 22 move to the open positions separated from the workpiece surface by the predetermined amounts Da and Db, respectively (step S1). After that, movable electrode 21 approaches workpiece W at the predetermined velocity v1 (step S3).
Based on the time-series data of the motor torque T obtained as a result of the approaching movement of movable electrode 21 described above, the time when movable electrode 21 has started to make contact with the workpiece surface is calculated (step S8). More specifically, as illustrated in
This embodiment can exhibit the following effects.
(1) Based on the time-series data of the motor torque T when movable electrode 21 is approached the workpiece surface, the time when movable electrode 21 starts to make contact with the workpiece surface is calculated and the position detection correction amount Δd corresponding to the pushing amount of movable electrode 21 on the workpiece surface is also calculated. Then, based on the stop position of movable electrode 21 after movable electrode 21 is pushed and the position detection correction amount Δd, the workpiece position is calculated. As a result, the workpiece position (workpiece surface position) can be detected in consideration of the pushing amount by movable electrode 21 from movable electrode 21 starts to make contact with the workpiece surface till it stops. Consequently, the detection accuracy of the workpiece position is improved.
(2) Based on the motor torque T, it is determined whether movable electrode 21 is in the predetermined pushing state or not. If it is determined that movable electrode 21 is in the predetermined pushing state, the approaching movement of movable electrode 21 is stopped. As a result, movable electrode 21 can be reliably pushed on the workpiece surface within a range of the elastic deformation of workpiece W. Consequently, the workpiece position can be accurately detected based on the pushing amount by movable electrode 21.
(3) The state in which the motor torque T is constant during the approaching movement of movable electrode 21 is defined as the reference state and, when the motor torque T becomes larger than the reference torque T2 by the predetermined value ΔT1 or more, the approaching movement of movable electrode 21 is stopped. As a result, excessive pushing of movable electrode 21 can be prevented and, thus, workpiece W can be prevented from being damaged.
(4) Movable electrode 21 is allowed to approach the workpiece surface at the predetermined velocity v1 and the motor torque T in this constant velocity movement is defined as the reference torque T2. As a result, the reference torque T2 can be properly set and the predetermined pushing by movable electrode 21 can be accurately judged.
(5) Returning to the time when workpiece W is pushed, the time when the motor torque T decreases by the predetermined amount α is calculated as the contact start time. As a result, even when the motor torque T gradually changes after movable electrode 21 makes contact with the workpiece surface, the contact start time can be accurately determined and, consequently, the detection accuracy of the workpiece position is improved.
(6) The workpiece position detection process is carried out by using the working programs for the spot welding. As a result, electrodes 21 and 22 can be moved to a predetermined welding position to detect the workpiece position without interfering with obstacles 25 and the like.
In the process in controllers 3 and 4 described above (step S5), it is determined that the predetermined pushing state is reached when the motor torque T becomes larger than the reference torque T2 by the predetermined value ΔT1 or more (
The motor torque T2 in the reference state may be experimentally determined in advance. When the reference torque T2 is known, in consideration of the reference torque T2, a motor torque Ta or an increasing rate ΔTa/Δt of the motor torque T per unit time that is a threshold for determining the pushing state may be set in advance. Then, when the motor torque T becomes equal to or larger than the predetermined value Ta or when the increasing rate ΔT/Δt of the motor torque T becomes equal to or larger than the predetermined value ΔTa/Δt, it may be determined that the predetermined pushing state is reached. Alternatively, not in consideration of the reference state at all, when the motor torque T becomes equal to or larger than a predetermined value or when the increasing rate ΔT/Δt of the motor torque T becomes equal to or larger than a predetermined value, it may be simply determined that the predetermined pushing state is reached.
In the embodiment described above, in the process in controllers 3 and 4 (step S8), going back from the pushing time tp of workpiece W, the time tc when the motor torque T decreases by the predetermined amount α is calculated as the contact start time (
In the embodiment described above, a series of operations for detecting the workpiece position are carried out automatically by controllers 3 and 4. However, a portion of them may be carried out manually. The approaching and stop operations of movable electrode 21 are carried out automatically in response to the signals from controllers 3 and 4 (step S3 and step S6). However, for example, at least any one of the approaching and stop operations may be carried out manually by the operator manipulating a switch device and the like while monitoring the variation of motor torque T. The operator may monitor the pushing state of movable electrode 21 and determine whether movable electrode 21 is in the predetermined pushing state after making contact with the workpiece surface or not. Consequently, controllers 3 and 4 may not be configured as a control section for controlling servo motors 13 and 24 or as a determination section for determining whether the predetermined pushing state is reached or not.
In the embodiment described above, the correction amount Δd is calculated from the difference between the movable electrode position at the contact start time and the movable electrode position at the approaching movement stop time to detect the workpiece position. However, the correction amount Δd may not be calculated and, for example, the workpiece position may be detected by using the correction amount Δd determined experimentally in advance. Alternatively, a bending amount of workpiece W when movable electrode 21 stops may be measured visually or by using various measuring instruments to determine the correction amount Δd. Further alternatively, an operation in which movable electrode 21 is moved toward the workpiece surface by a predetermined distance and stopped and, at this time, the contact state of movable electrode 21 with the workpiece surface is checked may be repeated and the correction amount Δd may be determined from the moving distance of movable electrode 21 for one movement and the variation of the motor torque T at that time.
In the embodiment described above, the motor torque T is detected based on the driving current output to servo motor 24. However, any physical quantity correlative to the motor torque T, such as the torque, current, velocity, acceleration and the like may be detected and the configuration of a physical quantity detection section is not limited to that described above. The positions of electrodes 21 and 22 are detected based on the signals from encoders 13a and 24a. However, the configuration of a position detection section is not limited as described above. The driving current output to servo motor 24 and the signals from encoders 13a and 24a are stored in the memory of controllers 3 and 4. However, the configuration of a storage section is not limited as described above. The driving current and the signals may be stored in an external storage device.
In the embodiment described above, movable electrode 21 is allowed to approach the workpiece surface. However, in place of movable electrode 21, counter electrode 22 may be allowed to approach the workpiece surface and, based on the variation of the physical quantity at that time, the contact start time may be calculated. Thus, servo motor 1 may drive robot 1 to allow counter electrode 22 approach and separate from the workpiece surface and the contact start time may be calculated based on the variation of the torque of servo motor 13.
The workpiece position detection process in
In the embodiment described above, the contact start time is calculated based on the time-series data of the motor torque T and the position detection correction amount Δd is calculated from the difference between the movable electrode position at the contact start time and the movable electrode position when the pushing movement is stopped (step S8). Then, the workpiece position is computed based on the movable electrode stop position and the correction amount Δd (step S9). However, the workpiece position may be computed without calculating the correction amount Δd. For example, the movable electrode position at the contact start time may be determined directly from the detection value of encoder 24a stored in the memory and, based on this movable electrode position, the workpiece position may be computed. In this case, it is not necessary to calculate the correction amount Δd and, as a result, the process in controllers 3 and 4 can be simplified. Thus, the most significant characteristic of the present invention is that the contact start time of movable electrode 21 is calculated based on the time-series data of the motor torque T and the movable electrode position at this contact start time is determined so that the detection accuracy of the workpiece position can be improved. Consequently, it is not always necessary to determine the correction amount Δd. However, if the correction amount Δd at each welding position is determined and stored in the memory, a validity of the workpiece detecting process can be verified based on a comparison of the correction amount Δd with a correction amount determined when the workpiece surface position at the same welding position is detected at another time. Furthermore, based on a comparison of a correction amount determined at a welding position with another correction amount determined at another welding position, a validity of the workpiece detecting process at respective welding position can be verified.
Summarizing the above, so long as the position detection method for the workpiece to be welded for detecting the workpiece surface position according to the present invention includes the step for allowing movable electrode 21 or counter electrode 22 to approach the workpiece surface so that movable electrode 21 or counter electrode 22 abuts against the workpiece surface in the state in which workpiece W is disposed between movable electrode 21 and counter electrode 22; the step for judging the contact start time of movable electrode 21 or counter electrode 22 with the workpiece surface based on the motor torque T when movable electrode 21 or counter electrode 22 approaches the workpiece surface; and the step for computing the workpiece position based on the positions of electrodes 21 and 22 at the time when it is determined that movable electrode 21 or counter electrode 22 starts to make contact with the workpiece surface, this method is not limited to that described above.
So long as the spot welding system has spot welding gun 2 having a pair of electrodes 21 and 22 that approach and separate from each other by servo motor 24, and robot 1 for movably holding either one of spot welding gun 2 and workpiece W in a manner movable relative to each other so that workpiece W is disposed between electrodes 21 and 22, the overall configuration of the spot welding system having the position detection device for the workpiece to be welded is not limited to that of
According to the present invention, because the workpiece position is computed based on the electrode position when the electrode actually comes into contact with the workpiece, the workpiece position can be accurately detected.
While the present invention has been described with reference to specific preferred embodiments, it will be understood, by those skilled in the art, that various changes or modifications may be made thereto without departing from the scope of the following claims.
Number | Date | Country | Kind |
---|---|---|---|
2010-017202 | Jan 2010 | JP | national |