This section offers a detailed overview of the development process for the uninterrupted path planning system. It covers USV modeling, the characteristics of the USV path planning problem, the spatial decomposition approach, and the real-time task assignment using the Contract Net protocol.
4.1. Task Pre-Segmentation
In the area coverage problem, there are various methods used for segmenting regions of a constant size, with the most common being the Thiessen segmentation method. This method divides the region into sub-blocks, each assigned to an agent when the number of agents is known. However, it does not ensure that each sub-block is fully covered by the corresponding agent’s perception area. In this paper, to achieve complete coverage of the area, the perception areas of multiple agents must overlap, necessitating the development of a new segmentation method.
Task partitioning is a motion planning technique that involves decomposing the free configuration space—the set of all possible agent configurations not obstructed by obstacles—into smaller cells, whose union forms the original free space. Each cell is represented as a node in a graph, with edges connecting nodes that correspond to adjacent cells, which is known as an adjacency graph. If every region can be covered by an agent, then the coverage problem becomes a matter of determining an adjacency graph that visits each node at least once, similar to solving the traveling salesman problem.
The trapezoidal decomposition method involves sweeping vertical lines, called slices, from left to right, across a bounded environment with polygonal obstacles. Cells are created through a series of opening and closing operations that occur when a slice intersects a vertex of a polygon, triggering an event. These events are categorized as IN, OUT, and MIDDLE. An IN event splits a cell into two, while an OUT event merges two cells into one. During a MIDDLE event, the current cell is closed and a new cell is formed. This process results in the free space being divided into regions of trapezoidal cells.
The Boustrophedon cell decomposition [
39] used in this paper is an enhancement of the trapezoidal decomposition designed to minimize the amount of redundant longitudinal motion, as described in the previous paragraph. Essentially, all cells between the IN and OUT events are merged into one cell. We compare the graph’s trapezoidal decomposition with the Boustrophedon decomposition. The Boustrophedon decomposition was found to have a low number of unit regions. Rather than exploiting the structure of polygons to determine the IN and OUT events, this approach relies on changes in slice connectivity to determine the presence of events. The schematic diagram of the Boustrophedon algorithm is shown in
Figure 4. The blue dotted line represents In Events or Out Events, and the blue solid line represents the path planned within the segmented area.
In the scanning tasks, USV is limited by the water operation environment and its own motion performance. It has high requirements for the continuity of the coverage path and real-time calculation. Therefore, the method cannot meet the algorithm requirements. Aimed at the limitations of the unit decomposition method, this paper proposes a USV scanning task decomposition method, which converts the space decomposition process into a task decomposition process, and updates the task in real-time to ensure the continuous movement of the USV.
4.2. Contract Network Protocol
In practical applications, since a single USV cannot handle existing tasks alone, cooperation among multiple USVs is necessary. The fundamental approach involves “task assignment, task decoupling, task release, task negotiation, and task coupling,“ ultimately leading to control and decision-making outcomes for complex tasks. This approach ensures that the system meets operational requirements in specific situations with relatively low resource consumption.
In the contract network model, the task agent is responsible for task decoupling, release, and task coupling. The resource agent is responsible for negotiating sub-tasks to ensure normal task operations. Within this framework, resources maintain a peer-to-peer relationship, acting both as managers and receivers of sub-tasks. The solution to complex tasks is finally realized through direct or indirect interactive communication. The interactive negotiation process within the contract network is shown in
Figure 5.
In order to clearly illustrate the multi-USV task scheduling problem, the following assumptions are made:
Bidders can evaluate their ability to complete the task.
Both the tender USV and the bidder USV are honest and can transmit accurate information to each other.
Bidding shall not be changed or canceled during the negotiation process.
The communication is reliable. When there is a communication link, there will be no failure, such as information loss during the negotiation process.
The traditional contract network model is suitable for the allocation of a single task and a single successful bidder. With the application of contract network algorithms in many fields, researchers have found that—in complex systems—when task adjustments occur frequently, the efficiency of traditional contract network algorithms is low, and there are many problems, mainly in the following aspects:
(1) The negotiation traffic is large and the delay is long. The task allocation method of the traditional contract network model is applied to a small-scale system. After the bidder broadcasts the task information to all parties without distinction, all parties who meet the conditions will bid. For large-scale systems, there are a large number of tasks that meet the task execution conditions, and the distribution is scattered. To ensure that all possible bidding information is received, the bidding deadline must be extended as the system scale increases, which affects the real-time performance of task allocation.
(2) The traditional contract network model lacks a parallel allocation mechanism. It operates as a single-task, single-winner model, monopolizing all resources from the contract initiation to signing. Since only one bidder ultimately wins the contract for a single task, this approach can lead to issues with idle resources and tasks remaining unassigned in the system.
In view of the above problems faced by the traditional contract network algorithm, and considering the context of real-time collaborative task assignments for USV swarms, this paper adopts the following strategies to improve the contract network:
(1) The tenderer participates in the bidding process, where the bidder initiates the task allocation. The task may either be part of the bidder’s existing task list or a new task identified by them. During real-time task assignment, if the USV itself can execute the task, the task information will include the bidder’s proposed costs as the bidding value. Potential bidders then use this information as a benchmark to decide whether to place their own bids. If the value proposed by the bidder is higher than what it would cost the tenderer to perform the task themselves, the tenderer will withdraw their bid, as it would be more profitable for them to handle the task directly. On the other hand, if the task is suitable for the bidder and can boost the overall revenue of the system, the bidder will submit a bid. By participating in the bidding process, the tenderer sets benchmarks for others, helps identify high-quality bidders, improves negotiation efficiency, and reduces the amount of communication needed.
(2) Introduce concurrency mechanism. The traditional contract network algorithm is a single-task, single-winner model, resulting in low efficiency of task allocation. This paper introduces a concurrency mechanism, and the bidder can choose to bid for one or more tasks in the bidding task. Rather than selecting a single successful bidder, the tenderer selects a combination of successful bidders. The tenderer looks for a combination of bidders who can complete all tasks among bidders and signs a contract with one or more bidders. The concurrency mechanism transforms the auction process from requiring multiple rounds to one round, which greatly improves the negotiation efficiency and effectively reduces the communication frequency.
The traditional contract network can only allocate tasks through the transaction mode of a single task and a single successful bidder. For tasks that need to be auctioned at the same time, they can only be divided into multiple rounds, which makes the entire transaction process take a long time; this is not conducive to the real-time nature of task allocation. In addition, multiple allocations in rounds require multiple communications with the USV swarms, increasing the burden on the communication link. This article discusses a contract network algorithm that utilizes a concurrency mechanism, enabling the simultaneous auctioning of multiple tasks. This approach allows multiple successful bidders to collaborate on completing a task, improving negotiation efficiency and speeding up the task allocation process.
According to the actual USV task allocation situation, this paper proposes a way for tenderers to participate in bidding to improve the allocation performance. First, define the bidding information, which can be described as a tuple of four-dimensional vectors:
where
S is the auction task set;
denotes the position coordinates of the tasks in the task set;
denotes the task path length when the bidder does not execute the task set
S;
is the task path length when the bidder executes the task set.
We define the tender for the sales contract as a tuple represented by a four-dimensional vector:
where
is the USV that submits the tender;
Q is the task set that the USV applies to buy;
is the current task path length of the bidder;
is the task path length of the bidder’s purchase task set
Q.
The cooperative real-time task allocation algorithm of USVs based on an improved contract network is described as follows:
Step 1: Determine the tender for USVs. In the allocation of USV tasks, the selection of tenderer is determined based on three unexpected situations: if a new task is discovered or the USV is damaged, the USV with the least current tasks will be responsible for the auction as the bidder; if subsequent tasks cannot be performed due to unknown obstacles, the USV that owns the task will be responsible for the auction.
Step 2: Publish the tender information . Tender announces to other USVs the details regarding the set of tasks, , that are available for auction.
Step 3: Bidder competency assessment. After receiving the bidding information for the bidding of the USV , other USVs evaluate their own capabilities and judge whether to submit the tender.
Step 4: Tender matching. If there is a set of bidders, and the collection of tasks they apply to purchase or exchange corresponds exactly to the collection of these bidders, and if the receipt of the bidder tender and bidder exchange contract bid meet , then the set of bidders is said to be matched. The tender unmanned ship matches the bids received within the specified tender deadline and selects them to complete the task assignment.
Step 5: Notification of tender results. The bidding USV sends the bidding result to the bidding USV. As in the above example, USVs and are the winning bidders, and the rest of the USVs are the bidders.
Step 6: Sign the contract. After receiving the winning information, the winning USV signs a contract with the tendered USV to complete the replacement of ownership of the task set. The pseudo code of the improved contract network algorithm is shown in Algorithm 1.
Algorithm 1: Improved contract network algorithm. |
![Jmse 13 00672 i001]() |
4.3. B-CNP Algorithm
The B-CNP algorithm pre-divides the total task on the basis of the Boustrophedon algorithm and incorporates an improved contract network protocol so that the USV swarm can collaboratively cover the entire water area.
Based on the USV task decomposition and scanning scene map update method, the B-CNP algorithm is proposed. The algorithm flow is as follows, and its main process is as follows:
Step 1: Initialization—initialize the task map, assign to each grid according to the preset, then import the environment map, enter the coordinates, and continuously update the preset map. Initialize the USV parameters, set the starting position and mission constraints;
Step 2: Use the Boustrophedon algorithm to pre-segment the map task area;
Step 3: The USV outputs its own position information and obstacle information , uses the improved contract network algorithm to assign tasks between communicable USVs, and starts updating the map;
Step 4: The map outputs the grid status list in the real-time update, the map accepts the map information and USV information input, and updates ;
Step 5: The unmanned boat cluster updates the task list and the unmanned boat’s own position information, , as well as the communication matrix in real-time;
Step 6: If no new tasks are found and the unmanned boat cluster completes all tasks or all unmanned boats reach the constraint limit, the algorithm ends; otherwise, it returns to Step 3.
The framework diagram of the B-CNP algorithm is shown in
Figure 6, and the pseudo code of the algorithm is expressed as Algorithm 2.
Algorithm 2: B-CNP algorithm |
![Jmse 13 00672 i002]() |