Table 1. Control rules table
Generally, the function of sigmoid curve is given by y = 2.0/ (l.O + e —kx)-1.0 (31)
Then, the function of sigmoid curved surface is z = 2.0/ (l.O + e(-kix-k2y))-1.0 (32)
Thus, the designed control model of S surface controller is u = 2.0/ (1.0 + e(—k1e—k2e)—1.0 (33)
where e and e stand for the input information (error and the rate of error change, which are normalized), u is the control output which is the output force (normalized) in each freedom, and k1 and k2 are the control parameters corresponding to error and rate of error change respectively.
In equation (33), there are only two control parameters (k1 and k2) which S surface controller need to adjust. It is important to note that S surface controller can not get the best matching, whether adopting manual adjustment or adaptive adjustment. This is because that the adjustment is global and local adjustment is not available. Therefore, parameter adjustment is just the approximation of the system. After all, due to the complexity and uncertainty of control object, any kind of approach has big approximation. Thus, the optimal parameters k1 and k2 are different due to different velocities.
Manual adjustment of control parameters can make the motion control of underwater vehicle meet the demand in most cases. Response is more sensitive to small deviation but vibrations easily occur when k1 and k2 are larger. Therefore, the initial values of k1 and k2 we choose are generally about 3.0. If the overshoot is large, we can reduce k1 and increase k2 simultaneously. By contrast, if the speed of convergence is slow, we can increase k1 and reduce k2 simultaneously.
The ocean current and unknown disturbances can be considered as fixed disturbance force in a samlping period. Thus, we can eliminate the fixed deviation by adjusting the excursion of S surface and the function of control model is u = 2.0/ —1.0 + e——k1e—k2e))—1.0 + Au (34)
where Au is the value(normalized) of fixed disturbance force which is obtained through adaptive manner. The adaptive manner is as follows:
a. Check whether the velocity of the vehicle is smaller than a preset threshold. If it is, go to step b), if not, go to step c);
b. Give the deviation value of this degree to a set array, at the same time, add 1 to the set counter, when the very counter reaches the predefined value, go to step d);
c. Shift each element in the array to the left by one, and at the meantime, decrease the counter by 1, then go to step a);
d. Weighted average the values of the array and the gained average deviation values are obtained. Then these deviation values are used to compute the side-play amount of control output, self-adapt the control output to eliminate fixed deviation, meanwhile, set the counter to zero, turn to the next loop.
Thus, a simple and practical controller is constructed, which can meet the work requirement in complicated ocean environment. However, the parameter adjustment of S surface controller is completely by hand. We hope to adjust the parameters for the controller by itself online, so we will present the self-learning algorithm the idea borrowed from BP algorithm in neural networks.
Was this article helpful?