INTRODUCTION

Autonomous underwater vehicles (AUV) hold great promise for the study and development of the World Ocean [18].

The use of AUVs in areas covered with ice, as well as at deep depths inaccessible for submarines, is the most relevant of their applications.

Heavy class vehicles occupy a special place among AUVs; they can take up many functions that were traditionally fulfilled by surface vessels and submarines, among which are the following:

• offshore prospecting for minerals;

• cargo deliveries to hard-to-reach areas;

• laying of underwater communication lines;

• search for sunken ships and aircraft;

• ecological monitoring of the World Ocean;

• research on marine flora and fauna;

• underwater archaeological research;

• patrolling of territorial waters to prevent unauthorized intrusion of foreign underwater vehicles;

• detection and destruction of sea mines, including silted ones.

Heavy class AUVs can also be effectively used in the military sphere since they fit well with the conceptual framework for network centric warfare at sea [911].

Since AUVs are autonomously operating underwater robots, their creation requires the solution of significant scientific and technical problems. One of the most challenging issues is the development of a control system capable of providing proper fulfillment of the assigned mission task. The latter is a set of formalized instructions, specific to time and geographical coordinates, developed by a human operator [12].

However, the control system is difficult to use for a number of reasons, both external and internal. The external factors are the following:

• AUV deviation from the assigned route due to navigation errors;

• danger of collision with underwater objects;

• detection of stationary obstacles (underwater ridges, etc.) that are not included in the navigation map but they need to be avoided;

• unexpected changes in the speed and/or direction of the sea current, resulting in changes in the AUV motion parameters;

• changes in the ice cover boundaries, which prevent the AUV surfacing for observation at a fixed time.

Most of the above factors lead to additional loss of time and energy and, as a result, the need to correct the mission task. The situation may become even more complicated in the case of deliberate countermeasures to the AUV mission, which is not uncommon when AUVs are used in special operations.

Internal factors are fatal malfunctions of the AUV hardware and unrecoverable software failures, which also requires correction of the mission task, and in some cases, termination of the mission.

The above-mentioned negative factors, as well as the need to take into account the quantity of energy reserves, the vehicle speed, the accuracy of autonomous navigation, and the range of underwater communications, make it rather difficult to take effective decisions aimed at the accomplishment of the mission task. For this reason, the AUV control system must be able to implement complicated adaptive algorithms with elements of artificial intelligence. But this raises another issue of concern: to date, there are no formalized methods for designing such algorithms; instead, there are only general recommendations on the principles of their design [13]. Such algorithms are heuristic, this being the reason why their design involves a long experimental stage. But this situation is not common to the design practice in Russia.

The AUV control system is extremely sophisticated, which is explained by the need to exercise real-time control over a large number of heterogeneous technical facilities in a fully automatic mode under conditions of a continuously varying, often aggressive, environment and limited capabilities of autonomous underwater navigation and communication with the command post, located on shore or the ship [14].

A large number of publications, which continue to grow, are devoted to the approaches to the creation of control systems for AUV both in Russia [1424] and abroad [2563].

As has been pointed out in various publications [14, 26], it is very difficult to build a centralized (multi-object) system capable of controlling all of the AUV equipment. This is particularly true of heavy class AUVs, designed to operate at considerable distances from the base and in a wide range of depths. They are equipped with sophisticated electronics and a large number of technical systems. A control system with a multi-agent structure is the best choice for such AUVs [14, 26, 64, 65].

In a multi-agent structure, each system of the AUV is an independent intelligent agent with its own control system. The coordinated interaction of the agents is provided by a special dispatcher agent (dispatcher), which must send tasks to the agent’s control systems at the right time. To execute the task, the agent can involve other agents or request data from them.

Further, based on the results of the task execution, the dispatcher forms new tasks. If the dispatcher finds out that the mission task cannot be executed in strict accordance with the mission task due to some unexpected circumstances, it corrects the mission task.

Figure 1 shows a block diagram of a heavy class AUV multi-agent control system, which includes, in addition to the dispatcher, four electronic systems (navigation, target detection, radio communication and positioning, and underwater communication and positioning), as well as four power and propulsion systems (power generation and distribution, propulsion and steering, trimming, and alarm). The power and propulsion control system (PPCS) serves as the dispatcher of the power and propulsion systems. It makes the work of the central dispatcher simpler. If necessary, the list of AUV systems can be extended.

Fig. 1.
figure 1

A block diagram of an AUV multi-agent control system.

Data exchange between the agents is carried out through the network, allowing each agent to have access to all data.

As Russian and foreign experience has shown, the development of universal AUVs for execution of all or most of the above-mentioned tasks proves to be inexpedient for various reasons. As a result, preference is given to specialized vehicles or vehicles with a replaceable payload. Nonetheless, because of the complexity and high cost of the AUV control system, creation of a universal dispatcher that could be used in the various AUVs with a multi-agent control system is economically justified.

This paper describes the algorithmic structure of such a dispatcher. Its versatility is based on the modular principle of the algorithm design, which provides for the control of a wide range of tasks assigned to the AUV, and, in addition, makes the implementation of each algorithm simple.

1 ALGORITHMIC STRUCTURE OF THE DISPATCHER

The algorithmic structure of the dispatcher is based on the principles listed below.

(1) The mission task, loaded into the dispatcher’s memory during the preparation for the mission, includes the following formalized documents:

• description of the AUV route in the form of a sequence of tacks on which the vehicle moves with a constant heading, speed, and depth. Since the length of the tacks is not limited, the AUV route in the open sea areas can be described using a small number of tacks. This approach simplifies both the routing design and operation of the AUV control system on it under the influence of the factors that impede accurate execution of the mission task. If necessary, the description of each tack may include special tasks that the AUV must carry out on it. The list of possible tasks includes: observation using different methods, reception/transmission of messages using the radio or hydroacoustic (h/a) channel, execution of special programs (for example, search for a sunken object, compiling maps of physical fields, etc.);

• description of the AUV’s behavior during the execution of a special program, if it is provided by the mission task;

• a table of constants that ensure the operation of control algorithms, such as permissible depth, maximum speed, optimal distance from the bottom when searching for bottom objects, maximum time for each action, etc. All in all, about a hundred constants;

• formalized geographical, navigation-hydrographic, and hydrometeorological description of the planned AUV route area (coastline boundaries, depths, parameters of sea currents, h/a conditions, a list of available radio navigation aids);

• schedule of the planned power consumption during the mission.

(2) To simplify the algorithms implemented by the dispatcher, all AUV systems are divided into electronic (navigation, target detection, communication) and technical (power generation and distribution, motion) systems. The electronic systems are controlled directly by the dispatcher (the left column in Fig. 1), while the technical systems (the right column in Fig. 1), through the PPCS, which performs the following functions:

• conversion (taking into account the motion model) of a set of the AUV motion parameters (heading, speed, depth) received from the dispatcher into control commands that must be given to the systems for propulsion and steering, power generation and distribution, and trimming;

• optimization of power consumption;

• determination and reporting of the remaining power reserves to the dispatcher;

• setting (by sending a message to the dispatcher) the speed and depth limits of the AUV, taking into account the failed equipment;

• translation of commands from the dispatcher to up/down the radio communication antenna, turn on/off various manipulators and alarm systems.

(3) During the mission, the AUV can be found in one of the following states:

• movement and performance of different functions in the telecontrol mode, in which the dispatcher’s functions are limited to translation of the commands received via the radio/hydroacoustic communication channel from the command post;

• emergency termination of the mission due to the failure of some AUV systems or premature consumption of the power supply;

• passing the detected moving underwater/surface object;

• bypassing the detected stationary obstacle;

• execution of a special program in a designated area;

• different kinds of observation: by signals from satellite navigation and radio navigation systems, regional h/a navigation system, different responding beacons, as well as by underwater passive landmarks, natural geophysical fields (bathymetric, magnetic, gravitational);

• communication session over the radio channel;

• movement along the route in accordance with the mission task.

The above states are given in decreasing order of their priority. In the case when the AUV is in a certain state but some conditions arise for a change to a state of a higher priority, then this transition is carried out immediately, before the normal termination of the current state. If conditions arise for a transition to a state of a lower priority, it is postponed until the normal termination of the current state. This approach greatly simplifies the algorithms implemented by the dispatcher.

(4) Each state of the AUV is serviced by a separate algorithm implemented as an independent asynchronously functioning software module. As a result, in accordance with the logic described above, at each moment of time, the algorithm that serves the current state performs the functions of the dispatcher. When the AUV passes into another state, another relevant algorithm takes over the dispatcher’s functions.

In addition to the algorithms mentioned above, the dispatcher includes a number of additional permanently functioning algorithms, for example, the algorithm for target detection, consumption of the power supply, and the operability of the AUV’s electronic and technical equipment.

This decomposition also makes it possible to simplify the dispatcher’s algorithms.

(5) While performing the mission task, the dispatcher interacts with the AUV systems (Fig. 1) (to be more precise, with their control systems) using formalized information modules. The dispatcher interaction with each specific system is implemented through two information modules: one, to transmit data from the dispatcher to the AUV system and the other one, in the opposite direction. It should be noted that due to the multi-agent structure of AUV control, the information modules include a very limited set of commands and data.

(6) The AUV interaction with the command post is carried out through the exchange of formalized messages via a radio or h/a communication channel.

The command post sends three types of messages to the AUV:

• request for the AUV current state;

• correction of the mission task;

• command of changing to the state (exit from the state) of telecontrol.

The formalized message sent by the AUV to the command post on request or on its own initiative includes:

• AUV state code, for example, planned execution of the mission task, the result of a special task, emergency termination of the mission with indication of the reason;

• remaining power supply;

• AUV coordinates;

• time of the last observation;

• a list of faulty equipment.

2 TESTING THE AUV CONTROL ALGORITHMS: SIMULATION RESULTS

To test the AUV control system, we created a simulator. The structure of its software is shown in Fig. 2, wherein the yellow blocks show software models of the AUV systems. The blue blocks are responsible for the simulation of the input signals from the AUV antennas and sensors, taking into account the h/a conditions of propagation of signals and interference, as well as the errors of their measurement. Regardless of what software it contains, each block has an output to display the simulation results.

Fig. 2.
figure 2

The structure of the software of the simulator for testing AUV control algorithms.

Simulation of mobile and stationary objects involves calculation of their motion and acoustic fields (primary and secondary). The behavior of mobile objects can be either adaptive (i.e., changes after they are detected by the AUV) or nonadaptive (does not change). Simulation of the h/a channel allowed us to form a ray structure of the object’s noise or an echo signal from it at the input of the receiving antennas of the h/a target detection system, as well as the ray structure of the sea noise and the intrinsic noise of the AUV. This takes into account the h/a conditions in the area and the current relative position of the objects and the AUV.

We simulated the following functions of the command post:

• development of the mission task;

• generation and transmission of AUV messages via the radio/hydroacoustic communication channel;

• reception of AUV messages via the radio/hydroacoustic communication channel;

• correction of the mission task;

• AUV telecontrol mode.

Simulation of the radio and hydroacoustic communication and navigation channels takes into account hydrometeorological conditions in the area of the mission and the capabilities of the equipment installed on the AUV and at the command post.

AUV motion is simulated as follows. In accordance with the mission task and taking into account the current situation, the dispatcher sends the AUV motion parameters for the PPCS to set. Using the kinematics model of the AUV, the PPCS generates commands that are transmitted to the technical systems of the AUV to perform the assigned task. Then, the AUV motion parameters that were actually determined are simulated in the corresponding block taking into account the limitations and faults of the equipment. Systematic and random errors typical of navigation devices are added to them in the block for simulation of motion parameters estimates. The latter are fed into the navigation system, which uses them for routing control.

The operation of the AUV control system is demonstrated using the example of simulation of an actual mission whose purpose is to detect a sunken aircraft in a remote area.

After leaving the base, the AUV must reach the assigned area, find the sunken aircraft, determine its coordinates, report them to the command post via the radio communication channel, and then return to the base. The mission is planned to last 94.3 hours; the planned length of the AUV path is 351.5 km. The sea depth is 200 m. There is no ice cover.

The AUV route consists of three tacks:

• movement from the base to the assigned area;

• search for a sunken aircraft in the designated area;

• return to the base.

The instructions prescribe that the aircraft must be searched around using a sonar while the AUV continues moving spiraling, starting at the point of the expected location of the aircraft.

Every 24 hours, the AUV must determine its position by the signals of the satellite navigation system.

In addition to the main task during the mission, the AUV has to carry out auxiliary tasks described above, in particular, control the power supply and detect mobile and stationary objects with subsequent maneuvering for bypassing in order to avoid collision.

The simulation results are shown in Figs. 3 and 4.

Fig. 3.
figure 3

AUV path in accordance with the mission task: (a) the whole path; (b) maneuvering while searching for the object within the area; (c) maneuvering at depth.

Fig. 4.
figure 4

AUV route: (a) the whole path; (b) maneuvering within the area; (c) part of maneuvering on the way to the area and return to the base; (d) part of maneuvering after detection of the object; (e) maneuvering at depth.

Figure 3 shows the AUV path in accordance with the mission task, which consists of three stages: moving in a straight line to the area, maneuvering along a spiraling path within the area, and moving back in a straight line. Movement to the area and back is planned at a depth of 100 m, maneuvering, at a distance of 20 m from the bottom. Speed at all stages is 2 knots.

Figure 4 shows the AUV route generated by the navigation system. We can see some differences from the path presented in Fig. 3:

• the AUV path deviates significantly to the right from the one specified in the mission task because of the errors in determining the heading (Figs. 4a, 4c);

• as a result of the observation, the AUV’s dead-reckoning position was corrected several times (Figs. 4a–4e);

• on the way to the specified area, the AUV detects an underwater object (Fig. 4c) with which it might collide. Since the bearing of the object was slowly changing to the right, the AUV turned 90° to the left relative to the bearing in order to diverge from it;

• the sunken aircraft was detected a little earlier than it was assumed during the development of the mission task (Fig. 4b);

• after detecting an object similar to the aircraft, the AUV goes around it in a circle to classify the object (Fig. 4d), then it comes to the surface to determine the exact coordinates of the object and report them to the command post via the radio communication channel. Then it reverses the heading to return to the base;

• on the return route, the AUV path ends earlier than it was planned, which is due to the emergency termination of the mission because of the early consumption of the power supply (Figs. 4a, 4c and 4d). The emergency termination of the mission involves the AUV ascent to the surface, turning off the propulsion and steering system, turning on the alarm system, specifying its coordinates using radio navigation signals, and periodically transmitting a message about the emergency termination of the mission to the command post.

CONCLUSIONS

Development of an effective control system for AUV is one of the main problems in the field of underwater robotics. Though many developed countries of the world are working in this direction, today we have to admit that there still is a long way go to the final solution of the problem. Yet, the work on the creation of algorithms implemented in the AUV control systems must be continued.

The paper considers a multi-agent structure of the AUV control, in which all of its electronic and technical systems are intelligent agents with their own control systems. Their interaction, aimed at the execution of the mission task, is organized by the dispatcher, which is a sophisticated software product. Since the creation of a dispatcher for an AUV control system is a long and expensive process, it would be appropriate to develop a universal dispatcher that could be used in AUV for various purposes with a multi-agent structure of the control system.

The paper describes the algorithmic structure of such dispatcher developed by the authors. Its versatility is based on the modular design of the algorithms implemented by the dispatcher, which makes it possible to control the execution of a wide range of tasks assigned to the AUV, and at the same time, significantly simplify the implementation of each algorithm.