Abstract:
A control system of servo motors in a machine tool, comprising a host control device which generates position command values for processing a workpiece, servo control devices which drive servo motors to operate a tool for processing using the position command values, and position detectors which detect positions of the servo motors or a tool position and further a position error computing part computes position error between the position command values and detected positions of the servo motors, a reference angle generating part calculates a reference point on a closed figure and a reference angle which varies monotonously from a current processing point under the condition that any position inside of the closed figure which the position command value forms as the center, and learning control parts use the reference angle and the position error as the basis to perform angle synchronization type learning control to control the servo motors.

Description:
BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates to a control system of servo motors which controls a machine tool or other machine. The present invention particularly relates to a control system of servo motors wherein a plurality of axes which are driven by servo motors are coordinated to improve a processing precision when processing a closed curve or polygon. 
     2. Description of the Related Art 
     In general, in a drilling operation which uses a machining center or other machine tool, a boring operation which uses a dedicated tool is performed for improving the precision. The boring tool which is used in the boring operation has to be selected in accordance with the diameter of the hole being bored. Therefore, when boring holes of a plurality of different diameters, a plurality of boring tools become necessary. 
     Usually, in a machining center which is equipped with a numerical control device (CNC), an automatic tool changer (ATC) is provided. The ATC can be equipped with a plurality of tools, so the tools can be automatically changed in accordance with the operation. However, there is a limit to the number of tools which can be mounted at an ATC. For this reason, when an operation arises which is performed by a tool which is not stored at the ATC, time is required for changing the tool. There are therefore issues such as deterioration of the productivity. 
     As opposed to this, there is the method of replacing a boring operation which bores a hole with a milling operation. As one of the methods for the alternative operation of a milling operation, there is a helical machining operation. A helical machining operation is a machining operation using an end mill suitable for the diameter of the hole to be bored so as to repeat an arc motion in a helical manner so as to bore the hole. In a helical machining operation, in general, the arc motion is performed by the coordinated drive operation of a table which carries a workpiece by servo motors in the X-axis and the Y-axis directions. 
     When using a helical machining operation to bore a hole, even when boring a plurality of holes with different diameters, there is the advantage that a single end mill can handle the operation. On the other hand, a helical machining operation is accompanied with arc motion of the table, so if increasing the speed, due to the delayed response of the X-axis and Y-axis servo motors which drive the table or lost motion of the machinery (backlash or torsion), quadrant glitch (delay at time of reversal of drive axis) occurs and the precision is liable to deteriorate. 
     As a method for countering this deterioration of precision, the method of utilizing the fact that in a helical machining operation, the end mill repeats arc motion and of applying learning control to the control of the servo motors of the X-axis and Y-axis drive axes is the most effective. In particular, it is effective to apply angle synchronization type learning control enabling fluctuations of the processing speed to be handled as described in the servo motor drive control system which is disclosed in Japanese Patent No. 4043996, but in this case, angular information serving as the basis for the period of the learning control becomes necessary. The reference angle has to made to monotonously increase or monotonously decrease, but in the case of arc motion of an end mill by the two X-axis and Y-axis, there is no information (signal) which can be utilized as this reference angle. 
     To solve this problem, Japanese Patent No. 4980453B2 discloses a servo control system which cumulatively adds the X-axis or Y-axis command values or absolute values of the feedback values to thereby create information (signal) at the reference angle. 
     However, the servo control system which is disclosed in Japanese Patent No. 4980453 has the issue of being unable to handle the case where the diameter of the arc slowly changes. This issue arises since learning control requires the period of learning (for example 360 degrees etc.) as projected information in order to secure a memory corresponding to the period of repetition of the command value, but when preparing a signal corresponding to the reference angle from the command values or feedback values, the angle which the signal indicates is not the angle from the center, but the amounts of movement of the X-axis and Y-axis, so if the diameter of the circle changes, the amounts of movement change. As a result, in the servo control system which is disclosed in Japanese Patent No. 4980453, the period of the projected information and the actual amount of movement no longer match and correct learning control becomes no longer possible. 
     For example, in a helical machining operation, when an end mill engages in circular motion such as illustrated in  FIG. 1A , it is possible (easy) to calculate the amount of movement of the end mill corresponding to the learning period from the diameter of the circle “c”. However, in a helical machining operation, when an end mill engages in motion such as the free closed curve L not a simple circle such as illustrated in  FIG. 1B , it is not easy to calculate the amount of movement of the end mill. 
     SUMMARY OF INVENTION 
     In one aspect, an object of the present invention is to provide a control system of servo motors which enables angle synchronization type learning control to be applied and higher precision to be achieved even when performing a boring operation where a diameter of the hole gradually changes or even when processing a shape such as a free closed curve rather than a simple arc. 
     According to one aspect of the present invention, there is provided a control system of servo motors in a machine tool or an industrial machine which uses coordinated operations of a plurality of axes including two mutually orthogonal axes which are driven by servo motors so as to process a workpiece into the shape of a closed figure or a columnar member or conical member with that closed figure positioned in parallel at a top end and bottom end, comprising a host control device which generates a position command value for processing the workpiece, a servo control which which uses the position command value as the basis to drive the servo motors of the axes to operate a driven member which processes the workpiece, and position detectors which detect positions of the servo motors or a position of the driven member and further comprises a position error computing part which computes position error between the position command values and detected positions of the servo motors, a reference angle generating part which designates any position inside of a closed figure which the position command value forms as the center and calculates a reference angle which monotonously increases or monotonously decreases from a reference point on the closed figure and a current processing point, and learning control parts which use the reference angle and the position error as the basis to perform angle synchronization type learning control. 
     According to the control system of servo motors of the present invention, the system defines any point at the inside of a commanded closed curve or a polygon or other closed shape as the center, successively calculates an angle from a reference point to the current processing point, and uses this for angle synchronization type learning control, so in this case, if making the period 360 degrees, even if the diameter of the circle changes, learning control becomes possible. As a result, according to the control system of servo motors of the present invention, even when processing a shape such as a closed curve or a polygon, for which application was difficult in the past, angle synchronization type learning control can be applied and higher precision can be achieved. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The present invention will be more clearly understood by reference to the figures attached below. 
         FIG. 1A  is a view which illustrates a circular motion of an end mill in a helical machining operation. 
         FIG. 1B  is a view which illustrates a closed curve motion of an end mill in a helical machining operation. 
         FIG. 2A  is a closed curve which illustrates the shape of a workpiece to be processed by a machine tool which is provided with a control system of servo motors of the present invention. 
         FIG. 2B  is a polygon which illustrates the shape of a workpiece to be processed by a machine tool which is provided with a control system of servo motors of the present invention. 
         FIG. 2C  is a columnar member which is provided at its top end and bottom end with surfaces which are surrounded by closed curves and illustrates the shape of a workpiece to be processed by a machine tool which is provided with a control system of servo motors of the present invention. 
         FIG. 2D  is a polygonal column which illustrates the shape of a workpiece to be processed by a machine tool which is provided with a control system of servo motors of the present invention. 
         FIG. 2E  is a conical member which is provided at its top end and bottom end with closed curves of similar shapes and illustrates the shape of a workpiece to be processed by a machine tool which is provided with a control system of servo motors of the present invention. 
         FIG. 2F  illustrates a conical member which is provided at its top end and bottom end with polygons of similar shapes and illustrates the shape of a workpiece to be processed by a machine tool which is provided with a control system of servo motors of the present invention. 
         FIG. 3  is a block diagram of one embodiment of a control system of servo motors of the present invention. 
         FIG. 4  is a view which illustrates a method of computing a reference angle in the case where the processed shape is a closed curve. 
         FIG. 5  is a flow chart which illustrates the operation of a control system of servo motors which is illustrated in  FIG. 3 . 
         FIG. 6  is a block diagram of another embodiment of a control system of servo motors of the present invention. 
     
    
    
     DETAILED DESCRIPTION 
     Below, the attached drawings will be used to explain the present invention in detail based on specific embodiments, but before explaining the embodiments of the present invention,  FIG. 2A  to  FIG. 2F  will be used to explain the processed shapes of workpieces of a control system of servo motors of the present invention. 
     The processed shapes of workpieces of the present invention include the following: 
     (a) A closed curve L such as illustrated in  FIG. 2A  on any plane where the curves (line segments) do not intersect 
     (b) A polygon P such as illustrated in  FIG. 2B   
     (c) A columnar member V 1  such as illustrated in  FIG. 2C  which has closed curves which include arcs which do not intersect at its top end and bottom end 
     (d) A columnar member V 2  such as illustrated in  FIG. 2D  which has polygonal surfaces at its top end and bottom end 
     (e) A conical member V 3  such as illustrated in  FIG. 2E  which is provided with closed curves of similar shapes at its top end and bottom end 
     (f) A conical member V 4  such as illustrated in  FIG. 2F  which is provided with polygons of similar shapes at its top end and bottom end 
     Here, the basic configuration of one embodiment of the control system  1  of servo motors of the present invention will be explained using  FIG. 3 . The control system  1  of servo motors of the present invention comprises a host control device  24 , servo control system  10 , and position detectors  27  and  31 . The control system  1  of servo motors is used in a machining center or other machine tool or industrial machine which includes at least two axes which perform coordinated operations such as a mutually orthogonal X-axis and Y-axis. In this case, the servo control system  10  is provided with an X-axis servo control device  18  and a Y-axis servo control device  20 . 
     Further, in the control system  1  of a servo motor of the present invention, a Z-axis servo control device is not essential, so illustration is omitted. Note that when providing a Z-axis servo control device, its function may be similar to that of a conventional servo control device. That is, the Z-axis servo control device finds the error between a Z-axis position command value which is sent from the host control device for performing predetermined processing and a position feedback value of the Z-axis servo motor or a tool or other driven member which is driven by the Z-axis servo motor, adds gain to this error, and uses the result as a Z-axis servo speed command to control the Z-axis servo motor. The position feedback value is obtained by a position detector which detects the Z-position of the Z-axis servo motor or the driven member. 
     When the servo control system  10  is provided with the X-axis servo control device  18  and the Y-axis servo control device  20 , the X-axis servo control device  18  and the Y-axis servo control device  20  use the different axes of position command values (X-axis command and Y-axis command) Pc which are sent from the numerical control device (NC) or other host control device  24  as the basis to prepare speed commands and use these speed commands to control the servo motors  12  and  14 . 
     The X-axis servo control device  18  has an angle synchronization type learning controller  26 . The learning controller  26  uses error Er of a periodic X-axis position command value Pc which is sent from the host control device  24  for performing predetermined processing and a position feedback value Pf of the X-axis servo motor  12  or a tool or other driven member (not illustrated) which is driven by the X-axis servo motor  12  as the basis to prepare a correction amount for control of the X-axis servo motor  12 . The correction amount is added to the error Er, then amplified by the gain Kp and used as the X-axis servo speed command value for control of the X-axis servo motor  12 . The position feedback value Pf is obtained by the position detector  27  which detects the position of the X-axis servo motor  12  or the driven member. Further, the X-axis servo control device  18  uses the reference angle θ which is sent from the host control device  24  as the basis for the learning controller  26  to perform learning control. Details of the learning control will be explained later. 
     Similarly, the Y-axis servo control device  20  has an angle synchronization type learning controller  30 . The learning controller  30  uses error Er of the periodic Y-axis position command value Pc which is sent from the host control device  24  for performing predetermined processing and a position feedback value Pf of the Y-axis servo motor  14  or a driven member (not illustrated) which is driven by the Y-axis servo motor  14  as the basis to prepare a correction amount for control of the Y-axis servo motor  14 . The correction amount is added to the error Er, then amplified by the gain Kp and used as the Y-axis servo speed command for control of the Y-axis servo motor  14 . The position feedback value Pf is obtained by the position detector  31  which detects the Y-position of the Y-axis servo motor  14  or the driven member. Further, the Y-axis servo control device  20  uses the reference angle θ which is sent from the host control device  24  as the basis for the learning controller  30  to perform learning control. Details of the learning control will be explained later. 
     Here, a specific example of the configuration of the learning controller  26  in the X-axis servo control device  18  will be explained. In the X-axis servo control device  18 , the position error Er is computed by an adder  35  from the position command value Pc which is sent from the host control device  24  and the position feedback value Pf which is sent from the position detector  27 . The learning controller  26  acquires the position error Er of the X-axis servo motor  12  or the driven member as the first position error every predetermined sampling period (for example 1 ms). The first position error Er is sent to the first conversion part ( FIG. 3  describes this as “TIME→ANGLE CONVERSION”)  34  whereupon the first conversion part  34  converts the first position error Er to the second position error Er′ for every reference angular position (explained later) of the driven member in one period. That is, the first position error Er (time) which is linked with the sampling period is converted to a second position error Er′ (angle) which is linked with the reference angular position. This conversion technique itself is known, so the explanation will be omitted. 
     The second position error Er′ is increased by the first correction amount of one period before in the periodic operation of the driven member which is stored in the delay memory  36  for normally 360 degrees, then is stored in the delay memory  36  as the first correction amount c 1 . The first correction amount c 1  is sent to the second converting part ( FIG. 3  describes this as “ANGLE→TIME CONVERSION”)  38 , then the second converting part  38  converts the first correction amount c 1  for each reference angular position to the second correction amount c 2  for each sampling period. That is, the first correction amount c 1  (angle) which is linked with the reference angular position is converted to the second correction amount c 2  (time) which is linked with the sampling period. This conversion technique itself is known, so its explanation will be omitted. 
     The learning controller  26  may be provided with a band limiting filter  40  which limits the band of the first correction amount c 1  and a phase advance filter  42  which compensates for phase and compensates for gain of the second correction amount c 2  from the second converting part  38 , but these filters are not essential component elements. Note that the band limiting filter  40  specifically is a low pass filter for cutting off the signal in the high frequency region of a certain frequency region and has the effect of improving the stability of the control system. Further, the phase advance filter  42  is a filter which specifically makes the phase of the signal of the high frequency region in a certain frequency region advance and further raises the gain and has the effect of compensating for delays in the position control, speed control, current control and other control systems and for drops in gain. Note that the learning controller  30  of the Y-axis servo control device  20  can also be configured similar to the learning controller  26 . 
     The host control device  24  includes an X-axis commanding part  2  and Y-axis commanding part  3  and a reference angle generating part  4 . The X-axis commanding part  2  and the Y-axis commanding part  3  generate X-axis and Y-axis position command values Pc for each predetermined command distribution period T (for example T=1 ms). The reference angle generating part  4  receives as input the X-axis and Y-axis position command values Pc from the X-axis commanding part  2  and the Y-axis commanding part  3 . Further, the reference angle generating part  4  uses the X-axis and Y-axis position command values Pc to generate the X-axis and Y-axis reference angles θ and inputs these to the X-axis learning controller  26  and the Y-axis learning controller  30 . 
     Here, the generation of the X-axis and Y-axis reference angles θ by the reference angle generating part  4  will be explained using  FIG. 4 .  FIG. 4  is an example of the case where the position command value Pc, for example, forms a closed curve L. The reference angle generating part  4  defines any position inside of the closed curve L which the position command value Pc forms as the center and calculates a reference angle θ which monotonously increases or monotonously decreases from a reference point on the curve and the current processing point. For example, when repeatedly processing the closed curve L of the plane of the perpendicularly intersecting X- and Y-axes which are illustrated in  FIG. 4 , it defines any position P at the inside of the closed curve L as the center point and defines this coordinate as P(Xo, Yo). The driven member which performs the processing is repeatedly made to rotate in one direction along the closed curve L. The angle synchronization type learning control is performed at a predetermined sampling period, so the reference angles θ which are used here are also calculated for each same sampling period. 
     Here, the processing point on the closed curve one sampling period before the current processing point is designated by S(Xs, Ys), while the processing point at which processing is currently being performed is designated as M(Xm, Ym). Note that the reference point is made the processing start point (initial value) on the closed curve L. The above three points M, P, and S are used to find the reference angle θn at a certain time “n”. The lengths PS, SM, and MP of the sides of the triangle which connects the three points are found by the following formula 1, formula 2, and formula 3 (where, √ means square root of everything in parentheses).
 
 PS =√(( Xs−Xo ) 2 +( Ys−Yo ) 2 )  (1)
 
 SM =√(( Xm−Xs ) 2 +( Ym−Ys ) 2 )  (2)
 
 MP =√(( Xo−Xm ) 2 +( Yo−Ym ) 2 )  (3)
 
     Further, the amount of change Δθ per sampling period of the reference angle θ found can be found from the law of cosines by the following formula 4.
 
Δθ=arccos( MP   2   +PS   2   −SM   2 )/(2* MP*PS )  (4)
 
     Further, the reference angle θn which is found in the sampling period “n” is calculated as the cumulative value of the Δθ which is found by formula 4 from θn=Σ(Δθ). In processing by the driven member, the driven member constantly rotates in one direction and does not rotate in the opposite direction in the middle, so the found reference angle θ monotonously increases or monotonously decreases. The thus calculated reference angle θ, as explained above, is sent from the reference angle generating part  4  to the learning controller  26  of the X-axis servo control device  18  and the learning controller  30  of the Y-axis servo control device  20 . By operation of the learning controllers  26  and  30 , the servo motors  12  and  14  are controlled. Note that the center points, reference points, and processing points are also illustrated for the closed curve L which is illustrated in  FIG. 2A , the polygon P which is illustrated in  FIG. 2B , and the columnar members V 1  and V 2  which are illustrated in  FIG. 2C  and  FIG. 2D . 
     Next, the flow of processing at the above explained control system  1  of servo motors will be explained using the flow chart which is illustrated in  FIG. 5 . Note that to facilitate understanding of the explanation, the reference notations of the component members in the control system  1  of servo motors which is illustrated in  FIG. 3  will be assigned to explain the processing. At step  501 , the host control device  24  distributes commands for processing a closed curve or polygon on perpendicularly intersecting coordinate planes (different axes of position command values Pc) to the X-axis servo control device  18  and the Y-axis servo control device  20  (below, referred to as the “servo control devices  18  and  20 ”) every predetermined command distribution period T (for example, T=1 ms). 
     At the next step  502 , the servo control devices  18  and  20  detect the positions of the servo motors  12  and  14  or the position of the driven member (position feedback value Pf). Next, at step  503 , the servo control devices  18  and  20  calculate the error (position error Er) from the commands (position command values Pc) and position (position feedback value Pf). The error (position error Er) is input to the X-axis and Y-axis learning controllers  26  and  30 . 
     On the other hand, the reference angle generating part  4  at the host control device  24  defines any position at the inside of a closed curve or a polygon which is processed at step  504  as the center (center point) and calculates and finds the reference angle θ from the reference point on the lines and the current processing point at step  505 . It inputs the reference angle θ which is found to the X-axis and Y-axis learning controllers  26  and  30 . 
     If the error (position error Er) and the reference angle θ are input to the X-axis and Y-axis learning controllers  26  and  30 , at step  506 , the X-axis and Y-axis learning controllers  26  and  30  use the error (position error Er) and reference angle θ to perform angle synchronization learning control. Angle synchronization learning control is known, so its explanation will be omitted. 
     If the X-axis and Y-axis learning controllers  26  and  30  perform angle synchronization learning control, the first correction amount c 1  for each reference angle θ is converted to the second correction amount c 2  for each sampling period and output from the X-axis and Y-axis learning controllers  26  and  30 . At step  507 , the servo control devices  18  and  20  add the outputs of the X-axis and Y-axis learning controllers  26  and  30  to the error (position error Er) to generate speed commands of the servo motors  12  and  14 . The servo motors  12  and  14  are controlled in drive operations by the speed commands. 
     Note that in the embodiment which was explained above, the reference angle generating part  4  was provided at the host control device  24 , but the reference angle generating part  4 , as illustrated in the other embodiment which is illustrated in  FIG. 6 , can also be provided as reference angle generating parts  5  and  6  at the X-axis servo control device  18  and the Y-axis servo control device  20 . The control system  1 A of servo motors of the embodiment which is illustrated in  FIG. 6  is the same in configuration as the control system  1  of servo motors of the embodiment which is illustrated in  FIG. 3  except for the reference angle generating parts  5  and  6 , so the same component members are assigned the same reference notations and explanations are omitted. 
     In this way, according to the control system of servo motors of the present invention, the system defines any point at the inside of a commanded closed curve or a polygon or other closed shape as the center, successively calculates the angle from the reference point to the current processing point, and uses this for angle synchronization type learning control, so in this case, if making the period 360 degrees, even if the diameter of the circle changes, learning control becomes possible. As a result, according to the control system of servo motors of the present invention, angle synchronization type learning control can be applied and higher precision can be achieved even when processing a shape such as a closed curve or a polygon for which application was difficult in the past.