CROSS-REFERENCES TO THE RELATED APPLICATIONS 
     This application is a continuation-in-part of U.S. patent application Ser. No. 07/929,111 filed on Aug. 13, 1992, now U.S. Pat. No. 5,428,559. 
    
    
     BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates to a control method and apparatus, using a neural network model, for controlling a nonlinear controlled system such as a manipulator. 
     2. Description of the Related Art 
     A conventional method of controlling a nonlinear controlled system such as a manipulator is exemplified by a method of combining nonlinear compensation and feedback control and an inverse problem technique for obtaining a manipulated variable from a mathematical model (especially a mathematical model of dynamic characteristics) of a nonlinear controlled system. In these methods, accurate control cannot be performed if a mathematical model for a controlled system is unknown. 
     Several methods are proposed as a method of controlling a nonlinear controlled system using a neural network model. According to a control method using a neural network model, control can be achieved by acquiring the dynamic characteristics of a controlled system by learning a neural network model even if a mathematical model of the controlled system is unknown. A conventional control method using a neural network model, however, is feed-forward control for calculating a manipulated variable from a target controlled variable or quantity. For this reason, a shift in target controlled variable caused by a disturbance cannot be compensated. 
     As described above, in the conventional method of combining nonlinear compensation and feedback control and the conventional method using the inverse problem technique, accurate control cannot be performed if a mathematical model for a nonlinear controlled system is not known. Therefore, a deviation of a controlled variable caused by a disturbance cannot be compensated by the method using the neural network model. 
     SUMMARY OF THE INVENTION 
     It is an object of the present invention to provide a control method and apparatus using a neural network model and capable of accurately controlling a controlled system (especially a nonlinear controlled system) whose mathematical model is unknown, and compensating for a deviation of a controlled variable caused by a disturbance. 
     A control method of controlling a controlled system according to the present invention is characterized by the first step of inputting current and future target controlled variables to a first neural network model and causing the first neural network model to execute a forward calculation to output a virtual manipulated variable initial value; the second step of causing a second neural network model to receive the virtual manipulated variable initial value obtained in the first step and a controlled variable obtained from said controlled system at a current time, and causing the second neural network model to execute a forward calculation to output a predicted controlled variable; the third step of obtaining an error of the predicted controlled variable obtained in the second step with respect to the target controlled variable; the fourth step of obtaining a correction amount for the virtual manipulated variable in accordance with a back propagation calculation of said second neural network model using the error obtained in the third step, thereby correcting the virtual manipulated variable in accordance with the correction amount; the fifth step of outputting the virtual manipulated variable corrected in the fourth step to the controlled system as a manipulated variable; and the sixth step of causing the first neural network model to perform learning in an error back propagation learning method, using as a teacher signal the virtual manipulated variable output to the controlled system. 
     The third step is characterized by including the step of obtaining an error of the predicted controlled variable with respect to the target controlled variable on the basis of at least one of a predicted controlled variable after one sampling period and a predicted controlled variable after two sampling period. 
     The fifth step is characterized by including at least one of the step of outputting the corrected virtual manipulated variable to the controlled system after the second to fourth steps are repeated by a predetermined number of times, and the step of outputting the corrected virtual manipulated variable to the controlled system after the second to fourth steps are repeated until the error of the predicted controlled variable with respect to the target controlled variable reaches not more than a predetermined value. 
     Another control method of controlling a controlled system according to the present invention is characterized by comprising: the first step of preparing a second neural network model having learnt to predict a behavior of the controlled system; the second step of inputting current and future target controlled variables to a first neural network model and causing the first neural network model to execute a forward calculation to output a virtual manipulated variable initial value; the third step of causing the second neural network model to receive the virtual manipulated variable initial value obtained in the first step as a virtual manipulated variable and a controlled variable obtained from said controlled system at a current time, and causing the second neural network model to execute forward calculation to output a predicted controlled variable; the fourth step of obtaining an error of the predicted controlled variable obtained in the third step with respect to the target controlled variable; the fifth step of obtaining a correction amount for the virtual manipulated variable in accordance with a back propagation calculation of said second neural network model, using the error obtained in the fourth step, thereby correcting the virtual manipulated variable with the correction amount; the sixth step of outputting the virtual manipulated variable corrected in the fifth step to the controlled system as a manipulated variable; and the seventh step of causing the first neural network model to perform learning in an error back propagation learning method, using as a teacher signal the virtual manipulated variable output to the controlled system. 
     A control apparatus for controlling a controlled system according to the present invention is characterized by comprising: a first neural network model for receiving current and future target controlled variables to obtain a virtual manipulated variable initial value; second step of causing the second neural network model to receive a controlled variable by the controlled system and a virtual manipulated variable, in this a virtual manipulated variable initial value is set as an initial value, obtained by the first neural network model and outputting a predicted controlled variable by an output calculation; and means for obtaining a corrected virtual manipulated variable using the correction value and the virtual manipulated variable and outputting the corrected virtual manipulated variable to the controlled system. The control apparatus is characterized by further comprising a subtracter for subtracting the predicted controlled variable obtained in the second neural network model from the future target controlled variable and outputting a difference to the second neural network model, and is characterized by further comprising an integrator for accumulating the virtual manipulated variable and the correction amount; a first switch for selectively switching an output from the first neural network model and an output from the second neural network model so as to receive the virtual manipulated variable and the correction amount; and a second switch for supplying an output from the integrator to the controlled system under a predetermined condition. 
     The first neural network model calculates a correction amount of a coupling weight value by performing a learning calculation which uses a manipulated variable as a teacher signal, after the manipulated variable is supplied to the controlled system as each sampling time, and corrects the coupling weight value after completion of a sequence of control operations. 
     The second neural network model is characterized by performing the learning in advance to predict a behavior of the controlled system, and is characterized by including means for receiving the virtual manipulated variable and the current controlled variable to obtain a predicted controlled variable; means for obtaining an error of the predicted controlled variable with respect to the target controlled variable; and means for obtaining a correction amount for the virtual manipulated variable using the error. The means of obtaining an error is characterized by including means for obtaining an error of the predicted controlled variable with respect to the target controlled variable on the basis of at least one of a predicted controlled variable after one sampling period and a predicted controlled variable after two sampling period. 
     In addition, the second neural network model is characterized by including means for outputting the virtual manipulated variable to the controlled system when the error reaches not more than a predetermined value. 
     According to the present invention, the first neural network model outputs a virtual manipulated variable initial value, and then a current virtual manipulated variable can be predicted on the basis of a current virtual manipulated variable obtained by the controlled system and a virtual manipulated variable, in which the virtual manipulated variable initial value is an initial value by the second neural network. In addition, the correction amount of the virtual manipulated variable can be calculated from an error between a target controlled variable and the predicted value of the controlled variable in accordance with an error back propagation calculation of the second neural network model. According to the present invention, therefore, the forward calculation and the error back propagation calculation of the second neural network model are repeated to correct the virtual manipulated variable. The correction result serves as a manipulated variable for the nonlinear controlled system. As a result, accurate control of a controlled system a mathematical model of dynamic characteristics of which is unknown and a controlled system having highly nonlinear dynamic characteristics can be performed. 
     In the forward calculation of the second neural network model, the currently observed controlled variable and the virtual manipulated variable are input to predict a controlled variable. The correction amount of the virtual manipulated variable is calculated by the error back propagation calculation such that this predicted controlled variable comes closer to the target controlled variable. Even if a deviation of a controlled variable occurs due to a disturbance, the virtual manipulated variable can be immediately corrected to eliminate this shift. 
     When learning by the first neural network model progresses, the first neural network model can output a value which is close to a manipulated variable that enables the input target controlled variable. Therefore, an accurate manipulated variable can be obtained by a small repetition count of the forward and error back propagation calculations of the second neural network model. 
     As described above, according to the present invention, there is provided a control method and apparatus, using a neural network model, capable of accurately controlling a nonlinear controlled system a mathematical model of dynamic characteristics of which is unknown and a nonlinear controlled system having highly nonlinear dynamic characteristics. 
     Additional objects and advantages of the present invention will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by practice of the present invention. The objects and advantages of the present invention may be realized and obtained by means of the instrumentalities and combinations particularly pointed out in the appended claims. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate presently preferred embodiments of the present invention and, together with the general description given above and the detailed description of the preferred embodiments given below, serve to explain the principles of the present invention in which: 
     FIG. 1 is a schematic block diagram showing a control apparatus according to an embodiment of the present invention; 
     FIG. 2 is a view showing a two-joint manipulator moving on a plane, which manipulator serves as a nonlinear controlled system; 
     FIG. 3 is a view showing input/output signals in a forward calculation of a first neural network model; 
     FIG. 4 is a view showing input/output signals in a forward calculation of a second neural network model; 
     FIG. 5 is a view showing input/output signals in a back propagation calculation of the second neural network model; and 
     FIGS. 6A and 6B are flow charts showing calculation procedures. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     FIG. 1 is a schematic block diagram showing a control apparatus according to an embodiment of the present invention. 
     A two-joint manipulator is exemplified as a controlled system according to this embodiment. However, the present invention is not limited to this, but is also applicable to a multijoint manipulator or process control. In this embodiment, assume that the two-joint manipulator moves on the x-y plane in FIG. 2 to perform track follow-up control for causing the manipulator to follow up a target joint angle track for T f  from time 0 to time NΔt (=T f ). 
     The control apparatus shown in FIG. 1 comprises a manipulator 1, a first neural network model 2, a second neural network model 3, a feedback loop 4, a time delay element 5 in the feedback loop 4, an integrator 6, a first switch 7, a second switch 8, and a subtracter 9. The subtracter 9 generates an error signal input used for learning of a first neural network model. 
     As shown in FIG. 2, the manipulator 1 comprises a first link 10, a second link 11, a first joint 12, and a second joint 13. The angle formed between the first link 10 and the x-axis is defined as a first joint angle θ 1 , and the angle formed between the second link 11 and an extended line of the first link 10 is defined as a second joint angle θ 2 . A first joint torque τ 1  acts on the first joint 12 in the positive direction of the joint angle, and a second joint torque τ 2  acts on the second joint 13 in the positive direction of the joint angle. 
     The manipulator 1 receives a manipulated variable vector τ n  =(τ 1 ,n, τ 2 ,n) T  (where τ 1 ,n is the first joint torque at time nΔt, τ 2 ,n is the second joint torque at time nΔt, and the manipulated variable vector τ n  is a vector having the first and second joint torques as its elements), and measures a controlled variable vector θ n  =(θ 1 ,n, θ 2 ,n, Θ 1 ,n, Θ 2 ,n) T  (where θ 1 ,n is the first joint angle at time nΔt, θ 2 ,n is the second joint angle at time nΔt, Θ 1 ,n is the first joint angular velocity at time nΔt, and Θ 2 ,n is the second joint angular velocity at time nΔt). The motion equation of the manipulator 1 is represented as θ n+1  =F(θ n , τ n ). In this case, the controlled variable vector θ n  represents a vector having the joint angles θ 1 ,n and θ 2 ,n and the angular velocities Θ 1 ,n and Θ 2 ,n as its elements. 
     The first neural network model 2 will be described with reference to FIG. 3. FIG. 3 shows the first neural network model 2 constituted by a three-layered neural network model. 
     The first neural network model 2 receives a target controlled variable d n  at current time nΔt and a target controlled variable d n+1  after one sampling period, and outputs a virtual manipulated variable initial value τ *n  in accordance with a forward calculation. The virtual manipulated variable initial value τ *n  is input to the integrator 6 as an initial value. The first neural network model 2 performs learning using, as a teacher signal (i.e., a signal (τ n  -τ *n ) is used as an error signal), the manipulated variable τ n  input from the integrator 6 to the manipulator 1 every sampling time, in accordance with the error back propagation method. That is, a coupling weight vector w1 as a parameter in the first neural network model 2 is corrected in accordance with the learning error signal (τ n  -τ *n ) input from the subtracter 9 to the first neural network model 2. The calculation of the error back propagation method will be described in detail later. 
     The second neural network model 3 will be described with reference to FIGS. 4 and 5. In this embodiment, the second neural network model 3 is a three-layered neural network model. 
     The second neural network model 3 receives a virtual manipulated variable τvn=(τv1,n,τv2,n) T  and a controlled variable θn=(θ1,n,θ2,n,Θ1,n,Θ2,n) T  fed back by way of the feedback loop 4 and computes, by forward calculation, a predicted control variable z n+1  =(z 1 ,n+1,z 2 ,n+1,Z 1 ,n+1,Z 2 ,n+2) T  which is after one sampling period, and a predicted joint angle zpos n+2  =(z 1 ,n+2,z 2 ,n+2) which is after two sampling periods. The sum of the squares of the differences between predicted controlled variables (z n+1 ,zpos n+2 ) obtained by the forward calculation executed by the second neural network model and a target control value (d n+1 ,dpos n+2 ) is defined as error function E2 n  : 
     
         E2.sub.n =1/2(Δθ.sup.T.sub.n+1 Δθ.sub.n+1 +Δθpos.sup.T.sub.n+2 Δθpos.sub.n+2) 
    
     
         Δθ.sub.n+1 =d.sub.n+1 -z.sub.n+1 
    
     
         Δθpos.sub.n+2 =dpos.sub.n+2 -zpos.sub.n+2. 
    
     A correction amount Δτn of a manipulated variable is computed by causing the second neural network model to execute an error back propagation calculation on the basis of an error function E2n. 
     FIGS. 4 and 5 show the states of the second neural network mode 3. FIG. 4 shows the state in the forward calculation, and FIG. 5 show the relationship between the inputs and outputs in the error back propagation calculation. The forward calculation and the error back propagation calculation will be described in detail later. 
     The feedback loop 4 feeds back the controlled variable θ n+1  calculated for the manipulator 1 as the controlled system to the second neural network model 3 through the time delay element 5. 
     The integrator 6 sequentially accumulates inputs input through the first switch 7. In each sampling operation, the second switch 8 is closed, and an output from the integrator 6 is input as a manipulated variable to the manipulator 1 serving as the controlled system. Thereafter, the output from the integrator 6 is reset to zero, and the first switch 7 is switched to the output side of the first neural network model 2. That is, the first input signal to the integrator 6 is the virtual manipulated variable initial value τ *n  output from the first circuit model 2. The first switch 7 is then switched again to input the correction amount Δτ n  from the second neural network model 3 to the integrator 6 through the first switch 7. 
     The calculation procedures of the control apparatus shown in FIG. 1 will be described with reference to flow charts in FIGS. 6A and 6B. These calculation procedures are repeated every sampling time. For this reason, the procedures for obtaining a manipulated variable at time nΔt will be described below. 
     In the following description, reference symbol d denotes a target track; d n  is a target controlled variable at time nΔt; T f , the final time; itemax, a maximum count by which prediction and correction are repeated every sampling time; and E th , a threshold value of the error function. When the repetition count reaches the maximum count itemax or the value of the error function becomes smaller than E th , the calculation is completed. 
     A target controlled variable d n  at time nΔt is set (step S1). The initial state θ 0  of the manipulator is set as initial value d 0  of a target controlled variable. 
     The initial value 0 is substituted into n (step S3). 
     The end condition of the first loop is set as nΔt&gt;T f  (step S4). 
     Target control quantities at time nΔt and after one sampling period Δt, which are defined as follows: 
     d n+1  =(θ d   1 ,n+1,θ d   2 ,n+1,Θ d   1 ,n+1,Θ d   2 ,n+1) 
     are input to the first neural network model 2, and the first neural network model 2 performs a forward calculation to output a virtual manipulated variable initial value τ *n  (step S5). 
     In this case, the first switch 7 is closed to the output side of the first neural network model 2, and the virtual manipulated variable initial value τ *n  is input to the integrator 6 as an initial value. An output value τv n  from the integrator 6 becomes τ *n  (step S6). 
     τv n  =τ *n   
     One is substituted into m (step S7). 
     The end condition for the second loop is set to m&gt;itemax or E&lt;E th  (step S8). 
     The virtual manipulated variable τv n  output from the integrator 6 and the controlled variable θ n  measured through the feedback loop 4 are input to the second neural network model 3, and the second neural network model 3 outputs a predicted controlled variable z n+1  after one sampling period and a predicted function angle zpos n+2  after two sampling periods of the manipulator 1 as the controlled system. This calculation is the forward calculation in the second neural network model 3 (step S9). 
     Using a difference between the predicted controlled variable z n+1  and the corresponding target value d n+1 , and a difference between the predicted joint angle zpos n+2  and the corresponding target value dpos n+2 , which differences are obtained in step S9 and defined as follows: 
     
         Δθ.sub.n+1 =d.sub.n+1 -z.sub.n+1 
    
     
         Δθpos.sub.n+2 =dpos.sub.n+2 -zpos.sub.n+2 
    
     an error function E2 is defined as follows (step S10): 
     
         E2=(Δθ.sub.n+1.sup.T ·Δθ.sub.n+1 +Δθpos.sub.n+2.sup.T ·Δθpos.sub.n+2)/2 
    
     A correction amount Δτ n  of the virtual manipulated variable for reducing the error function E2 is obtained by the back propagation calculation of the second neural network model 3 (step S11). The back propagation calculation of the second neural network mode 3 will be described below. 
     The correction amount Δτ n  obtained in step S11 is input to the integrator 6 through the first switch 7. The virtual manipulated variable τv n  as an output signal from the integrator 6 has a value added with this correction amount Δτ n  (step S12). 
     The value m is incremented (step S12). If the end condition for the second loop is not satisfied, the flow returns to step S8 (step S14). That is, the operations in steps S8 to S14 are repeated until the value of the error function E2 becomes the predetermined threshold value E th  or less or the value m reaches the maximum repetition count itemax. 
     The corrected virtual manipulated variable τ n  is input as a manipulated variable to the manipulator 1 when the second switch 8 is closed at the sampling time nΔt (step S15). 
     A correction amount of a coupling weight value and a threshold are computed in an error back propagation learning method by performing a learning calculation which uses a target controlled variable d n ,d n+1  as an input signal and manipulated variable τn as a teacher signal (step S16). 
     The value n is incremented (step S17), and the operations in steps S4 to S17 are repeated every sampling time from the time 0 to the final time T f  (step S18). 
     The correction amount of the coupling weight value and the threshold obtained in step S16 are added to the coupling weight value and threshold value, respectively. 
     Learning of the first neural network model 2 using the forward calculation and the error back propagation method will be described below. 
     The forward calculation is a calculation performed in the neural network model until an output signal is generated after an input signal is received. 
     The first neural network model 2 causes its input-layer unit to receive the target controlled variables at the current time and after one sampling period as input signals as follows: 
     xi 1  =θd 1 ,n 
     xi 2  =θd 2 ,n 
     xi 3  =Θd 1 ,n 
     xi 4  =Θd 2 ,n 
     xi 5  =θd 1 ,n+1 
     xi 6  =θd 2 ,n+1 
     xi 7  =Θd 1 ,n+1 
     xi 8  =Θd 2 ,n+1 
     where xi i  is the input value of the i-th unit of the input layer xi. 
     If the input/output function of the input-layer unit is given as an identity function, an output from the input-layer unit is represented as follows: 
     
         yi.sub.i =xi.sub.i (i=1, . . . ,8) 
    
     Each input value xh j  (j=1, . . . , Nh1) (where Nh1 is the number of intermediate-layer units) to an intermediate-layer unit is a value obtained by subtracting a threshold value th j  of the intermediate-layer unit from a sum of values obtained by weighting an output value yi i  of the input-layer unit with a coupling weight w11 j ,i between the input and intermediate layers. 
     The input value xh j  is defined as follows: ##EQU1## 
     If the input/output function of the intermediate-layer unit is a sigmoid function as follows: 
     
         f(x)=2/(1+exp(x))-1, 
    
     the output value yh j  from the intermediate-layer unit is written as follows using the input value xh j  : 
     
         yh.sub.j =f(xh.sub.j) (j=1, . . . , Nh1) 
    
     An input value xo k  (k=1, 2) to the output-layer unit is a value obtained by subtracting a threshold value th k  of the output-layer unit from a sum of values obtained by weighting the output value yh j  from the intermediate-layer unit with a coupling weight w12 k ,j between the intermediate and output layers and is represented as follows: ##EQU2## 
     If the input/output function of the output-layer unit is defined as an identity function as follows: 
     yo k  =xo k  (k=1, 2) 
     and the output values of this output-layer unit are torques as follows: 
     τ *1 ,n =yo 1   
     τ *2 ,n =yo 2   
     In the learning calculation performed by the first neural network model 2, a correction amount of a coupling weight value is computed after a manipulated variable is supplied to a controlled system at each sampling time, and the coupling weight value is corrected after completion of a sequence of control operations. 
     A formula for computing the correction amount of the coupling weight value calculated at each sampling time will be explained, referring to the case of time nΔt. 
     An error function E1n is defined on the basis of an output value τ*1,n,τ*2,n from the first neural network model 2 and a manipulated variable τ1,n,τ2,n. 
     
         E1.sub.n =1/2((τ.sub.1,n -τ*.sub.1,n).sup.2 +(τ.sub.2,n -τ*.sub.2,n).sup.2) 
    
     A correction amount which reduces the value of the error function represented by this formula is computed. First of all, correction amounts of the output values of the elements of the output and intermediate layers are calculated, as follows: ##EQU3## 
     By use of these values, the correction amounts are computed for the coupling weight value ω12 kj  between the intermediate and output layers, the coupling weight value ω11 j ,i between the input and intermediate layers, the threshold value tho k  of the output layer unit, and the threshold value thh j  of the intermediate layer unit. ##EQU4## 
     In the above formula, f&#39;(x) is a derivative of an input/output function of the intermediate layer unit, and ε is a learning coefficient. In the manner expressed by the above formulas, the correction amount of the coupling weight value is calculated at each sampling time. After a sequence of control operations, the coupling weight value is corrected. ##EQU5## 
     The forward calculation and the error back propagation calculation of the second neural network model 3 will be described below. 
     The forward calculation of the second neural network model 3 is a calculation until an output signal is generated after input signals are received in the same manner as in the first neural network model 2. The forward calculation of the second neural network model 3 is expressed as follows. 
     The virtual manipulated variable τv n  and the measured controlled variable θ n  are input as input values xi i  (i=1, . . . , 6) to the six units of the input layer of the second neural network model 3 as follows: 
     xi 1  =τv 1 ,n 
     xi 2  =τv 2 ,n 
     xi 3  =θ 1 ,n 
     xi 4  =θ 2 ,n 
     xi 5  =Θ 1 ,n 
     xi 6  =Θ 2 ,n 
     If the input/output function of the input-layer units is given as an identity function, output values yi i  (i=1, . . . , 6) of the input-layer units are expressed as follows: 
     
         yi.sub.i =xi.sub.i (i=1, . . . , 6) 
    
     Each input value xh j  (j=1, . . . , Nh2) to each intermediate-layer unit is a value obtained by subtracting the threshold value th j  of the intermediate-layer unit from a sum of values obtained by weighting the output value yi i  from the input-layer unit with a coupling weight w21 j ,i between the input layer and the intermediate layer and is expressed as follows: ##EQU6## 
     If the input/output function of the intermediate-layer unit is expressed as a sigmoid function as follows: 
     
         f(x)=2/(1+exp(x))-1, 
    
     the output value yh j  from the intermediate-layer unit can be expressed as follows using the input value xh j  : 
     
         yh.sub.j =f(xh.sub.i) (j=1, . . . , Nh2) 
    
     where Nh2 is the number of intermediate-layer units. 
     An input value xo k  (k=1, . . . , 6) to each output-layer unit is a value obtained by subtracting a threshold value th k  of the output-layer unit from a sum of values obtained by weighting the output value yh j  from the intermediate-layer unit with a coupling weight w22 k ,j between the intermediate layer and the output layer and is expressed as follows: ##EQU7## 
     The input/output function of the output-layer unit is given by the following identity function: 
     
         yo.sub.k =xo.sub.k (k=1, . . . , 6) 
    
     The output values from this output-layer unit are the controlled variable predicted value after one sampling period and the joint angle predicted value after two sampling periods: 
     z 1 ,n+1 =yo 1   
     z 2 ,n+1 =yo 2   
     Z 1 ,n+1 =yo 3   
     Z 2 ,n+1 =yo 4   
     z 1 ,n+2 =yo 5   
     z 2 ,n+2 =yo 6   
     z n+1  =(z 1 ,n+1, z 2 ,n+1, Z 1 ,n+1, Z 2 ,n+1) T   
     zpos n+2  =(z 1 ,n+2, z 2 ,n+2) T   
     The forward calculation has been described above. 
     Using the predicted values obtained in the above forward calculation: 
     d n+1  =(d 1 ,n+1, d 2 ,n+1, D 1 ,n+1, D 2 ,n+1) T   
     dpos n+2  =(d 1 ,n+2, d 2 ,n+2) T   
     and the differences between these predicted values and the target controlled variables, an error function E is defined as follows: 
     
         Δθ.sub.n+1 =d.sub.n+1 -z.sub.n+1 
    
     
         Δθpos.sub.n+2 =dpos.sub.n+2 -zpos.sub.n+2 
    
     
         E2=(Δθ.sub.n+1.sup.T ·Δθ.sub.n+1 +Δθpos.sub.n+2.sup.T ·Δθpos.sub.n+2)/2 
    
     The error back propagation calculation for obtaining a correction value for the input signal to nullify the value of the error function E2 will be described below. 
     The second neural network model 3 sequentially calculates correction values for the unit output values so as to reduce the error function values in units of layers from the input to output layers and finally performs a calculation for obtaining the correction value for the output-layer units. 
     The correction values of the output values from the output-layer units are calculated as follows: ##EQU8## 
     The correction values for the output values from the intermediate-layer units are expressed using the correction values for the output-layer units: ##EQU9## 
     Similarly, the correction values for the output values from the input-layer units are expressed as follows using the correction values for the intermediate-layer units: ##EQU10## where f&#39;(xh j ) is a differential value of the sigmoid function f  and is expressed as follows: 
     
         f&#39;(xh.sub.j)={(1+f(xh.sub.j))·(1-f(xh.sub.j))}/2 
    
     Finally, correction values for the inputs from the integrator 6, which inputs are included in the input signal, are expressed using a constant η as follows: 
     
         Δτ.sub.1,n =-ηΔyi.sub.1 
    
     
         Δτ.sub.2,n =-ηΔyi.sub.2 
    
     The correction amounts are input to the integrator 6 through the first switch 7. 
     As described above, according to the present invention, there is provided a control method and apparatus capable of accurately controlling a nonlinear controlled system a mathematical model of dynamic characteristics of which is unknown and a nonlinear controlled system having highly nonlinear dynamic characteristics, and capable of compensating a deviation of a controlled variable which is caused by a disturbance. 
     Additional advantages and modifications will readily occur to those skilled in the art. Therefore, the present invention in its broader aspects is not limited to the specific details, representative devices, and illustrated examples shown and described herein. Accordingly, various modifications may be made without departing from the spirit or scope of the general inventive concept as defined by the appended claims and their equivalents.
A control method of controlling a controlled system according to the invention comprises the first step of inputting a current and future target controlled variable to a first neural network model which performs learning using a past target controlled variable for the controlled system as an input signal and a past manipulated variable as a teacher signal, thereby obtaining a current virtual manipulated variable, the second step of causing a second neural network model, which have learnt to predict a behavior of the controlled system, to receive the virtual manipulated variable obtained in the first step and a controlled variable obtained from the controlled system at a current time, thereby obtaining a predicted controlled variable, the third step of obtaining an error of the predicted controlled variable obtained in the second step with respect to the target controlled variable, the fourth step of obtaining a correction amount for the virtual manipulated variable in accordance with a back propagation calculation of the second neural network model, using the error obtained in the third step, thereby correcting the virtual manipulated variable with the correction amount, and the fifth step of outputting the virtual manipulated variable corrected in the fourth step to the controlled system.