# Research on Path Planning Method of Unmanned Boat Based on Improved DWA Algorithm

Authors: Lanyong Zhang; Yu Han; Bo Jiang
Journal: Journal of Sensors
 (2022)

---

## Abstract

Aiming at the problem of local path planning for unmanned surface vehicles, the traditional dynamic window algorithm (DWA) has the problems of uneven obstacle avoidance path and poor adaptability to complex environments. This paper proposes a local path planning method based on improved DWA. The evaluation item that replaces the direction angle difference with the target distance is used to avoid the path from being unsmooth due to vibration. And the fuzzy logic control algorithm is introduced to dynamically adjust the weight value of the trajectory evaluation function to complete the path optimization. The introduction of the A∗ algorithm is designed to preplan the map environment and extract key turning points as subtarget points of the local obstacle avoidance algorithm to enhance the path optimization ability. The simulation results show that the improved DWA algorithm can shorten the planned path length by 23.4% and the path smoothness by 34.8%, enabling USV to find a reasonable, efficient, and smooth path in complex environments.


---

## Body

## 1. Introduction

The unmanned surface vehicle (USV) [1] has the characteristics of fast speed and strong maneuverability and modularity and is the most typical unmanned system equipment. The mission of the USV system cluster in the combat field has expanded from intelligence reconnaissance and surveillance to mine warfare, antisubmarine warfare, and special operations support [2, 3].The existing unmanned surface boats have a single type and model and have simple tasks and functions, so they cannot undertake naval combat tasks in the new era, especially that their autonomous navigation capabilities are weak [4]. In the strong dynamic and unstructured marine environment, in order to achieve the navigation requirements of intelligent autonomous level, USV needs perfect and efficient control technologies such as path planning, autonomous navigation, and obstacle avoidance to ensure safety [5].Path planning is aimed at finding an efficient and safe navigation route from the starting position to the target area, which can be divided into global path planning and local path planning [6]. Global path planning is to use prior information to calculate the optimal route from the starting point to the target point offline. Local path planning detects and processes unknown obstacles on the preplanned path and autonomously avoids obstacles, so as to plan a feasible route online. Unknown obstacles or other interference factors are prone to appear in the nonstructural environment at sea. In order to ensure real-time security and reliability, it is necessary to combine the characteristics of the two to build a multilayer obstacle avoidance structure. The proposed USV obstacle avoidance algorithms can all ensure the basic driving safety of USVs. The difference lies in the obstacle avoidance accuracy, computational complexity, and applicable scenarios of different algorithms [7]. The artificial potential field method and the DWA algorithm can be combined to use the collision risk index and relative distance to evaluate the danger of moving obstacles [8], so as to quickly react and avoid moving obstacles.Taking into account the constraints of USV’s own kinematics, safety, smoothness, and planning time, the improvement of local path planning performance can effectively improve the operating efficiency of USV in complex water environment, reduce energy consumption, and save costs.Yan et al. [9] proposed the generalized speed obstacle method in view of the limitation of the original speed obstacle method based on strong assumptions. Simulation shows that the generalized speed obstacle method is more suitable for collision avoidance of close-range ships. Seder and Petrovic [10] improved on the DWA proposed by Fox, using moving grid to model dynamic obstacles, by predicting the collision point position between USV and dynamic obstacles and constructing a virtual obstacle at this position, from the feasible speed. Select the appropriate speed control command in the space to achieve local obstacle avoidance.Chang et al. [11] used the reinforcement learning method to adjust the DWA parameters to complete the improvement and expansion of the evaluation function, which improved the planning efficiency, but the real-time performance was poor. Liu et al. [12] integrated the improved A∗ with the DWA algorithm, but the improved A∗ algorithm has insufficient adaptability and is difficult to deal with complex dynamic environments. Xu et al. [13] used particle swarm optimization to optimize the parameters of artificial potential field method and combined with fuzzy rules to avoid obstacles, but their fuzzy rules tended to stay away from moving obstacles and could not flexibly deal with moving obstacles. Bai et al. [14] proposed a path planning algorithm based on A∗ and DWA. The key points of the global path were selected as the subtarget points of the local path planning, and the global optimal path evaluation subfunction was constructed. The evaluation function is adaptively adjusted according to obstacle and environmental information to optimize the performance of the DWA algorithm in local optimization and planning time. Under the premise of the optimal path, the efficiency and safety of the real-time path of the unmanned system are effectively improved.In this paper, by introducing the derivative of the target distance to replace the direction angle evaluation item, the smoothness and path length of the obstacle avoidance path are optimized, and the fuzzy logic controller is integrated at the same time, and the information obtained by the obstacle detection model is used as the input of the fuzzy controller to evaluate the weight of the item. As the output of the controller, dynamically adjust the weight according to the distribution of obstacles, so as to enhance the adaptability of the DWA algorithm to the complex environment.


## 2. USV Model

### 2.1. USV Kinematic Model

Since the USV moves at sea level and the movement in the vertical direction is small, this paper ignores the movement of the USV in the vertical direction, simplifies the movement space of the USV into a two-dimensional plane, and establishes the USV kinematic model as shown in Figure1, but simplifying the model weakens the accuracy of the model and the effectiveness of the control.Figure 1
USV kinematic model.XOY represents the map coordinate system, XuOuYu represents the USV coordinate system, and θt and θt+Δt represent the attitude angle of the USV at time t and time t+Δt (the angle between the Xu of the USV coordinate system and the x-axis of the map coordinate system).


### 2.2. Obstacle Detection Model

In this paper, an obstacle detection model is established to obtain the distance information between the USV and the obstacle and the orientation information of the obstacle relative to the USV.The detection radius is set asr, and the range within the detection radius r is scanned and detected in unit time. When the obstacle is outside the detection radius r, the distance between the USV and the obstacle is set to be infinite. The i‐th detection information is set to include the distance ρi between the USV and the obstacle and the azimuth θi of the obstacle relative to the USV, as shown in Figure 2.Figure 2
Obstacle detection model.


### 2.3. Principle of DWA

DWA is proposed on the basis of the curvature velocity method, which transforms the position control of the USV into the velocity control according to the corresponding relationship between the position and the velocity of the USV. The core idea of DWA is to form an achievable velocity space of linear velocityv and angular velocity w according to the constraints of the USV’s own motion characteristics and the safety distance of obstacles. The velocity space is sampled in unit time, and multiple sets of linear and angular velocities v,w are sampled, hereinafter referred to as velocity, and the motion trajectory of each set of velocities in a certain period of time is simulated according to the USV kinematic model. A set of velocities uniquely determines an arc trajectory, and the arc trajectory radius Ri and velocity satisfy
(1)Ri=viwi.In (3), when wi≠0 and Ri<∞, it is an arc trajectory; when wi=0 and Ri=∞, it is a straight trajectory at this time. The optimal speed control command in the speed space is obtained through the trajectory evaluation function to control the speed of the USV at each moment.


#### 2.3.1. Speed Space

The speed space consists of multiple groups of achievable speedsv,w, and the speed command of the USV is generated from the search in the speed space. The velocity space is constrained by the USV’s own kinematic characteristics, maximum and minimum velocity constraints, and safety constraints.The USV velocity constraint includes the linear velocity sizev and the angular velocity size w, and the maximum and minimum velocity space is represented as vm.
(2)vm=v∈0,vmax,w∈−wmax,wmax.In (4), vmax and wmax represent the maximum linear velocity and maximum angular velocity that the USV can achieve, respectively.Considering that the USV’s own mobility is limited by the driving force, there are upper limits on linear acceleration and angular acceleration. Given the current linear velocityvc, the current angular velocity wc, and the time interval Δt, the velocity space that the USV can reach at the next moment is expressed as vd.
(3)vd=v,wv∈vc−amΔt,vc+amΔtw∈wc−αmΔt,wc+αmΔt.In (3), am and αm represent the maximum linear acceleration and the maximum angular acceleration of the USV, respectively.In order to ensure that the USV can stop before encountering an obstacle, from the perspective of safety, under the condition of maximum acceleration, the allowable speed without collision isva.
(4)va=v,wv≤2⋅distv,w⋅amw≤2⋅distv,w⋅αm.In (4), distv,w represents the closest distance between the end position of the trajectory simulated by the current speed and the obstacle.Taking the above considerations into account, the intersection formed by the above three velocity constraints is used as the final velocity space, and the velocity space is represented byvs, as shown in
(5)vs=vm∩vd∩va.After discretizing the velocity space, multiple sets of samples are performed. Set the velocity sampling resolution to 0.01 m/s, the angular velocity sampling resolution to 1 deg/s, and the simulation time to 5 seconds. The simulated trajectory at the corresponding sampling speed is shown in Figure3.Figure 3
Simulated trace of sampling speed.It can be seen that the trajectory simulated by the constrained velocity space presents arc and straight lines. The trajectory of each speed simulation is evaluated by the trajectory evaluation function, and the most suitable trajectory corresponding to the speed command is selected as the speed control command of the USV at the next moment.


#### 2.3.2. Trajectory Evaluation Function

The design criterion of the evaluation function is to make the USV avoid obstacles as much as possible and move towards the target point quickly in the process of local obstacle avoidance. The designed evaluation function is(6)Gv,w=α⋅headv,w+β⋅distv,w+γ⋅velv,w,(7)α+β+γ=1,(8)vcmd=v,w∈maxGv,w.In (6), headv,w is the directional angle evaluation function, which represents the directional angle deviation between the direction of the end point of the simulated trajectory and the target at the current speed; distv,w is the distance evaluation function, which represents the closest distance to the obstacle on the trajectory corresponding to the speed; velv,w is the evaluation function of the current speed magnitude. In (7), α, β, and γ are the weights of the three evaluation functions. (8) indicates that the speed corresponding to the maximum value of the evaluation function v,w is the speed command at the next moment.


## 2.1. USV Kinematic Model

Since the USV moves at sea level and the movement in the vertical direction is small, this paper ignores the movement of the USV in the vertical direction, simplifies the movement space of the USV into a two-dimensional plane, and establishes the USV kinematic model as shown in Figure1, but simplifying the model weakens the accuracy of the model and the effectiveness of the control.Figure 1
USV kinematic model.XOY represents the map coordinate system, XuOuYu represents the USV coordinate system, and θt and θt+Δt represent the attitude angle of the USV at time t and time t+Δt (the angle between the Xu of the USV coordinate system and the x-axis of the map coordinate system).


## 2.2. Obstacle Detection Model

In this paper, an obstacle detection model is established to obtain the distance information between the USV and the obstacle and the orientation information of the obstacle relative to the USV.The detection radius is set asr, and the range within the detection radius r is scanned and detected in unit time. When the obstacle is outside the detection radius r, the distance between the USV and the obstacle is set to be infinite. The i‐th detection information is set to include the distance ρi between the USV and the obstacle and the azimuth θi of the obstacle relative to the USV, as shown in Figure 2.Figure 2
Obstacle detection model.


## 2.3. Principle of DWA

DWA is proposed on the basis of the curvature velocity method, which transforms the position control of the USV into the velocity control according to the corresponding relationship between the position and the velocity of the USV. The core idea of DWA is to form an achievable velocity space of linear velocityv and angular velocity w according to the constraints of the USV’s own motion characteristics and the safety distance of obstacles. The velocity space is sampled in unit time, and multiple sets of linear and angular velocities v,w are sampled, hereinafter referred to as velocity, and the motion trajectory of each set of velocities in a certain period of time is simulated according to the USV kinematic model. A set of velocities uniquely determines an arc trajectory, and the arc trajectory radius Ri and velocity satisfy
(1)Ri=viwi.In (3), when wi≠0 and Ri<∞, it is an arc trajectory; when wi=0 and Ri=∞, it is a straight trajectory at this time. The optimal speed control command in the speed space is obtained through the trajectory evaluation function to control the speed of the USV at each moment.


### 2.3.1. Speed Space

The speed space consists of multiple groups of achievable speedsv,w, and the speed command of the USV is generated from the search in the speed space. The velocity space is constrained by the USV’s own kinematic characteristics, maximum and minimum velocity constraints, and safety constraints.The USV velocity constraint includes the linear velocity sizev and the angular velocity size w, and the maximum and minimum velocity space is represented as vm.
(2)vm=v∈0,vmax,w∈−wmax,wmax.In (4), vmax and wmax represent the maximum linear velocity and maximum angular velocity that the USV can achieve, respectively.Considering that the USV’s own mobility is limited by the driving force, there are upper limits on linear acceleration and angular acceleration. Given the current linear velocityvc, the current angular velocity wc, and the time interval Δt, the velocity space that the USV can reach at the next moment is expressed as vd.
(3)vd=v,wv∈vc−amΔt,vc+amΔtw∈wc−αmΔt,wc+αmΔt.In (3), am and αm represent the maximum linear acceleration and the maximum angular acceleration of the USV, respectively.In order to ensure that the USV can stop before encountering an obstacle, from the perspective of safety, under the condition of maximum acceleration, the allowable speed without collision isva.
(4)va=v,wv≤2⋅distv,w⋅amw≤2⋅distv,w⋅αm.In (4), distv,w represents the closest distance between the end position of the trajectory simulated by the current speed and the obstacle.Taking the above considerations into account, the intersection formed by the above three velocity constraints is used as the final velocity space, and the velocity space is represented byvs, as shown in
(5)vs=vm∩vd∩va.After discretizing the velocity space, multiple sets of samples are performed. Set the velocity sampling resolution to 0.01 m/s, the angular velocity sampling resolution to 1 deg/s, and the simulation time to 5 seconds. The simulated trajectory at the corresponding sampling speed is shown in Figure3.Figure 3
Simulated trace of sampling speed.It can be seen that the trajectory simulated by the constrained velocity space presents arc and straight lines. The trajectory of each speed simulation is evaluated by the trajectory evaluation function, and the most suitable trajectory corresponding to the speed command is selected as the speed control command of the USV at the next moment.


### 2.3.2. Trajectory Evaluation Function

The design criterion of the evaluation function is to make the USV avoid obstacles as much as possible and move towards the target point quickly in the process of local obstacle avoidance. The designed evaluation function is(6)Gv,w=α⋅headv,w+β⋅distv,w+γ⋅velv,w,(7)α+β+γ=1,(8)vcmd=v,w∈maxGv,w.In (6), headv,w is the directional angle evaluation function, which represents the directional angle deviation between the direction of the end point of the simulated trajectory and the target at the current speed; distv,w is the distance evaluation function, which represents the closest distance to the obstacle on the trajectory corresponding to the speed; velv,w is the evaluation function of the current speed magnitude. In (7), α, β, and γ are the weights of the three evaluation functions. (8) indicates that the speed corresponding to the maximum value of the evaluation function v,w is the speed command at the next moment.


## 2.3.1. Speed Space

The speed space consists of multiple groups of achievable speedsv,w, and the speed command of the USV is generated from the search in the speed space. The velocity space is constrained by the USV’s own kinematic characteristics, maximum and minimum velocity constraints, and safety constraints.The USV velocity constraint includes the linear velocity sizev and the angular velocity size w, and the maximum and minimum velocity space is represented as vm.
(2)vm=v∈0,vmax,w∈−wmax,wmax.In (4), vmax and wmax represent the maximum linear velocity and maximum angular velocity that the USV can achieve, respectively.Considering that the USV’s own mobility is limited by the driving force, there are upper limits on linear acceleration and angular acceleration. Given the current linear velocityvc, the current angular velocity wc, and the time interval Δt, the velocity space that the USV can reach at the next moment is expressed as vd.
(3)vd=v,wv∈vc−amΔt,vc+amΔtw∈wc−αmΔt,wc+αmΔt.In (3), am and αm represent the maximum linear acceleration and the maximum angular acceleration of the USV, respectively.In order to ensure that the USV can stop before encountering an obstacle, from the perspective of safety, under the condition of maximum acceleration, the allowable speed without collision isva.
(4)va=v,wv≤2⋅distv,w⋅amw≤2⋅distv,w⋅αm.In (4), distv,w represents the closest distance between the end position of the trajectory simulated by the current speed and the obstacle.Taking the above considerations into account, the intersection formed by the above three velocity constraints is used as the final velocity space, and the velocity space is represented byvs, as shown in
(5)vs=vm∩vd∩va.After discretizing the velocity space, multiple sets of samples are performed. Set the velocity sampling resolution to 0.01 m/s, the angular velocity sampling resolution to 1 deg/s, and the simulation time to 5 seconds. The simulated trajectory at the corresponding sampling speed is shown in Figure3.Figure 3
Simulated trace of sampling speed.It can be seen that the trajectory simulated by the constrained velocity space presents arc and straight lines. The trajectory of each speed simulation is evaluated by the trajectory evaluation function, and the most suitable trajectory corresponding to the speed command is selected as the speed control command of the USV at the next moment.


## 2.3.2. Trajectory Evaluation Function

The design criterion of the evaluation function is to make the USV avoid obstacles as much as possible and move towards the target point quickly in the process of local obstacle avoidance. The designed evaluation function is(6)Gv,w=α⋅headv,w+β⋅distv,w+γ⋅velv,w,(7)α+β+γ=1,(8)vcmd=v,w∈maxGv,w.In (6), headv,w is the directional angle evaluation function, which represents the directional angle deviation between the direction of the end point of the simulated trajectory and the target at the current speed; distv,w is the distance evaluation function, which represents the closest distance to the obstacle on the trajectory corresponding to the speed; velv,w is the evaluation function of the current speed magnitude. In (7), α, β, and γ are the weights of the three evaluation functions. (8) indicates that the speed corresponding to the maximum value of the evaluation function v,w is the speed command at the next moment.


## 3. Improved DWA and Its Application

### 3.1. Optimize Evaluation Items

When the USV approaches the target point, if there is an obstacle blocking the direction of the USV, the USV will naturally perform the obstacle avoidance operation, but during the obstacle avoidance process, changes in the heading angle of the USV cause different responses. When the value increases, the speed command selection at this time is different on whether to avoid obstacles to increase the distance from the obstacle or to reduce the difference in the direction angle, which leads to the oscillation of the obstacle avoidance path. The obstacle avoidance model is shown in Figure4.Figure 4
Schematic diagram of obstacle avoidance model.In addition, as the USV approaches the target point, the angleθ between the USV’s heading and the target gradually increases. Under the action of the azimuth evaluation function headv,w, the UAV will increase its own angular velocity w to reduce the included angle θ, resulting in the movement of the USV to be uncontrollable.In view of the defect that the obstacle avoidance path of DWA is not smooth, the original direction angle evaluation item is replaced, and the derivative of the target distance is introduced to replace the azimuth angle. The improved trajectory evaluation function is as follows:(9)Gv,w=α⋅gdistv,w+β⋅odistv,w+γ⋅velv,w,(10)gdistv,w=ρgoal=12xc−xg2+yc−yg2.In (9), gdistv,w represents the derivative of the distance between the end of the simulated trajectory corresponding to the speed v,w and the target point, and odistv,w represents the distance between the end of the simulated trajectory corresponding to the speed v,w and the nearest obstacle. In (10), xc,yc and xg,yg represent the current position coordinates and target point coordinates of the USV, respectively. It can be seen from (10) that the derivative value of the target distance increases with the decrease of the distance between the USV and the target point. When the USV is closer to the target point, its proportion begins to increase, and the optimization goal of the evaluation function is to approach the target point and avoid obstacles. Therefore, the defect that the path is not smooth during the obstacle avoidance process is solved.


### 3.2. Fusion Fuzzy Control Algorithm

The selection of DWA’s speed control command has a great relationship with the weight of each part of the evaluation function, and the obstacle avoidance path should be optimized as much as possible under the condition of ensuring the success of obstacle avoidance. The path found by a single weight is not ideal, and the weight of the trajectory evaluation function needs to be adjusted in real time.The fuzzy logic control system is a rule-based control algorithm, which does not require an accurate mathematical model of the USV that is difficult to model, and can simulate human thinking only based on language control. The fuzzy logic controller consists of five main parts, namely, defining variables, fuzzification, knowledge base, logical judgment, and defuzzification.According to the above content, a fuzzy controller with two inputs and three outputs is designed. First, the input variables of the fuzzy logic controller are determined as the distance between the USV and the target point and the distance between the USV and the nearest obstacle, and the outputs are, respectively, in the trajectory evaluation function of the DWA algorithm. The weights of each evaluation item areα, β, and γ, as shown in Figure 5.Figure 5
Fuzzy logic controller block diagram.The input and output variables of the fuzzy logic controller use a continuous domain of universe. The fuzzy logic controller is designed to adjust the weight coefficient of the trajectory evaluation function of the USV when avoiding obstacles. Therefore, the distance between the USV and the target point is set as0,100, and the fuzzy set is ZO,PS,PM,PB,PH, when the distance between the USV and the target point is greater than 100 m, let it be equal to 100. Since the safe distance between the USV and the obstacle is 20 m, the universe of discourse for the distance between the USV and the nearest obstacle is set to 0,20, and the fuzzy set is ZO,PS,PM,PB,PH. When the distance of the nearest obstacle is greater than 20 m, set it equal to 20. The domain of discourse of the weight coefficients α, β, and γ of the evaluation function are all 0,1, and the corresponding fuzzy subsets are all ZO,PS,PM,PB,PH. The corresponding meanings of the above fuzzy sets areZO,PS,PM,PB,PH.Due to the simple and rapid operation of the triangular distributed fuzzy variables, the triangular function is used as the membership function for the input and output variables. The membership function curve of the input variable is shown in Figure6, and the membership curve of the output variable is shown in Figure 7.Figure 6
Membership function of input.Figure 7
Membership function of output.According to the fuzzy subsets of the fuzzy variables defined above, the fuzzy control rules can be summarized as follows.Rule 1: when the distance between the USV and the target point and the distance between the USV and the nearest obstacle are large, the USV does not need to rush to avoid obstacles at this time. At this time, the selected value ofγ is large, the value of α is moderate, and the value of β is smallRule 2: when the distance between the USV and the target point is large and the distance from the nearest obstacle is small, the USV should give priority to avoiding obstacles at this time, not in a hurry to approach the target point, and reduce the forward speed. At this time, the selectedβ value is larger, and the α and γ values are smallerRule 3: when the distance between the USV and the target point is small and the distance from the nearest obstacle is large, the USV should first approach the target point, not in a hurry to avoid obstacles, and reduce the forward speed. At this time, the selected value ofα is larger, and the values of β and γ are smallerRule 4: when the distance between the USV and the target point and the distance to the nearest obstacle are both small, the USV should first approach the target point, avoid obstacles moderately, and reduce the forward speed. At this time, the selected value ofα is large, the value of β is moderate, and the value of γ is smallTo sum up, the fuzzy rule table for establishing the weightα,β,γ of each evaluation item of the DWA trajectory evaluation function is shown in Tables 1, 2 and 3.Table 1
Fuzzy rule for weightα.
DistanceObstacle distanceZOPSPMPBPHZOPMPBPBPHpHPSPSPMPBPBPHPMZOPSPMPBPBPBZOZOPSPMPBPHZOZOZOPSPMTable 2
Fuzzy rule for weightβ.
DistanceObstacle distanceZOPSPMPBPHZOPSPSZOZOZOPSPMPSPSZOZOPMPBPMPSPSZOPBPHPBPMPSPSPHPHPHPBPMPSTable 3
Fuzzy rule for weightγ.
DistanceObstacle distanceZOPSPMPBPHZOZOZOZOZOPSPSZOZOZOPSPMPMZOZOPSPMPBPBZOPSPMPBPHPHPSPSPMPBPHAccording to the fuzzy rule table established above, the relationship between input and output can be obtained. Mamdani-type reasoning is used for fuzzy decision-making. The relationship between the input and output of the fuzzy controller is shown in Figure8.Figure 8
Correspondence between input value and output value.It can be seen from Figure8 that the sizes of α, β, and γ are jointly determined by the distance between the USV and the target point and the distance to the nearest obstacle, and their changing trends conform to the established fuzzy control rules.Fuzzy logic control adopts the Mamdani method for reasoning, and the obtained values ofα, β, and γ are fuzzy quantities. In this paper, the centroid method is used to defuzzy α, β, and γ to determine the specific weight values. By viewing the rule observer window, the specific output values of α, β, and γ can be obtained when a certain input value is determined and then normalized to give the weight of each evaluation item in the trajectory evaluation function.


### 3.3. Improved DWA with A∗ Algorithm

The key turning points in the path node set planned by the A∗ algorithm are extracted as the subtarget points of DWA. The USV will arrive at each subtarget point in turn and switch to the next target point within a certain range close to the subtarget point until it reaches the final target point. The motion is stopped after the target point, and the flow chart of the fusion algorithm is shown in Figure 9.Figure 9
Flow chart of fusion A∗ and DWA algorithm.


## 3.1. Optimize Evaluation Items

When the USV approaches the target point, if there is an obstacle blocking the direction of the USV, the USV will naturally perform the obstacle avoidance operation, but during the obstacle avoidance process, changes in the heading angle of the USV cause different responses. When the value increases, the speed command selection at this time is different on whether to avoid obstacles to increase the distance from the obstacle or to reduce the difference in the direction angle, which leads to the oscillation of the obstacle avoidance path. The obstacle avoidance model is shown in Figure4.Figure 4
Schematic diagram of obstacle avoidance model.In addition, as the USV approaches the target point, the angleθ between the USV’s heading and the target gradually increases. Under the action of the azimuth evaluation function headv,w, the UAV will increase its own angular velocity w to reduce the included angle θ, resulting in the movement of the USV to be uncontrollable.In view of the defect that the obstacle avoidance path of DWA is not smooth, the original direction angle evaluation item is replaced, and the derivative of the target distance is introduced to replace the azimuth angle. The improved trajectory evaluation function is as follows:(9)Gv,w=α⋅gdistv,w+β⋅odistv,w+γ⋅velv,w,(10)gdistv,w=ρgoal=12xc−xg2+yc−yg2.In (9), gdistv,w represents the derivative of the distance between the end of the simulated trajectory corresponding to the speed v,w and the target point, and odistv,w represents the distance between the end of the simulated trajectory corresponding to the speed v,w and the nearest obstacle. In (10), xc,yc and xg,yg represent the current position coordinates and target point coordinates of the USV, respectively. It can be seen from (10) that the derivative value of the target distance increases with the decrease of the distance between the USV and the target point. When the USV is closer to the target point, its proportion begins to increase, and the optimization goal of the evaluation function is to approach the target point and avoid obstacles. Therefore, the defect that the path is not smooth during the obstacle avoidance process is solved.


## 3.2. Fusion Fuzzy Control Algorithm

The selection of DWA’s speed control command has a great relationship with the weight of each part of the evaluation function, and the obstacle avoidance path should be optimized as much as possible under the condition of ensuring the success of obstacle avoidance. The path found by a single weight is not ideal, and the weight of the trajectory evaluation function needs to be adjusted in real time.The fuzzy logic control system is a rule-based control algorithm, which does not require an accurate mathematical model of the USV that is difficult to model, and can simulate human thinking only based on language control. The fuzzy logic controller consists of five main parts, namely, defining variables, fuzzification, knowledge base, logical judgment, and defuzzification.According to the above content, a fuzzy controller with two inputs and three outputs is designed. First, the input variables of the fuzzy logic controller are determined as the distance between the USV and the target point and the distance between the USV and the nearest obstacle, and the outputs are, respectively, in the trajectory evaluation function of the DWA algorithm. The weights of each evaluation item areα, β, and γ, as shown in Figure 5.Figure 5
Fuzzy logic controller block diagram.The input and output variables of the fuzzy logic controller use a continuous domain of universe. The fuzzy logic controller is designed to adjust the weight coefficient of the trajectory evaluation function of the USV when avoiding obstacles. Therefore, the distance between the USV and the target point is set as0,100, and the fuzzy set is ZO,PS,PM,PB,PH, when the distance between the USV and the target point is greater than 100 m, let it be equal to 100. Since the safe distance between the USV and the obstacle is 20 m, the universe of discourse for the distance between the USV and the nearest obstacle is set to 0,20, and the fuzzy set is ZO,PS,PM,PB,PH. When the distance of the nearest obstacle is greater than 20 m, set it equal to 20. The domain of discourse of the weight coefficients α, β, and γ of the evaluation function are all 0,1, and the corresponding fuzzy subsets are all ZO,PS,PM,PB,PH. The corresponding meanings of the above fuzzy sets areZO,PS,PM,PB,PH.Due to the simple and rapid operation of the triangular distributed fuzzy variables, the triangular function is used as the membership function for the input and output variables. The membership function curve of the input variable is shown in Figure6, and the membership curve of the output variable is shown in Figure 7.Figure 6
Membership function of input.Figure 7
Membership function of output.According to the fuzzy subsets of the fuzzy variables defined above, the fuzzy control rules can be summarized as follows.Rule 1: when the distance between the USV and the target point and the distance between the USV and the nearest obstacle are large, the USV does not need to rush to avoid obstacles at this time. At this time, the selected value ofγ is large, the value of α is moderate, and the value of β is smallRule 2: when the distance between the USV and the target point is large and the distance from the nearest obstacle is small, the USV should give priority to avoiding obstacles at this time, not in a hurry to approach the target point, and reduce the forward speed. At this time, the selectedβ value is larger, and the α and γ values are smallerRule 3: when the distance between the USV and the target point is small and the distance from the nearest obstacle is large, the USV should first approach the target point, not in a hurry to avoid obstacles, and reduce the forward speed. At this time, the selected value ofα is larger, and the values of β and γ are smallerRule 4: when the distance between the USV and the target point and the distance to the nearest obstacle are both small, the USV should first approach the target point, avoid obstacles moderately, and reduce the forward speed. At this time, the selected value ofα is large, the value of β is moderate, and the value of γ is smallTo sum up, the fuzzy rule table for establishing the weightα,β,γ of each evaluation item of the DWA trajectory evaluation function is shown in Tables 1, 2 and 3.Table 1
Fuzzy rule for weightα.
DistanceObstacle distanceZOPSPMPBPHZOPMPBPBPHpHPSPSPMPBPBPHPMZOPSPMPBPBPBZOZOPSPMPBPHZOZOZOPSPMTable 2
Fuzzy rule for weightβ.
DistanceObstacle distanceZOPSPMPBPHZOPSPSZOZOZOPSPMPSPSZOZOPMPBPMPSPSZOPBPHPBPMPSPSPHPHPHPBPMPSTable 3
Fuzzy rule for weightγ.
DistanceObstacle distanceZOPSPMPBPHZOZOZOZOZOPSPSZOZOZOPSPMPMZOZOPSPMPBPBZOPSPMPBPHPHPSPSPMPBPHAccording to the fuzzy rule table established above, the relationship between input and output can be obtained. Mamdani-type reasoning is used for fuzzy decision-making. The relationship between the input and output of the fuzzy controller is shown in Figure8.Figure 8
Correspondence between input value and output value.It can be seen from Figure8 that the sizes of α, β, and γ are jointly determined by the distance between the USV and the target point and the distance to the nearest obstacle, and their changing trends conform to the established fuzzy control rules.Fuzzy logic control adopts the Mamdani method for reasoning, and the obtained values ofα, β, and γ are fuzzy quantities. In this paper, the centroid method is used to defuzzy α, β, and γ to determine the specific weight values. By viewing the rule observer window, the specific output values of α, β, and γ can be obtained when a certain input value is determined and then normalized to give the weight of each evaluation item in the trajectory evaluation function.


## 3.3. Improved DWA with A∗ Algorithm

The key turning points in the path node set planned by the A∗ algorithm are extracted as the subtarget points of DWA. The USV will arrive at each subtarget point in turn and switch to the next target point within a certain range close to the subtarget point until it reaches the final target point. The motion is stopped after the target point, and the flow chart of the fusion algorithm is shown in Figure 9.Figure 9
Flow chart of fusion A∗ and DWA algorithm.


## 4. Improved DWA Simulation Experiment and Result Analysis

### 4.1. Improved DWA Simulation Results

The static obstacle avoidance simulation is carried out through the DWA of the original trajectory evaluation function and the improved trajectory evaluation function, respectively, and the obstacle avoidance effect of the DWA before and after the improvement is analyzed.In the simulation experiment, the map size is set to600m×400m, the position of the target point is set to (500, 50), the position of the starting point of the USV is (50, 350) and (50, 250), and the initial velocity and angular velocity of the USV are both 0. The DWA simulation of the original trajectory evaluation function is shown in Figure 10, and the DWA simulation under the improved trajectory evaluation function is shown in Figure 11.Figure 10
Original DWA path planning simulation results.
(a)(b)Figure 11
Improved DWA path planning simulation results.
(a)(b)It can be obtained from Figure10 that when the USV faces a complex obstacle environment, the obstacle avoidance effect of the USV is not ideal. First, the USV is easy to fall into the concave area, and it takes a long time to escape the concave trap, which increases the length of the obstacle avoidance path. Second, when there is an obstacle near the target point, because the weight combination of the original trajectory evaluation function is relatively single, the distance evaluation function occupies a large weight value, which causes the target to be unreachable. USV stops moving when it is 20 meters away from the obstacle. The path planning effect is not ideal. As shown in Figure 11, the USV did not fall into the concave trap area but smoothly passed through the narrow channel and reached the target point smoothly. Compared with the original algorithm, the path length is reduced, and there is no target unreachable situation.The path evaluation indicators before and after the improved DWA algorithm are shown in Table4. It can be found that in the simulation environment of example (a), the improved DWA reduces the path length by 205.7 m compared with the original algorithm, accounting for 25.4% of the planned path length of the original algorithm. The smoothness is reduced by 0.98, accounting for 36.8% of the smoothness of the planned path of the original algorithm. The security degree is increased by 14, accounting for 14.14% of the security degree of the original algorithm. In the simulation environment of example (b), the path length of the improved DWA is reduced by 143 m compared with the original algorithm, accounting for 21.11% of the planned path length of the original algorithm. The smoothness is reduced by 0.84, accounting for 32.8% of the smoothness of the planned path of the original algorithm. The security is reduced by 5, accounting for 5.3% of the security of the planned path of the original algorithm. Because the original algorithm has the target unreachable situation, the security degree of its path evaluation index is lower than that of the improved DWA. In addition, the improved DWA integrates the fuzzy logic control algorithm, and the calculation amount is increased. In contrast, the path planning time is longer than the original algorithm, but the increase is not large.Table 4
Comparison of DWA algorithm path evaluation index results.
Algorithm simulation examplePath length (m)SmoothnessSecurityTime (s)Traditional (a)809.82.669934.81Traditional (b)677.22.569528.32This paper (a)604.11.6811337.32This paper (b)534.21.729034.61To sum up, compared with the original DWA, the improved DWA shortens the planned path length by 23.4% and reduces the planned path smoothness by 34.8%. The introduction of the target distance to replace the direction angle difference and the fuzzy logic control algorithm to dynamically control the weight of the original trajectory evaluation function have a good improvement effect, which enhances the USV’s adaptability to complex obstacle environments.


### 4.2. Simulation of Improved DWA with A∗ in Static Obstacle Environment

The A∗ algorithm is used to plan the known static obstacle environment and extract the subtarget points, while the local path planning algorithm performs local obstacle avoidance. In the simulation experiment, the map size is set to 600m×400m, the target point position is set to (500, 50), and the USV starting point position is set to (50, 350). The simulation results of the fusion algorithm are shown in Figure 12.Figure 12
Fusion algorithm path planning simulation results.By changing the position of the target point, to ensure that the parameters of each experiment are set to the same conditions, 5 simulation experiments are carried out for the algorithm before and after the improvement. The starting point is set to (50, 350), and the target points are set to (480, 50), (300, 50), (500, 100), and (550, 150).Compare the traditional DWA and the improved DWA based on the A∗ algorithm, analyze the pros and cons of the planned paths before and after the algorithm improvement, and draw histograms according to the relevant data as shown in Figure 13.Figure 13
Performance comparison of traditional DWA and improved DWA.
(a)(b)(c)(d)Figure13 shows the comparative effects of applying the traditional DWA method and the improved DWA method on various indicators, such as path length and path smoothness. Except for example 3, after improving DWA, the path length is reduced, but the path smoothness, security, and planning time are increased, indicating that the scheme of extracting subgoal points by the A∗ algorithm can shorten the length of the planned path and improve the operating efficiency of the USV, but it does not improve the smoothness and safety of the path. On the whole, compared with traditional DWA, the average path length is reduced by 5.53%, the average path smoothness is increased by 0.82%, the average path safety degree is increased by 18.87%, and the average planning time is increased by 32.3%.The performance indicators of the improved DWA are not outstanding in all aspects, but in the complex obstacle environment, the USV cannot find the optimal path. The simulation results of example 3 show that compared with the traditional DWA, the path length is reduced by 19.04%, and the smoothness is reduced by 57.5%, and the safety is reduced by 30.36%.


## 4.1. Improved DWA Simulation Results

The static obstacle avoidance simulation is carried out through the DWA of the original trajectory evaluation function and the improved trajectory evaluation function, respectively, and the obstacle avoidance effect of the DWA before and after the improvement is analyzed.In the simulation experiment, the map size is set to600m×400m, the position of the target point is set to (500, 50), the position of the starting point of the USV is (50, 350) and (50, 250), and the initial velocity and angular velocity of the USV are both 0. The DWA simulation of the original trajectory evaluation function is shown in Figure 10, and the DWA simulation under the improved trajectory evaluation function is shown in Figure 11.Figure 10
Original DWA path planning simulation results.
(a)(b)Figure 11
Improved DWA path planning simulation results.
(a)(b)It can be obtained from Figure10 that when the USV faces a complex obstacle environment, the obstacle avoidance effect of the USV is not ideal. First, the USV is easy to fall into the concave area, and it takes a long time to escape the concave trap, which increases the length of the obstacle avoidance path. Second, when there is an obstacle near the target point, because the weight combination of the original trajectory evaluation function is relatively single, the distance evaluation function occupies a large weight value, which causes the target to be unreachable. USV stops moving when it is 20 meters away from the obstacle. The path planning effect is not ideal. As shown in Figure 11, the USV did not fall into the concave trap area but smoothly passed through the narrow channel and reached the target point smoothly. Compared with the original algorithm, the path length is reduced, and there is no target unreachable situation.The path evaluation indicators before and after the improved DWA algorithm are shown in Table4. It can be found that in the simulation environment of example (a), the improved DWA reduces the path length by 205.7 m compared with the original algorithm, accounting for 25.4% of the planned path length of the original algorithm. The smoothness is reduced by 0.98, accounting for 36.8% of the smoothness of the planned path of the original algorithm. The security degree is increased by 14, accounting for 14.14% of the security degree of the original algorithm. In the simulation environment of example (b), the path length of the improved DWA is reduced by 143 m compared with the original algorithm, accounting for 21.11% of the planned path length of the original algorithm. The smoothness is reduced by 0.84, accounting for 32.8% of the smoothness of the planned path of the original algorithm. The security is reduced by 5, accounting for 5.3% of the security of the planned path of the original algorithm. Because the original algorithm has the target unreachable situation, the security degree of its path evaluation index is lower than that of the improved DWA. In addition, the improved DWA integrates the fuzzy logic control algorithm, and the calculation amount is increased. In contrast, the path planning time is longer than the original algorithm, but the increase is not large.Table 4
Comparison of DWA algorithm path evaluation index results.
Algorithm simulation examplePath length (m)SmoothnessSecurityTime (s)Traditional (a)809.82.669934.81Traditional (b)677.22.569528.32This paper (a)604.11.6811337.32This paper (b)534.21.729034.61To sum up, compared with the original DWA, the improved DWA shortens the planned path length by 23.4% and reduces the planned path smoothness by 34.8%. The introduction of the target distance to replace the direction angle difference and the fuzzy logic control algorithm to dynamically control the weight of the original trajectory evaluation function have a good improvement effect, which enhances the USV’s adaptability to complex obstacle environments.


## 4.2. Simulation of Improved DWA with A∗ in Static Obstacle Environment

The A∗ algorithm is used to plan the known static obstacle environment and extract the subtarget points, while the local path planning algorithm performs local obstacle avoidance. In the simulation experiment, the map size is set to 600m×400m, the target point position is set to (500, 50), and the USV starting point position is set to (50, 350). The simulation results of the fusion algorithm are shown in Figure 12.Figure 12
Fusion algorithm path planning simulation results.By changing the position of the target point, to ensure that the parameters of each experiment are set to the same conditions, 5 simulation experiments are carried out for the algorithm before and after the improvement. The starting point is set to (50, 350), and the target points are set to (480, 50), (300, 50), (500, 100), and (550, 150).Compare the traditional DWA and the improved DWA based on the A∗ algorithm, analyze the pros and cons of the planned paths before and after the algorithm improvement, and draw histograms according to the relevant data as shown in Figure 13.Figure 13
Performance comparison of traditional DWA and improved DWA.
(a)(b)(c)(d)Figure13 shows the comparative effects of applying the traditional DWA method and the improved DWA method on various indicators, such as path length and path smoothness. Except for example 3, after improving DWA, the path length is reduced, but the path smoothness, security, and planning time are increased, indicating that the scheme of extracting subgoal points by the A∗ algorithm can shorten the length of the planned path and improve the operating efficiency of the USV, but it does not improve the smoothness and safety of the path. On the whole, compared with traditional DWA, the average path length is reduced by 5.53%, the average path smoothness is increased by 0.82%, the average path safety degree is increased by 18.87%, and the average planning time is increased by 32.3%.The performance indicators of the improved DWA are not outstanding in all aspects, but in the complex obstacle environment, the USV cannot find the optimal path. The simulation results of example 3 show that compared with the traditional DWA, the path length is reduced by 19.04%, and the smoothness is reduced by 57.5%, and the safety is reduced by 30.36%.


## 5. Conclusion

Through the analysis of the evaluation items of the DWA trajectory evaluation function and the weight setting of the evaluation function, it is found that the trajectory evaluation function has a great negative impact on the selection of the USV obstacle avoidance speed command when faced with a complex obstacle environment. Secondly, the derivative of the target distance is introduced to replace the evaluation item of the direction angle difference, and it improves the smoothness of the USV obstacle avoidance path. Finally, aiming at the solidification of the weights of each evaluation item of the trajectory evaluation function, the fuzzy logic control algorithm is integrated, and the obstacle distribution information obtained by the obstacle detection model is used as the controller input to dynamically adjust the weights. The effectiveness of the improved algorithm is verified by simulation.Unmanned surface vehicles will develop in the direction of intelligence, and autonomous navigation and control technology is an important way for unmanned surface vehicles to achieve intelligence. This paper does not fully consider the path planning problem under the influence of dynamic obstacles in the marine environment. In addition, joint operations have become the basic combat style of marine warfare in the new era. As an emerging combat force, unmanned surface ships must be integrated into joint operations. Its accurate and efficient autonomous navigation technology is to explore the basis of other combat forces’ coordinated operations, and it is necessary to conduct in-depth research on the path planning technology of unmanned surface vehicles.



---

*Source: 9315483-2022-09-23.xml*