Im trying to implement a direct inverse neurocontrol scheme, and I’m at a dead end. The error lies in the fact that after modeling, there is a large static error in the neurocontrol circuit, as if the regulator is not correctly producing a control signal. So, in simulink I built a diagram of the direct dynamics of a nonlinear system described by the following equation:
y′′+0.7y '+0.2y+0.3y^3−u=0
I also implemented a circuit that simulates the inverse dynamics of the system.
A series of random references was given to the input of the system, and output data was obtained (system output, first and second derivatives, as well as the reference itself). The output of the direct system was applied to the input of the inverse model of the system in order to obtain the necessary control action and these values was also recorded in separate variable.
Inputs of neural network are: system output, first and second derivatives, given setpoint. These inputs are mapped to the output of the inverse system, which (according to my guess) should be the actual signal that must be applied to the input of the system in order to obtain the output value required by reference value. But in the end, after building desired scheme I get a huge control error.
What did I do wrong? For training I used Neural fitting tool, trainlm algorithm and two layer feedforward network.