Abstract:
When performing numerical control of a rotary table, the moment of inertia and the center of gravity of a control target change because of a placed object fixed onto the rotary table. A rotary table to which a placed object has been fixed serves as a target plant, the actual motion of this is compared with motion calculated by an identification model of the target plant, and a torque command value is corrected. The identification model comprises a term pertaining to angular acceleration and a term pertaining to angle of rotation, and by including the term pertaining to angle of rotation, correction of a torque command corresponding to a change in the center of gravity can be performed.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
       [0001]    This application claims priority to Japanese Patent Application No. 2007-003064 filed on Jan. 11, 2007, which is incorporated herein by reference in its entirety. 
       BACKGROUND OF THE INVENTION 
       [0002]    1. Field of the Invention 
         [0003]    The present invention relates to a position control device applied to the axis of rotation of a numerical control machine. 
         [0004]    2. Description of the Related Art 
         [0005]      FIGS. 3A and 3B  are a diagram showing an example of a mechanical model of an axis of rotation that is a control target plant. A rotary table  50  is rotated at an angle of rotation θ about a Zu axis by a servo motor (not shown). The point of intersection between the Zu axis and a rotational locus plane described by a center of gravity G of the rotary table  50  is represented by an origin point Ou, an Xu axis is taken in a perpendicular direction with respect to gravity on the rotational locus plane, and a remaining Yu axis is taken so as to form a right-handed coordinate system with the Zu axis and the Xu axis. 
         [0006]    The center of gravity G is at a distance L from the origin point Ou and is in the position of angle a when θ=0. Various types of jigs/tools and workpieces are placed on the rotary table  50  according to respective machining processes, so that the load state changes and the position of the center of gravity G also fluctuates. Note that g represents gravitational acceleration, and angle b is an angle formed between the Yu axis and a plane perpendicular to the direction of gravity. 
         [0007]      FIG. 4  is a block diagram showing an example of a conventional position control device  200  for controlling the aforementioned angle of rotation θ of the axis of rotation to a position command value θc generated in a precedence device (not shown). 
         [0008]    This device has a feedforward configuration to increase the velocity of command response. Specifically, the position command value θc is temporally differentiated by a differentiator  54  to become a velocity feedforward Vf, and Vf is temporally differentiated by a differentiator  55  to become an acceleration feedforward Af. A gain Cb in an amplifier Cb is a constant that determines an acceleration and deceleration torque feedforward τf corresponding to a motor torque converted to axis of rotation for generating the acceleration Af in the axis of rotation. Ordinarily, Cb corresponds to the sum of the moment of inertia of a transmission system including a motor, which moment of inertia has been axis-of-rotation-converted, and the moment of inertia of the rotary table  50  by itself having no objects placed thereon. 
         [0009]    The feedforward configuration of the conventional position control device is as follows. First, the angle of rotation θ detected by an angle-of-rotation detector (not shown) is subtracted from the position command value θc by a subtractor  51 , and position error that is the output thereof is amplified by a position error amplifier Gp. Moreover, the output thereof is added to the velocity feedforward Vf by an adder  52  to become a velocity command value Vc. A subtractor  53  subtracts, from the velocity command value Vc, an angle-of-rotation velocity ω in which the angle of rotation θ has been differentiated by a differentiator  56 , and velocity error that is the output thereof is ordinarily proportionally integrally amplified by a velocity error amplifier Gv. This output and the acceleration and deceleration torque feedforward τf are added together by an adder  57  to become an axis-of-rotation-converted torque command value τc, which is Ct-amplified by a power amplifier Ct. Ct is a constant determined in accordance with the servo motor characteristic, this output τ becomes the axis-of-rotation-converted generated torque of the servo motor, and the rotary table  50  is driven. 
         [0010]    As described above, in the conventional position control device, an overall configuration where feedforward control is added with respect to a nominal linear characteristic is employed to increase the speed of command response as feedback control for compensating for a nonlinear characteristic resulting from gravity and assuring interior stability of the control system. However, as mentioned above, because various types of different jigs/tools and workpieces are placed on the rotary table, the moment of inertia increases over that of the table by itself and the center of gravity changes. When this happens, the acceleration and deceleration torque feedforward τf is insufficient, the feedback control band is reduced, and the nonlinear characteristic resulting from gravity increases, so that controllability deteriorates, leading to a drop in positioning performance and response variations resulting from the positioning angle during positioning. 
         [0011]    Further, because these fluctuation factors cannot be grasped, acceleration constraints and velocity constraints resulting from centrifugal force for function-generating the position command value θc have been unable to be judged on the part of the precedence device. As a result, efficient function generation has not been possible. Moreover, during direct drive application that does not have a deceleration mechanism, the aforementioned fluctuation factors experience a relative increase, tending to make these problems even greater. 
       SUMMARY OF THE INVENTION 
       [0012]    In view of these problems in the related art, an object of the present invention is to provide a position control device where feedback control and feedforward control that can appropriately respond to changes in moment of inertia and center of gravity are configured. 
         [0013]    The position control device of the present invention determines, from error between actual motion of an axis of rotation of a numerical control machine that is a control target and motion calculated by an identification model where the control target is represented by a mathematical model, each parameter of the identification model and corrects input to the control target on the basis of these parameters. 
         [0014]    The identification model is a motion equation that describes the motion of the axis of rotation, and comprises a term pertaining to angular acceleration and a term pertaining to angle of rotation. With respect to this identification model, the position control device identifies the parameters of the identification model on the basis of the actual angular acceleration and angle of rotation of the axis of rotation of the control target and a torque command value with respect to the numerical control machine. Additionally, the position control device uses the identified parameters to correct the torque command value and perform control conforming to the current condition of the control target. 
         [0015]    In particular, in the position control device of the present invention, the identification model includes the term pertaining to angle of rotation. Thus, the position control device can correct the torque command value in correspondence to the load that fluctuates with the angle of rotation. For example, when the center of gravity of the control target shifts from the axis line of rotation and that axis line is not vertical, the load fluctuates with the angle of rotation because of gravity acting on the center of gravity. Even with such a control target, the position control device can execute control that follows load fluctuation. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0016]      FIG. 1  is a block diagram showing the configuration of a position control device of an axis of rotation of an embodiment of the present invention; 
           [0017]      FIG. 2  is a block diagram describing the configuration of an adaptive loop calculating unit of the embodiment; 
           [0018]      FIGS. 3A and 3B  are a general mechanical model of an axis of rotation that is a target plant; and 
           [0019]      FIG. 4  is a block diagram showing an example configuration of a conventional position control device of an axis of rotation. 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       [0020]    Below, an embodiment of the present invention will be described with reference to the drawings. 
         [0021]    With respect to the target plant of  FIGS. 3A and 3B , the motion equation thereof is derived. In this case, it suffices for the angle of rotation θ to be taken as the generalized coordinate system, and a motion equation (1) is obtained. 
         [0000]      τ=( ML   2   +Iz+Im )( dω/dt )+ M·g·L ·SIN  b ·COS(θ+ a )  (1) 
         [0000]    Here, M is the mass of the entire rotary table including the various types of jigs/tools and workpieces that have been placed thereon and fixed thereto, Iz is the moment of inertia of the entire rotary table about an axis parallel to the Zu axis running through the center of gravity G, and Im is the axis-of-rotation-converted moment of inertia of the transmission system including the motor. 
         [0022]    Now, a three-dimensional signal vector ξ and a parameter vector γ are defined by expressions (2) and (3) (hereinafter, the transposition of matrix and vectors will be represented by appending the superscript “ T ”). 
         [0000]      ξ=[ dω/dt ,COS θ,−SIN θ] T   (2) 
         [0000]      γ=[ ML   2   +Iz+Im ,MgLSbCa,MgLSbSa] T   (3) 
       (Here, Sb=SIN b, Ca=COS a, and Sa=SIN a.) 
       [0023]    The motion of equation of expression (1) can be expressed by the actual system model of expression (4). 
         [0000]      τ= Ct·τc=ξ   T γ  (4) 
         [0024]      FIG. 1  is a block diagram showing the configuration of a position control device  100  according to the present invention. Note that, in this block diagram, the same names and reference numerals are assigned to portions that are the same as those in  FIG. 4  (conventional example), and repeated description thereof is omitted. An adaptive loop calculating unit  2  is a block that calculates an identification parameter vector γ ID  that is an estimate value of the parameter vector γ from the torque command value τc and the signal vector ξ. 
         [0025]      FIG. 2  is a block diagram showing the configuration of the adaptive loop calculating unit  2 . A generalized adaptive law  21  calculates the identification parameter vector γ ID  by known expressions (5) and (6) ( Introduction to Robust Adaptive Control , published by Ohmsha, p. 62, etc.). (Hereinafter, (k) will represent the signal of the k th  cycle in a time-series signal per certain sampling time.) 
         [0000]      γ ID ( k )=γ ID ( k− 1)− P ( k− 1)·ξ( k )·ξ( k ) T Φ( k )  (5) 
         [0000]        P ( k ) −1   =C   1 ( k )· P ( k− 1) −1   +C   2 ( k )·ξ( k )ξ( k ) T   (6) 
         [0000]    Here, 0&lt;C 1 (k)≦1, 0≦C 2 (k)&lt;2, P(0)&gt;0. 
         [0026]    The signal vector ξ(k) and the identification parameter vector γ ID (k) are multiplied by a multiplier  22  to obtain a scalar signal ξ(k) T γ ID (k). The signal equal to that obtained when the generated torque τ(k) of the servo motor is subtracted by a subtractor  23  from this scalar signal ξ(k) T γ ID (k) is a following scalar error ξ(k) T Φ(k) In other words, the following scalar error ξ(k) T Φ(k) can be expressed by expression (7) using also expression (5), and can thus be calculated utilizing γ ID (k−1) of one cycle prior. 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       
                         
                           
                             
                               ξ 
                                
                               
                                 ( 
                                 k 
                                 ) 
                               
                             
                             T 
                           
                            
                           
                             Φ 
                              
                             
                               ( 
                               k 
                               ) 
                             
                           
                         
                         = 
                         
                           
                             
                               
                                 ξ 
                                  
                                 
                                   ( 
                                   k 
                                   ) 
                                 
                               
                               T 
                             
                              
                             
                               
                                 γ 
                                 ID 
                               
                                
                               
                                 ( 
                                 k 
                                 ) 
                               
                             
                           
                           - 
                           
                             τ 
                              
                             
                               ( 
                               k 
                               ) 
                             
                           
                         
                       
                     
                   
                   
                     
                       
                         = 
                         
                           
                             
                               ξ 
                                
                               
                                 ( 
                                 k 
                                 ) 
                               
                             
                             T 
                           
                            
                           
                             { 
                             
                               
                                 
                                   γ 
                                   ID 
                                 
                                  
                                 
                                   ( 
                                   
                                     k 
                                     - 
                                     1 
                                   
                                   ) 
                                 
                               
                               - 
                               
                                 
                                   
                                     P 
                                      
                                     
                                       ( 
                                       
                                         k 
                                         - 
                                         1 
                                       
                                       ) 
                                     
                                   
                                   · 
                                   
                                     ξ 
                                      
                                     
                                       ( 
                                       k 
                                       ) 
                                     
                                   
                                   · 
                                   
                                     
                                       ξ 
                                        
                                       
                                         ( 
                                         k 
                                         ) 
                                       
                                     
                                     T 
                                   
                                 
                                  
                                 
                                   Φ 
                                    
                                   
                                     ( 
                                     k 
                                     ) 
                                   
                                 
                               
                             
                             } 
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   7 
                   ) 
                 
               
             
           
         
       
     
         [0027]    Here, matrix K(k) of expression (8) where the signal vector ξ(k) T  is arranged in a row direction in a time series will be considered. 
         [0000]        K ( k )=[ξ(1), ξ(2), . . . , ξ( k )] T   (8) 
         [0028]    It is known that when matrix K(k) is continuously column full rank, k→∞, γ ID (k)→γ, and parameter identification is established, and when the change in the parameter vector γ is sufficiently slower than convergence response, the identification parameter vector γ ID (k) following the change is obtained. 
         [0029]    In expression (6), because P(k)&gt;0 is assured for an arbitrary value of k, the singular value σ(P(k)) of P(k) matches the eigenvalue λ(P(k)). For this reason, when the matrix K(k) of expression (8) continues to lose column full-rankness from a certain timing on, when C 1 (k)&lt;1, expression (6) means that λmax(P(k))→∞. Because this means that a certain element {pij} of P(k)→∞, this eventually leads to P(k) becoming incalculable. From the above, it will be understood that, even when matrix K(k) continues to lose column full-rankness, P(k) remains bounded, and C 1 (k)→1 is equivalent. 
         [0030]    In this example, a constant trace algorithm is utilized within the known generalized adaptive law. This is because, since tr[P(k)]&gt;λmax(P(k)), P(k) can remain bounded when controlled as tr[P(k)]=tr[P(0)]:(certain value) by an arbitrary k. For this, C 1 (k) is determined by expression (9). 
         [0000]        C   1 ( k )=1 −[|P ( k− 1)μ( k )| 2   /{C +ξ( k ) T   P ( k− 1)}]·[1/ tr{P (0)}]  (9) 
         [0000]    Here, C=C 1 (k)/C 2 (k):(certain value)&gt;0.5. 
         [0031]    Then, because P(k) remains bounded even when matrix K(k) continues to lose column full-rankness for the aforementioned reason, C 1 (k)→1 and P(k−1)ξ(k)→0 from expression (9); thus, it will be understood that parameter identification operation of expression (5) stops. Conversely, when matrix K(k) recovers its column full-rankness, λmax(P(k)) becomes smaller from expression (6) and tr{P(k)} is constant, so other eigenvalues become larger. Then, in expression (9), C 1 (k) becomes smaller than 1, and parameter identification operation of expression (50) is recovered and executed. 
         [0032]    Returning to  FIG. 1 , operation of the present embodiment will be described. A signal vector generating unit  1  performs trigonometric function calculation with respect to the angle of rotation θ, calculates COS θ and −SIN θ, differentiates the angle-of-rotation velocity ω, and determines dω/dt. In other words, the signal vector generating unit  1  becomes a block that generates a source signal of the signal vector ξ in expression (2). Here, this output is multiplied by a multiplier  4  with a binary (1 or 0) output IDC of a parameter identification control unit  3  and becomes a signal vector ξ that is the input of an adaptive loop calculating unit  2 . 
         [0033]    Next, operation of the parameter identification control unit  3  will be described. The motion equation (1) does not include error and disturbance applied to the target plant. For this reason, when disturbance and error are present, error occurs in the identification result. Further, when matrix K(k) of expression (8) cannot ensure column full-rankness, parameter identification operation does not function, so in the signal vector ξ of expression (2), dω/dt≠0 becomes a necessary condition of parameter identification. Moreover, as for the power amplifier Ct in  FIG. 1 , controllability drops when the angle-of-rotation velocity ω becomes larger, and it becomes difficulty for power amplification of Ct times to be accurately realized. 
         [0034]    From the above, the parameter identification control unit  3  applies the logical expressions of set expression (10) to expression (12) with respect to the velocity feedforward Vf, the acceleration feedforward Af, and the parameter identification control binary signal OIDC from the precedence device, outputs the binary signal IDC, and controls execution/stopping of parameter identification operation. When expression (12) is satisfied, 1 is output as IDC. 
         [0000]        cond 1=(0 &lt;Vf≦V max)∩( o&lt;Af )  (10) 
         [0000]        cond 2=(− V max≦ Vf&lt; 0)∩( Af&lt; 0)  (11) 
         [0000]        IDC =( cond 1 Ucond 2)∩ OIDC   (12) 
         [0035]    Here, Vmax (&gt;0) is a velocity limit value with which the power amplifier Ct accurately performs power amplification of Ct times, cond1 extracts a plus direction acceleration state, and cond2 extracts a minus direction acceleration state. A deceleration state causes identification operation to stop such that control parameters (later-described G ID  and τfn) do not change during positioning. As for the parameter identification control binary signal OIDC, there is processing and contact from the outside environment with the rotary table  50 , and when it is presumed that disturbance will be applied, parameter identification operation can be stopped by outputting 0 from the precedence device. 
         [0036]    A first element of the identification parameter vector γ ID  of the adaptive loop calculating unit  2  becomes an identification value (ML 2 +Iz+Im) ID  of the moment of inertia of the motion equation (1) in the target plant from expression (3). A moment-of-inertia coefficient calculating unit  5  uses this as input to output a moment-of-inertia coefficient G ID  by expression (13). 
         [0000]        G   ID =( ML   2   +IZ+Im ) ID /( Cb·Ct )  (13) 
         [0000]    The moment-of-inertia coefficient G ID  is multiplied, by a multiplier  8 , by an output of an adder  57 . For this reason, the acceleration and deceleration torque feedforward τf becomes an appropriate amount corresponding to the linear portion of the first term on the right side in the motion equation (1). 
         [0037]    Further, when Gv(s) represents the transmission characteristic of a velocity error amplifier Gv that has been initially set in correspondence to the moment of inertia of the transmission system including the motor and the rotary table  50  alone, it becomes necessary for the transmission characteristic Gv′ (s) that applies a certain velocity control loop characteristic to satisfy expression (14). 
         [0000]        Gv ′( s )/( ML   2   +Iz+Im )= Gv ( s )/( Cb·Ct )  (14) 
         [0000]    Thus, as for multiplying the moment-of-inertia coefficient G ID  of expression (13), the transmission characteristic of the velocity error amplifier Gv becomes G ID ·Gv(s) and matches Gv′ (s) of expression (14), so that the velocity control loop characteristic is made constant. In other words, the feedback control band including the position loop is made constant. 
         [0038]    Second and third elements of the identification parameter vector γ ID  Of the adaptive loop calculating unit  2  become (MgLSbCa) ID  and (MgLSbSa) ID  from expression (3). A nonlinear element calculating unit  6  performs trigonometric function calculation with respect to the position command value θc, calculates COS θc and −SIN θc, and determines nonlinear element torque compensation τf by calculation of expression (15) with the second and third elements of the identification parameter vector γ ID . 
         [0000]      τ fn =(1 /Ct ){(MgLSbCa) ID ·COS θ c +(MgLSbSa) ID ·(−SIN θ c )}  (15) 
         [0000]    Here, Ct·τfn can be regarded as MgLSb·COS(θc+a), so it becomes an estimate value of a second term on the right side that is a nonlinear element of the motion equation (1). Thus, by adding τfn to the output of the multiplier  8  by means of an adder  9 , feedforward compensation with respect to the nonlinear element can be attained. 
         [0039]    A constraint information calculating unit  7  performs calculation of expression (16) from the identification parameter vector γ ID  of the adaptive loop calculating unit  2 . 
         [0000]      (MgLSb) ID ={(MgLSbCa) ID   2 +(MgLSbSa) ID   2 } 1/2   (16) 
         [0000]    (MgLSb) ID means the maximum amplitude of the nonlinear element, so calculation of expression (17) is performed with an axis-of-rotation-converted generated torque limit value τ LIM  of the servo motor, which is already known information. 
         [0000]        A   LIM ={τ LIM −(MgLSb) ID }/( ML   2   +Iz+Im ) ID   (17) 
         [0040]    A LIM  represents the maximum angular acceleration that the position control device can achieve under the current load condition. 
         [0041]    Next, because gravitational acceleration g and angle b are already known, expression (18) can be calculated from (MgLSb) ID of expression (16). ML ID  can be regarded as (mass)×(distance between center of gravity and rotation central axis) under the current load condition. 
         [0000]        ML   ID =(MgLSb) ID /( g Sb)  (18) 
         [0000]    The constraint information calculating unit  7  uses A LIM  and ML ID  that have been calculated as constraint information under the current load condition and outputs them to the precedence device. Function generation of the position command value θc is performed within the range of these pieces of control information. 
         [0042]    ML ID ω 2  that is determined from the angular velocity ω and ML ID  output from the position control device according to the present embodiment can be regarded as centrifugal force applied to the Zu axis; that is, the rotation central axis of the rotary table  50 . For this reason, the precedence device can determine the maximum angular velocity V LIM  that can be allowed from the tolerated radial load of the drive unit, and the optimum function generation of the position command value θc corresponding to the current load condition can be performed to match the aforementioned maximum angular velocity A LIM . 
         [0043]    According to the present embodiment, the feedback control band is made constant with respect to fluctuations in center of gravity and moment of inertia in the axis of rotation of a numerical control machine. Additionally, with respect to linear characteristic and nonlinear characteristic, feedforward control is made appropriate, so that controllability does not deteriorate, and a drop in positioning performance and response variations resulting from the positioning angle during positioning can be alleviated. Further, acceleration constraints corresponding to the load state and velocity constraints resulting from centrifugal force can be grasped on the part of the precedence device, so optimum function generation of the position command θc becomes possible. Moreover, the control effect resulting from these becomes even more remarkable during direct drive application that does not have a deceleration mechanism.