6. Fuzzy Motion Control
This research proposes a fuzzy controller for adjusting the three motors speeds (drive, steer and ballast) taking as inputs five distinct fuzzy inputs, that include the Markov chain robot’s avoidance prediction (crisp sets), the robot’s linear and angular velocities, as well underwater depth, azimuth, and elevation angles. This approach allows the fuzzy controller to dynamically adjusting the temporal parameters to govern the movements of the underwater robot. In other reported works, David et al. [
22] introduced a fuzzy logic-based controller for autonomous navigation and heuristic obstacle avoidance in unmanned underwater vehicles (UUVs) equipped with six thrusters for precise motion control and heading correction. Similarly, Peng et al. [
23] developed a fuzzy logic guidance scheme for an autonomous underwater vehicle (AUV), utilizing multi-directional thrusters and adaptively adjusting the navigation coefficient.
The proposed controller is characterized as a multiple-input (five) multiple-output (three) governing system. The robot can execute seven distinct motion tasks to avoid obstacles, which are categorized by the first input fuzzy set (
Figure 8a): stop, move forward, move backward, turn left, turn right, dive (sink), and surface (rise). For this first fuzzy variable, we present Definition 3, which elaborates on the parametric structure of the input sets.
Definition 3 (Input fuzzy tasks).
The output of the Markov network is mapped to a fuzzy input denoted as . This represents the state transition prediction, maximizing the Markov network’s probabilistic calculation. These values are constrained to the discrete set , and their membership in this crisp set is denoted by .
The submarine robot’s sensor observations utilize sigmoid membership functions to model the S-shaped sets of both thrust speed υ [cm/s] and angular speed ω [rad/s]. This consistent modeling approach captures the extreme characteristics of both input variables.
Let denote the sets categorized as ’normal’, ’slow’, and ’fast’. These sets are prefixed with either ’n’ for negative or ’p’ for positive direction, corresponding to the push velocity υ, defined by:
where x is any of the physical variables () and a is an adjustment parameter.
Similarly, the sigmoid functions with respect to the input physical variable with adjustment parameter b is modeled as:
Moreover, the remaining intermediate sets can be described as any of the Gaussian membership functions corresponding to the robot’s kinematic variables, characterized by a parametric mean value and a standard deviation .
Consequently, the reasoning rules articulated within the inference engine have been designed by applying the fuzzy inputs, specifically tailored to produce desired outputs that correspond to the underwater motion variables of the underwater robot (refer to
Figure 9). These inference rules form the most basic core decision-making engine for obstacle avoidance. However, still numerous additional rules can be included to sophisticate the avoidance planning.
Specifically, for the crisp set of avoidance tasks, the rules are abbreviated as follows: S (stop), F (forward), B (backward), L (left turn), R (right turn), D (sink or dive), and U (rise or surface). Moreover, the crisp input , a scalar component of the Markov state prediction vector, is evaluated based on the maximal value for certain inference rules, whereas other rules utilize the two or three largest values.
if ∧ ∧ ∧ ∧ then ∧ ∧.
if ( ∧) ∧ ∧ ∧ ∧ then ∧ ∧.
if ( ∧) ∧ ∧ ∧ ∧ then ∧ ∧.
if ∧ ∧ ∧ ∧ then ∧ ∧.
if ( ∧) ∧ ∧ ∧ ∧ then ∧ ∧.
if ( ∧ ) ∧ ∧ ∧ ∧ then ∧ ∧.
if ∧ ∧ ∧ ∧ then ∧ ∧.
if ( ∧) ∧ ∧ ∧ ∧ then ∧ ∧.
if ( ∧ ) ∧ ∧ ∧ ∧ then ∧ ∧.
if ∧ ∧ ∧ ∧ then ∧ ∧.
if ( ∧ ) ∧ ∧ ∧ ∧ then ∧ ∧.
if ( ∧ ) ∧ ∧ ∧ ∧ then ∧ ∧.
if ∧ ∧ ∧ ∧ then ∧ ∧.
if ( ∧ ) ∧ ∧ ∧ ∧ then ∧ ∧.
if ( ∧ ) ∧ ∧ ∧ ∧ then ∧ ∧.
if ∧ ∧ ∧ ∧ then ∧ ∧.
if ( ∧ ) ∧ ∧ ∧ ∧ then ∧ ∧.
if ( ∧ ) ∧ ∧ ∧ ∧ then ∧ ∧.
if ∧ ∧ ∧ ∧ then ∧ ∧.
if ( ∧ ) ∧ ∧ ∧ ∧ then ∧ ∧.
if ( ∧ ) ∧ ∧ ∧ ∧ then ∧ ∧.
Therefore, the output fuzzy sets outline the rotary speeds of the robotic submarine’s propels and ballasting actuators, as illustrated in
Figure 9.
The inference engine rules define the application of fuzzy operators used to evaluate the terms involved in fuzzy decision-making. For any of the input fuzzy sets, the membership value is the one that maximizes For the avoidance task the crisp set chosen is
as for the linear speed
likewise, the depth value membership is the one that maximizes a given set,
similarly for the robot’s yaw speed
and for the robot’s pitch speed
Based on the logical premise of a given proposition rule, the application of the subsequent fuzzy operator is global for the input sets,
Proceeding to the defuzzification process, the primary objective is to derive an inverse solution. The fuzzy output sets, however, are categorized into two types of distributions: Gaussian and sigmoid, as outlined in Definition 4. The functional form of Gaussian distributions is also formally specified in Definition 4.
Definition 4 (Output fuzzy sigmoid variables).
The membership functions for any of the sigmoid output sets are generally defined as:
In this expression, [rad/s] denotes the angular velocity of one of the propulsion motors, with the sign indicating the direction of rotation. The parameter represents a displacement factor, and k is the numerical index corresponding to a specific set.
Furthermore, the membership functions for the Gaussian output sets are generalized for any of the outputs as follows:
Here, represents the mean value, while denotes the standard deviation of the set k, where k serves as the numerical index for a specific set.
According to Definition 4, each
yields a normalized membership value within the interval
. The inverse sigmoid membership function, denoted as
∀
, is given by the following general inverse expression:
Similarly, the inverse Gauss function membership
∀
, is defined for by the following inverse solution:
Consequently, the Centroid method is utilized for defuzzification, specifically for the
category of output fuzzy sets activated by the pertinent fuzzy inference rule for estimating
, using the following expression:
or more specifically expressed
(positive/negative fast),
(positive/negative medium),
(positive/negative slow) and
(stop). such that,
Assuming that for the defuzzification solution, either the inverse sigmoid (
25) or the Gauss (
26) applies depending on the type of probabilistic set.