Anhui Province Key Laboratory of Affective Computing and Advanced Intelligent Machine, School of Computer Science and Information Engineering, Hefei University of Technology, Hefei, China
Institute of Solid State Physics, Hefei Institutes of Physical Science, Chinese Academy of Sciences, Hefei, China
Anhui Province Key Laboratory of Affective Computing and Advanced Intelligent Machine, School of Computer Science and Information Engineering, Hefei University of Technology, Hefei, China
Correspondence
Min Hu, Anhui Province Key Laboratory of Affective Computing and Advanced Intelligent Machine, School of Computer Science and Information Engineering, Hefei University of Technology, Hefei 230009, China.
Anhui Province Key Laboratory of Affective Computing and Advanced Intelligent Machine, School of Computer Science and Information Engineering, Hefei University of Technology, Hefei, China
Anhui Province Key Laboratory of Affective Computing and Advanced Intelligent Machine, School of Computer Science and Information Engineering, Hefei University of Technology, Hefei, China
Anhui Province Key Laboratory of Affective Computing and Advanced Intelligent Machine, School of Computer Science and Information Engineering, Hefei University of Technology, Hefei, China
Anhui Province Key Laboratory of Affective Computing and Advanced Intelligent Machine, School of Computer Science and Information Engineering, Hefei University of Technology, Hefei, China
Institute of Solid State Physics, Hefei Institutes of Physical Science, Chinese Academy of Sciences, Hefei, China
Anhui Province Key Laboratory of Affective Computing and Advanced Intelligent Machine, School of Computer Science and Information Engineering, Hefei University of Technology, Hefei, China
Correspondence
Min Hu, Anhui Province Key Laboratory of Affective Computing and Advanced Intelligent Machine, School of Computer Science and Information Engineering, Hefei University of Technology, Hefei 230009, China.
Anhui Province Key Laboratory of Affective Computing and Advanced Intelligent Machine, School of Computer Science and Information Engineering, Hefei University of Technology, Hefei, China
Anhui Province Key Laboratory of Affective Computing and Advanced Intelligent Machine, School of Computer Science and Information Engineering, Hefei University of Technology, Hefei, China
Anhui Province Key Laboratory of Affective Computing and Advanced Intelligent Machine, School of Computer Science and Information Engineering, Hefei University of Technology, Hefei, China
The detection of river boundaries is a crucial branch of the intelligent perception of unmanned surface vehicles (USVs), it can be used to determine the driving areas of USVs, and also to ensure driving safety by limiting the effective drivable areas of USVs in the river areas. Aiming to detect the boundaries of incompletely structured river channels, this study proposes a real-time detection method for river boundaries based on a Light Detection and Ranging (LiDAR) sensor. The point clouds that are disturbed by the water surface noise are filtered firstly, and then the spatial and geometric features are extracted separately from the point cloud detected above the water surface. To prevent the error detection and missing detection, the boundary point information is predicted and calibrated in real time by Extended Kalman Filter (EKF). A planning track generation algorithm for coastal autonomous cruise without relying on high-precision maps, and a heading and distance adaptive control method by Proportional-Integral-Derivative (PID), and different driving line generation methods for driving along the narrow river and wide river are proposed respectively. The experimental data verification of river boundary detection shows that the algorithm is accurate, real-time, and robust.
1 INTRODUCTION
In recent years, with the rapid development of unmanned systems and artificial intelligence technology in the civil field, USV has been widely used in various tasks in river waters, such as surface garbage salvage [1, 2], surface oil spill removal [3], environmental mapping [4, 5], patrol tasks [6] and environmental monitoring [7, 8]. River detection provides visual perception ability for unmanned surface vehicles, which is critical for building an auxiliary unmanned navigation system. A certain degree of autonomy helps accomplish tasks efficiently and intelligently. To realize autonomous navigation in inland rivers, the detection of river boundaries is a crucial step, which not only provides the basis for simultaneous localization and mapping (SLAM) [9, 10], and obstacle avoidance [11, 12], but also provides the necessary information basis for automatic detection [15] and subsequent path planning [13, 14].
The main task of river boundary detection is to detect the boundary line between the water surface on the river and the bank. In the existing technology, three types of sensors are usually used for boundary line detection, including vision cameras [21], radar sensors [10] and LiDAR sensors [16]. Compared with millimetre wave radar, LiDAR has higher resolution and sensitivity, higher accuracy and is not vulnerable to interference. Compared with the camera, the LiDAR can detect high-precision 3D coordinate information of objects, has a wider field of vision, a long detection distance and can detect the edge of the river with good stability.
A very similar task to river boundary detection is shoreline detection, many existing shoreline detection methods are based on image vision [21-26], and the detection results are pixel-based semantic segmentation, mainly divided into water surface or non-water surface areas. Image-based river detection algorithms are vulnerable to diversification of river scenes, illumination changes and water surface reflection interference. LiDAR is an ideal sensor. The river detection algorithm based on point cloud data [17] does not need to rely on more data sets, but needs to design a robust algorithm rule. However, it is not easy to detect the river boundary with LiDAR, because the waves and floating objects on the water surface will generate noise, and the reflection capacity of the water surface is not as good as that of the road surface. When the LiDAR signal hits the water surface, a large number of signals will be absorbed [17], the detection methods of a road cannot be directly applied to the river, which brings a great challenge for the detection of river boundaries by using LiDAR.
When USVs cruise autonomously in inland rivers, path planning needs to rely on high-precision maps, which need accurate mapping, and its acquisition cost is very high. If there is no high-precision map, we must manually preset many target cruise path points, especially in the complex curved river channel, which makes the USVs not intelligent enough. The water depth at the edge of the narrow river is low, which easily cause USV to run aground, so a certain safe distance should be kept from the shore. Therefore, it is necessary to propose a low-cost automation method, which can safely and autonomously cruise along the river bank.
As shown in Figure 1, the river scenes are diverse, the river detection algorithm should be applicable not only to conventional rivers, but also to complex curved river scenes. The main challenge of river courses is irregular and unstructured scenes, such as the presence of bridges in the centre of the river, and the edges of the river always filled with branches and obstacles. The uneven river environment leads to the particularity and diversity of river boundary detection. The special challenges of river boundary detection are as follows:
The positions of the obstacles on the edge of the river bank are irregular and discontinuous, the extracted boundary candidate points may be noise points. The edges on both sides of the river are asymmetrical and cannot be fitted with regular straight lines;
The edges of the river bank are covered with many branches, by dividing the water surface area, it is difficult to distinguish where are the drivable areas and the non-drivable areas;
There are many blue-green algae and green plants on the water surface, it is hard to distinguish where the ground is and where the water area is through the reflection ability of point clouds;
For large rivers or lakes, only one side of the water bank is clearly visible, and the other side is too far away and the features are not obvious. At this time, only one side of the water bank boundary can be detected. At this time, unmanned surface vehicles need to maintain a minimum safe distance from the shore.
Examples of river environment: (a) Obstacles on the edge of the river, (b) branches on the edge of the river, (c) bridges on the river, (d) irregular river edge (right side).
In view of the above challenges, this study proposes an effective method for river boundary detection. We obtain valid point clouds above the water surface in the river area, according to the characteristics of the river scene, a multi feature fusion method is proposed to extract candidate points of river boundary. This method is not only suitable for irregular rivers but also uneven lake edges. The effective point cloud above the water surface is extracted, and a series of feature extraction steps are used to obtain the candidate points of the river boundary. The method of river boundary points tracking is used to improve the accuracy of the detection results. Finally, according to the detection results, a low-cost autonomous cruise method for driving along the river is proposed. The main contributions of this paper are as follows.
We propose a multi-feature river boundary detection algorithm based on LiDAR, which can effectively detect the river boundary according to the spatial distribution and geometric features of the river point clouds;
We propose a method for river boundary points tracking based on EKF, which can filter the false points to optimize the detection results;
Our method detects the bilateral and unilateral boundaries of the narrow river and the wide river, respectively, and proposes two coastal autonomous-cruising methods: driving along the riverside or along the centreline of the river;
We provide a planning track generation algorithm for coastal autonomous navigation by calculating the centrelines or equidistant lines, and a PID heading and distance adaptive control method for coastal driving. The proposed method does not need to rely on high-precision maps.
2 RELATED WORKS
River boundary detection is critical to the judgment of navigable areas of the river, and it is the basis for the autonomous cruise of USVs. The following is an introduction to the research methods related to river boundary detection and autonomous cruise.
2.1 River boundary line detection
Shan et al. [17] proposed a method based on deep learning to accurately detect the navigable regions of rivers by 3D point clouds, which effectively solves the problems of discontinuity and corners of the water shoreline. However, deep learning methods are extremely dependent on data and require a large amount of computation. The research on inland river boundary detection is a new field, and we have not found any other completely consistent research.
In the existing research, the methods similar to river boundary detection are mainly about the detection of road boundary on land [32-35], which Zai et al. [32] performed by generating supervoxels, using α-Shape algorithm and energy minimization algorithm based on image segmentation extract 3D road boundary. Zhang et al. [33] proposed an automatic road segmentation method based on sliding window and use 3D LiDAR sensor to detect the curb. Wang et al. [34] directly constructed a significance map on the 3D unorganized point cloud for road boundary detection. Li et al. [35] combined lane lines with obstacle information based on 3D LiDAR point clouds to adaptively extract road boundaries. These methods are applicable to the pavement with fixed slope, but not to the water surface of the river.
Another study similar to river boundary detection is shoreline detection. There are only a few water surface studies, and most of them are based on the marine environment. Dong [24] and Lan [25] et al. proposed an image based local complexity and Hough transform to realize sea-sky-line or sea-land-line detection, but Hough transform needs to balance detection accuracy and calculation speed, in addition, it is also affected by strong edge and noise interference, resulting in clutter and flicker, which usually produces false lines. Gong et al. [26] detected the shoreline by constructing a two-stage algorithm with multiple features in the image. However, the proposed method can only detect straight lines, it does not take into account the complex water surface environment with curved shore and edge covered by obstacles. Wang et al. [21] proposed a method based on gradient significance and regional growth to detect shoreline. By calculating the direction of gradient consistency, the linear features of shoreline edge are easier to be extracted, and the false lines caused by irrelevant feature interference will be avoided. However, this method has high computational complexity and its accuracy will be significantly reduced under low light and bad weather conditions. Yao et al. [22] proposed an efficient deep-learning method for the shoreline semantic segmentation of USVs. The proposed method can achieve rapid reasoning ability and maintain relatively high accuracy in the detection of marine obstacles, but it depends on visual input and is not suitable for situating diverse illumination. Zou et al. [23] proposed an edge recognition method based on shear waves for shoreline detection in infrared images. The proposed Shearlets can be used for shoreline separation and obstacle detection, but the large amount of computation of the designed neural network decoder leads to slow operation speed, and the accuracy will be reduced when there is interference on the water surface.
2.2 Autonomous cruise
Although there are many researches and applications of autonomous cruise technology, they are mainly aimed at the road surface, while the research on water surface is rare, and few scholars have studied the automatic cruise method of USVs in inland rivers. Most of the existing autonomous cruise methods are based on global path planning [18, 19], but the methods based on global path planning rely on high-precision maps, and the cost of obtaining high-precision maps is high. Xiao et al. [20] proposed a method of autonomous cruising by unmanned surface vehicles, which can automatically clean the water surface. The proposed method relies on controlling the distance between the current ship and the river bank. However, the front river bank is uncertain, the bank edge is irregular, there may be obstacles on the edge, and the distance between the ship and the bank may change abruptly.
3 RIVER BOUNDARY DETECTION
Due to the particularity of river boundary detection, we propose a multi feature fusion method. The main contents of river boundary detection and tracking methods are shown in Figure 2. We detected the spatial and geometric characteristics of point clouds on water surface. This method is not only suitable for regular boundaries, but also for irregular boundaries. Firstly, the water surface interference is filtered, the candidate points of river boundary are extracted according to the spatial and geometric features of the point clouds, and the navigable area of water surface is obtained by fitting the river boundary line with B-spline curve. Then the results of river detection are optimized by tracking the river boundary points, for narrow rivers, the left and right boundaries are detected, while for wide rivers, only the left or right single boundaries are detected.
The structure of river boundary detection and tracking.
3.1 Water surface interference filtering
The raw data by LiDAR includes many things such as buildings, trees, vegetation, water surface and bank edges. We must remove these interference points from the background. Since most of the point clouds on the river surface will be absorbed, we fill the areas without point clouds on the river surface, and the height of point clouds in these areas is considered as a fixed minimum. When there are many blue-green algae and leaves on the water surface, the water surface has the same reflective ability as the road surface, but the horizontal plane of the water surface in the river is different from the road surface, the slope (uphill or downhill) does not need to be considered. It can be approximately considered that the plane of the water surface is a flat horizontal plane. We preprocess the point cloud data scanned by the LiDAR within 20 meters of the forward wave velocity to filter the water surface interference.
The filtering water surface interference is to filter the false noise points caused by the floating objects on the water surface, such as cyanobacteria, fallen leaves and mineral water bottles. To simplify the calculation, the point clouds on the horizontal plane are filtered to obtain the effective point clouds above the horizontal plane, Suppose the coordinates of the point cloud are,, n is the number of point clouds. The filtered point clouds set G is
(1)
where is the vertical coordinate of the lowest point of the water surface, and σ is the filtering threshold of the river horizontal plate, N is the set of natural numbers. Figure 3 shows an example of the results before and after water surface interference filtering.
The results of water surface interference filtering: (a) Image taken with camera, (b) before filtering, (c) after filtering.
3.2 River boundary point extraction
The common method of river boundary point extraction is to segment the water surface and non-water surface, filter the noise point cloud on the water surface, and then cluster the point cloud generated by obstacles. The upper layer points are filtered before the algorithm is processed. The points of H meters above the water surface will be filtered out to reduce the amount of calculation because too high points do not pose an obstacle to unmanned surface vehicles. The value of H is determined by the actual installation height of the onboard LiDAR sensor. We first convert the point cloud into a bird's-eye view. After removing the interference of water surface noise point cloud, we use the 3D spatial distribution features of point cloud data of the river for rough extraction, and further extract candidate points of boundaries through geometric features, the river boundary will be accurately determined after the two steps of feature extraction.
Figure 4a shows the river channel model. Figure 4b shows the change of elevation difference in the horizontal direction of the river channel. The horizontal scanning line is perpendicular to the river bank, and it can be found that the height of the edge of the river channel changes sharply. Therefore, boundary points can be extracted by features such as height deference and slope difference threshold. Sometimes the reflection of point clouds on the water surface is limited. Figure 4c shows the broken line diagram of point cloud density in the horizontal direction when the water surface reflection of the river is insufficient. A sudden change of density difference is one of the necessary conditions for river edge points. Therefore, boundary points of the river can be extracted from the density difference between one point field and its adjacent point field in the horizontal direction.
An analysis result of a river model: (a) An example of a river model, (b) point cloud density in the horizontal direction, (c) height difference in the horizontal direction.
3.2.1 Spatial feature extraction
The structured river of urban has a relatively stable height difference and density difference mutation at the boundary, which can be used to initially extract the water bank boundary. The height and density relationship between point clouds can be handled by meshing, which can avoid a large amount of calculations caused by processing each point cloud. Firstly, the point cloud data is projected to a 2D plane (x, y), then the grid is divided into M × M grids, the height value of the point cloud is mapped to the corresponding grid, the feature difference between each grid and the adjacent grid is calculated, and the feature candidates that meet the threshold condition within the grid or between the grids are regarded as the boundary points. In addition, for the bank with a fixed slope, the edge feature candidate points are detected by slope thresholds.
Spatial feature candidate points are determined by three observations, we mathematically define these three observations as the following:
(2)
Point cloud density filtering
The set D* of candidates that could meet the requirements of the distribution of the point cloud is defined as
(3)
where is the point cloud density difference between the kth grid and its adjacent grids, l is the index number of the adjacent grid, is the density factor of the cloud distribution, is the number of point clouds, is the size of the grid, and are the thresholds.
2.
Height difference filtering
The set of candidate points H* that satisfies the condition of height difference is defined as
(4)
where is the height difference between the current grid and the adjacent grid, it is the height difference of the candidate grids at the edge of the same river bank, l is the index number of the adjacent grid, is the standard deviation of the height within the grid, is the height of each point cloud, is the mean value of height, ncell is the total number of point clouds in the grid, j is the ID of the point cloud in the grid, , and are the thresholds.
3.
Slope filtering
For a river bank that has a fixed slope, the threshold of the slope between the candidate grid and the adjacent grid at the edge of the river is set to filter the noise points. We define S* as the set of candidate points that meet the requirements of the slopes, the slope is calculated according to the following formula.
(5)
where is the slope of the candidate grid point and the adjacent grid point on the edge of the river, is the median within the grid, and are the thresholds.
If the corresponding features of Ck meet the condition of the three filters, the points in this area will be reserved as candidates of the river bank edge, and the 2D location of the points (x, y) are stored to build the candidate point set with an N × 2 matrix. If the threshold range is not satisfied, the points in the window will be ignored by setting the region as an empty set.
After gridding, the local point clouds in the grid are approximately equal, and there is no need to repeat the calculation, which can reduce the amount of calculation. In our example, the size of the gird is estimated to be 10 cm × 10 cm, and the search window size and the step size will be adjusted by the width of the water bank edge. An example of preliminary candidate points extracted from spatial features is shown in Figure 5.
Result of candidate points extracted from spatial features.
The spatial features could be used to extract the rough edge points of the river bank as the edge candidates. However, there is still a certain noise around the edge of the river, especially when the front river channel changes greatly due to the pitch angle or curve caused by the waves, the noise will increase, and it is easy to cause a great interference to the extraction of the boundary points. To improve the accuracy of the fitting result of the river boundary line, we extract boundary candidate points more accurately according to the geometric distribution features of the point cloud based on the candidate grid windows that were created in the previous steps.
3.2.2 Geometric feature extraction
The grid areas extracted in the previous steps are sorted by distance, and the geometric features are extracted to obtain more accurate river edge candidate points. The points on the boundary line are extracted and added to the candidate points, and the Cleft and Cright of the point set on the left and right river boundary lines are obtained respectively. The candidate point set of river boundary extracted in the previous step contains many false points, which are mainly caused by weeds, branches and stones on both banks of the river. We use the method of point cloud classification, angle and distance filtering to extract candidate points of the boundaries. Specifically, we first project the point cloud to the XOY plane, and the direction angle and distance of the extracted candidate points satisfy the following conditions:
(6)
(7)
(8)
where d1, d2, θ1 is the distance and direction angle thresholds, , and are the coordinates of two adjacent candidate points and the USV in the XOY plane.
To select the third candidate point according to the order of angles, the three adjacent points , and must meet the following angle thresholds at the same time
(9)
where θ2 is the distance and direction angle threshold, The points that satisfy the above threshold conditions will be regarded as the same boundary.
Finally, a series of sets C1, C2, …, Cn are obtained, One or two sets Cmax1 and Cmax2 which have the most points will be selected, and the total number of points they contained is much greater than the other point sets. , then the left and right boundary point sets Cleft and Cright are obtained according to the direction judgment. Finally, curve fitting is performed for Cleft and Cright respectively to obtain the boundary lines on both sides of the river. An example of accurate candidate points extracted from geometric features is shown in Figure 6.
Result of candidate points extracted from geometric features.
3.2.3 Boundary points tracking
At the actual river edge, it is impossible to always have a very clear boundary line, and it is common to break or block the river edge. We need to guess the boundary points at the current position. When the algorithm cannot detect the river boundary, we can also give the possible positions of the points on the boundary line. At the same time, the existence of obstacles will lead to many false points and noise points in the detection results. In order to eliminate noise interference and smooth the detection of river boundary points, the boundary points at the next time are predicted and updated by river boundary tracking. River boundary point tracking uses Extended Kalman Filter to track the river boundary line, and the measurement vector of the sensor to the river boundary point is expressed as
(10)
where is the measured value of boundary points location, The observation function defines the observation model of the river boundary points, and is the measurement noise whose mean is zero and the noise covariance is .
We complete boundary point tracking through two steps: prediction and update of river boundary points.
River boundary points prediction
(11)
(12)
where is the position of the river boundary point, is the process noise with zero mean, and represents non-linear state transition function of the prediction model, is the position covariance matrix at time t, is the system noise covariance matrix, and is the Jacobian matrix of the function f.
2.
River boundary points update
(13)
(14)
(15)
where is the Kalman gain at time t, is the Jacobian matrix of the measurement function , is the covariance matrix of measurement noise, is the new position after the boundary point is updated, is the updated value of the position covariance matrix.
When updating the boundary points, the current detection result and the detection result of the previous frame must meet the threshold of distance, and it will be input to the Extended Kalman Filter to update the current value. If the distance threshold value is not satisfied, the current detection result will be discarded, and the detection result of the previous step will be retained. The threshold requirement is
(16)
where dm is the distance threshold between the two points.
The tracking result is shown in Figure 7, a smoother river boundary line is obtained after Extended Kalman Filter correction.
The detailed process of river boundary point extraction is shown in Algorithm 1, which mainly includes two steps: feature boundary point extraction and tracking. In Algorithm 1, the raw LiDAR data points in frame number are filtered by multi-feature extraction steps, the set of the left and right boundary point candidate points and are finally output. The river boundary points prediction is obtained by the previous l step values (Line 20 of Algorithm 1) or (Line 29 of Algorithm 1).
ALGORITHM 1. River boundary point extraction
Input: The raw LiDAR data points in frame number
Output: The left and right boundary points
1
Project onto the 2D plane, and grid the river area into M × M grids
2
Water_Surface_Interference_Filter()
3
Density_Filter ()
4
Height_Difference_Filter ()
5
Slope_Filter ()
6
7
Get_Geo_Feature ()
8
Select_Two_Max ()
9
if angle then
10
11
else if angle then
12
13
end if
14
if angle then
15
16
else if angle then
17
18
end if
19
// Get the left boundary points
20
= EKF_Predict()
21
=EKF_Update()
22
for in
23
if dist(,) > then
24
replace()
25
end if
26
end for
27
=
28
// Get the right boundary points
29
=EKF_Predict()
30
=EKF_Update()
31
for in
32
if dist(,) > then
33
replace()
34
end if
35
end for
36
=
ALGORITHM 2. River centre line generation
Input: The left and right river boundary curve equations and , horizontal scan step h.
Output: River centre line: .
1
Initialize the parameter index and iterations: i = 0, m = 1000
2
Initialize ordinate of the start point:
3
while i < m do
4
Scan along the horizontal line , Get the intersection
points and with the left and right boundary lines of the river,
where , .
5
Calculate the midpoint coordinate of and , which can be used as an
approximation points for the centreline of the river.
end
6
Fitting all the midpoints by cubic curve.
3.3 River boundary line fitting
Based on the candidate points given in the previous step, we can detect the accurate river boundary lines in this step. For candidate points, we perform a parametric coordinate transformation, and then run a curve fitting algorithm. By comparing models like straight lines, parabolas, cubic curves, spline curves etc., a better model for a river bank line is a B-spline (see Figure 8), which allows the edges with curvature changes and conforms to the convolution curve model of the actual water bank boundary.
Comparison of fitting results of different models of river bank lines: (a) parabola, (b) cubic curve, (c) spline curve.
In order to obtain a smooth river boundary line, the fitting of the candidate boundary point set , and the bank curve is carried out by B-spline curve fitting through the least square fitting method to ensure smoothness and feasibility. The smoothing curve equation based on k-order B-spline is parameterized as:
(17)
where , is the control points, is the control point number. , is the ith l-order B-spline basis function determined by the Cox-de Boor recursion formulas [40]:
(18)
(19)
where , and are non-decreasing sequences. is the control point set of B-spline basis function, which is obtained by fitting the candidate feature points of the river bank line using the least square method.
The matrix form of the fitting equation can be described as:
(20)
(21)
where S is the matrix composed of the set of control points, H is the configuration matrix, and P is the matrix composed of the candidate point vector (), which are extracted in the previous step, is the number of candidate points, represents the position along the curve, the calculation formula is as follows:
(22)
4 RIVERSIDE CRUISING METHOD
The technology of USV is playing a more and more important role in patrol, surveillance, mapping and water quality monitoring, and other tasks. In inland rivers, it is necessary to cruise along the river bank, for example, the problem of using USVs to salvage surface garbage along the river bank because most of the floating garbage on the surface is concentrated on the river bank edge, and USVs are used for automatic water quality monitoring along the bank. In addition, there are also autonomous patrols along the bank by USVs to disperse the fishing crowd in the prohibited fishing areas and the swimming crowd in the prohibited swimming area. When USVs are cruising autonomously, they need to plan their driving paths based on high-precision maps, but the cost of high-precision maps is very high. Therefore, it is necessary to provide a low-cost method for USVs to cruise autonomously along the river bank.
According to the river boundary lines obtained in the previous step, we propose two ways for USVs to travel along the river, including driving in the centre of the river or driving along the edge of the river. For the narrow river, the driving area is limited and there are stones on the bank, thus, it is easy to run aground. At this time, it is the safest to drive in the centre of the river channel. For the wide river, in order to be polite to other passing ships, we set it to drive on the left side or the right side and keep the minimum safe distance from the shore. Figure 9 shows the main process of our proposed riverside cruising method.
Limited by the detection range of the LiDAR, the point cloud is sparse when the distance exceeds 50 m. The LiDAR can detect the banks on both sides at any position in the river channel whose width is less than 50 m, therefore, we define the river less than 50 m as a narrow river in the algorithm, otherwise it is a wide river.
4.1 Driving line generation
The driving line can be detected on the land surface [30], but it is not so easy on the water surface. According to the different water scenes, we calculate the equidistant curve in wide rivers and the river central line in narrow rivers.
4.1.1 Equidistant curve
For wide rivers, the Yangtze River, lakes etc., when USVs are set to drive along the bank, the river boundary on one side is detected at this time. For example, the right boundary of the river is detected when driving on the right. To ensure safety, the USV must keep a distance d from the water bank boundary, where d > dmin, dmin is the minimum safe distance between USV and the river bank. Under different river scenarios, it is determined according to whether the river edge is regular, whether there are obstacles, whether it is easy to run aground, and other factors.
In the wide-river mode, the driving path along the river is planned as the equidistant line or offset line of the river bank, and the driving line along the bank can be regarded as the equidistant curve of the river centre line or the river boundary line. Firstly, the points on the curve are sampled and the corresponding slopes and normal vectors are calculated respectively. Then, the control points on the offset line are determined by the length of the curve segment and the node spacing.
Suppose is the calculated river boundary curve equation, we convert it into the parameter equation, , and
(23)
The offset line equation is calculated as follows
(24)
is the equidistant line equation that determines the driving line, represents the parameter form of the curve equation of the river bank, d is the equidistant distance, which is based on different river scenarios. The offset line is determined by the river boundary line that was extracted previously, an example is shown in Figure 10.
River side driving lines using the proposed method.
To ensure a smooth transition and safe driving, the generated driving line must be parallel to the river boundary line. We need to check the accuracy of the calculation results, and verify whether the curvature and centres of the generated driving curve are equal to the river edge curve. The curvature ρ of the resulting curve function is calculated as
(25)
4.1.2 River centre line
For narrow rivers, it is recommended that the USV run along the river centreline to ensure traffic safety. The calculation of the centrelines of the narrow river model includes two cases, when the banks on both sides are approximately parallel and symmetrical, the centrelines of the river are obtained from the equidistant curve when the equidistant distance d = L/2, where L is the width of the river.
When the banks on both sides are not parallel and symmetrical, it is difficult to calculate the centrelines of river boundaries, we propose a fast approximate calculation method for calculating the centrelines, to get the intersection points by creating scanning lines along the horizontal direction, and then take the midpoint of intersection points, and make curve fitting for all midpoints. As shown in Figure 11, the fitting results are used as the centreline of the river and as the planning trajectory of USV for river side cruising. The specific steps of river centre line generation are shown in Algorithm 2.
The motion control system of USVs is an underactuated, unstable non-linear system, and it is difficult to establish an accurate mathematical model to achieve the desired results. There are various driving methods for USVs, including single propeller and single rudder, double propeller, multi propeller and multi rudder, and pump jet. Compared to the propulsion control method of single propeller and single rudder, double propellers have higher propulsion redundancy and faster response speed. Therefore, the method proposed in this article is based on differential double propellers driving for the motion control system of the USV.
During the driving of the USV, due to the influence of water current, waves, and wind, its heading and distance deviation from the target track will increase as it moves forward. The commonly used trajectory tracking control algorithm is proportional-integral-derivative (PID) [36, 37], but the simple heading control is difficult to control the coastal driving accuracy [37], or too many parameters are difficult to adjust [36]. Therefore, we propose a simple method of heading and distance adaptation to control the USV to travel along the planned trajectory curve along the river edge.
As shown in Figure 12, , are the sampling target points of the river centerline cruise path, the current angle of the boat sailing is θcur, and the angle of the target direction is θobj, then the angle can be obtained as follows
Calculation symbols for heading and distance deviation.
The current heading angle deviation and lateral distance deviation are respectively
(29)
(30)
In order to keep the USV along the driving line of the river, traveling parallel to the river, and always maintaining the course parallel to the river, the PID controller is used to control the error of USV traveling along the waypoints, the input error includes the target heading deviation and target trajectory distance deviation, the PID controller designed for the output power is
(31)
where and are the power output of the left and right propellers of the USV. is the control input parameter for the propeller to maintain the uniform speed of the USV, , is the conversion coefficient from the left and right propellers to the offset control input of each thruster, is the control input corresponding to the yaw angle and lateral trajectory error.
According to the importance of the heading deviation and the distance deviation, adjust the yaw angle and the lateral distance error as the weight of the control input, and the adjustment method is as follows:
(32)
(33)
(34)
(35)
where , , and , , are the proportional gain coefficient, integral gain coefficient and differential gain coefficient of the heading angle and the lateral distance, and are the yaw angle and the lateral distance deviation between the running trajectory and the planned trajectory. The deviation is mainly caused by water flow, wind direction, and traction force etc. μ is the weight coefficient, when μ > 1, it will be set to 1 because it is close to the target and the distance error is controllable, only the heading error will be considered, when μ < 1, the smaller μ means the farther from the target, the priority is given to distance, and the distance error is weighted more heavily than heading error. The multi-objective optimization search for parameters suitable for the specified path and heading keeping is realized through automatic calibration during the USV driving process.
4.3 Obstacle avoidance
During the coastal autonomous-cruising process, the USV simultaneously detect the moving obstacles. If it encounters obstacles and there is a risk of collision, it detects the navigable areas on the left or right side of the obstacle, bypasses the obstacles through the navigable areas, and then continue to resume autonomous coastal cruising. Inspired by Tong et al. [41], we calculate the membership degree of collision risk [41] to determine whether collision avoidance measures need to be implemented. Firstly, the spatial collision risk membership function and the temporal collision risk membership function of the ith obstacle are calculated respectively according to the obstacle information detected by LiDAR. Secondly, the comprehensive collision risk coefficient of the ith obstacle is calculated by combining spatio-temporal factors:
(36)
where λ is the weight coefficient of spatio-temporal factors, and 0 < λ < 1. When CRI is greater than the threshold γ0, run obstacle avoidance mode and take collision avoidance measures based on the different situation of the encounter (meeting, crossing, overtaking). The collision avoidance plan includes overtaking, following, slowing down, parking etc. When CRI is less than the threshold γ0, the coastal autonomous cruise mode will be restored.
5 EXPERIMENTAL RESULTS AND ANALYSIS
This section introduces the experimental equipment and environment of USV, the evaluation of the river boundary detection algorithm and the results of detection. Finally, the statistical results of the river boundary detection running time of USV are presented, which proves the real-time and rationality of the proposed algorithm.
5.1 Sensors and data acquisition
As shown in Figure 13, the USV used in the experimental platform is a double-hull, double-screw and stern-type structure, and the whole ship is made of marine aluminium alloy or stainless steel. The ship is equipped with a Livox Horizon LiDAR, Hikvision high-speed industrial digital cameras, and CTI P3DU inertial navigation GPS.
Experimental platform and equipment of unmanned surface vehicle. (a) Experimental equipment of the USV, (b) the main sensors of the USV.
The Livox Horizon onboard is a non-repeatable scanning robotic LiDAR, which can provide much higher resolution than traditional LiDARs [31]. As shown in Figure 14, the effective field of view (FOV) of this sensor is 81.7° horizontally and 25.1° vertically. When the reflectivity of the target object is 80%, the farthest detection distance of the middle position of the FOV is about 260 m. The farthest detection distance of the edge position of the FOV will be shortened accordingly. In addition, the river channel has a fixed range in the field of view of the LiDAR, we extract the region of interest by filtering the redundant beams, which can effectively reduce the amount of point cloud data to improve the algorithm calculation speed.
In our experiment, the Livox Horizon sensor is installed on the top of the USV. The Cartesian coordinate system is shown in Figure 15. The X-axis is in front of the driving, the Z-axis is perpendicular to the earth, and the Y-axis is on the left side of the driving direction.
In order to verify the rationality and robustness of the proposed method, we have conducted experiments in various complex river environments, including straight and curved rivers, and conducted coastal autonomous cruise experiments and feasibility studies in narrow and wide river scenarios respectively. The river detection and autonomous cruise algorithm of the autonomous driving USV runs on IPC (Industrial Control Computer) in real time. The running speed of the USV experiment was 1.63 m/s. Point cloud data processing in the algorithm is based on PCL (Point Cloud Library).
The experimental site is around the Central Park in Suzhou, China. As shown in Figure 16, an example of the experimental scene is the river located in the Central Park. The edge of the rivers are highly structured and converted with different types of river areas.
The experimental river where we collected LiDAR point clouds.
5.3 Results of river boundary detection
We use the proposed algorithm to experiment in narrow and complex rivers. Figure 17 shows the detection results of the river boundary, which is displayed by MATLAB. The blue points are the point cloud data returned by the LiDAR on the river, the red line segments are the fitting results of the river boundary line, and the green line segments are the generated driving lines.
Calculation results of river boundary lines and driving lines for driving along the river side: (a–c) the results of driving line calculated with the centreline of the river; (d–f) the results of driving line calculated with the equidistant curve.
The experimental results show that the algorithm is accurate and reasonable for straight and curved rivers, and can accurately detect the boundary between water and the bank of structured river channels with different linear shapes, especially for detecting straight lines. In the scenes for curved and irregular channels, the result of detection is not as good as a flat channel. For the wide and remote river channel, the point clouds more than 50 meters away from the USV are very sparse. As a result, the fitting result of the boundary lines of the convex river channels is not as good as the smooth river channels, and the interference of the spatial distribution of obstacles and point clouds brings noises. However, after a large number of experiments, the above noise has little impact on the final river boundary fitting algorithm, which shows that the algorithm has good robustness.
5.4 Driving line tracking
We calibrate by grouping the external parameters of Lidar and GPS, then the point cloud and the position and attitude obtained from GPS/imu are fused and calibrated to obtain the environmental reconstruction results. The points of the LiDAR are in ENU format, and we converted them to ECEF coordinates by using the LiDAR position. The specific conversion formula is as follows [27]:
(37)
(38)
(39)
(40)
is the latitude and longitude format, r and are the intermediate variables calculated according to [28] and [29]. The calculated boundary lines and generated driving lines with GPS coordinates, and the running trajectory and attitude of coastal driving are shown in Figure 18. The experiment is divided into two scenarios: wide rivers and narrow rivers, the first scenario is driving along the river centre line on a narrow river and the second scenario is driving along the equidistant curve of the right boundary on a wide river. The USV is deviated from the planned trajectory due to wind and current, but it soon recovered to the correct trajectory after adjustment. Generally, the USV basically followed the planned driving line.
Boundary line calculation and GPS tracking of driving lines: (a,b) the calculated results with GPS coordinates; (c,d) the reconstructed lines which are overlaid on the satellite maps. (a) and (c) show the case that driving along the river centre line on a narrow river; (b) and (d) show the case that driving along the equidistant curve of the right boundary on a wide river.
5.5 Evaluation of river boundary detection algorithm
The algorithm was evaluated on a river data set marked with river boundary points, including several typical river environments: straight and curved rivers, unilateral and bilateral, and structured and unstructured river boundary detection for wide and narrow rivers. Since positioning and calibration errors always exist, the distance error threshold between the detection results and the marking results of the river bank boundary points was 15 cm. The algorithm was verified on the data set, and the points with errors less than the threshold were considered as the correct detection results. We choose three quantitative indicators (Precision, Recall and F1 score) in [38] and [39] to comprehensively evaluate the algorithm.
Table 1 shows the experimental comparison results between the method with full steps in this paper and the method with only spatial features extraction without geometric features (Geo-features) extraction and the method without EKF filtering. The test environment includes different scenarios of the linear rivers and curved rivers, unilateral and bilateral river boundary detection. It can be seen that the method is reasonable and robust, and the maximum detection rate of unilateral boundary points can reach 90.35%. The detection accuracy of spatial feature fusion of geometric features is improved by 22%, which shows that geometric features enhance the extraction of linear features. In addition, the detection accuracy of river boundaries after EKF filtering is improved by 9%. This shows that EKF can filter out noise points and further optimize the detection results.
TABLE 1.
Comparison results of river boundary detection using different features with our algorithm.
Straight river
Curved river
Quantitative
indicators
Extracted
features
Single boundary
Double boundary
Single boundary
Double boundary
Precision
Full features
90.35%
89.92%
84.27%
78.19%
Without Geo-features
68.21%
62.56%
48.63%
59.44%
Without EKF
81.43%
73.80%
72.54%
65.97%
Recall
Full features
84.23%
79.63%
77.39%
70.68%
Without Geo-features
66.49%
57.39%
46.36%
35.94%
Without EKF
84.67%
77.36%
78.32%
67.85%
F1
Full features
87.18%
84.46%
80.68%
74.25%
Without Geo-features
67.34%
59.86%
47.47%
44.80%
Without EKF
83.02%
75.54%
75.32%
66.90%
In addition, we compared the proposed algorithm with other methods (Shan et al. [17]) to evaluate the performance of river boundary detection. Comparative tests were conducted on different river scenarios, including different types of river boundary lines (straight and curved rivers) and different structural types (structured and unstructured rivers). As shown in Table 2, our algorithm can achieve good performance in the case of limited data sets. Shan's method has good detection results in a straight line, but our methods have more advantages in the detection of curved and unstructured rivers, which shows that our methods can adapt to more complex environments and has strong robustness. Because our method has considered the extraction of multiple features, and used the EKF to filter the noise points on the edge of rivers.
TABLE 2.
Comparison results between our methods and other methods.
We select 850 frames from the dataset to evaluate the real-time performance of the two algorithms. Figure 19 shows the comparative statistical results of the running time of each frame in the actual river detection. Although the running time of Shan's method fluctuates slightly, its average running time exceeds 100 ms, and our method's average calculation time is 66 ms, which can meet the real-time requirements of the application of USVs in inland rivers.
Running time statistics of the proposed algorithm.
6 CONCLUSIONS
This paper presents a real-time river boundary detection and autonomous cruise method for USV, which enriches the application of USV in civil areas and improves the possibility of the popularization of unmanned autonomous systems. A multi-feature fusion method for extracting candidate points of the river boundary line is proposed. The noise point cloud caused by water clutter and floating objects is filtered, then the boundary points are roughly extracted by extracting the height difference, density and slope characteristics of the point cloud, and the boundary points are precisely extracted by using the distance and angle thresholds. In addition, the EKF is used to track the river boundary points to optimize the detection results.
Based on the river detection results, a method of autonomous driving along the river side for USV is also proposed. The river side driving method calculates the centreline of the river channel or the equidistant curve as the target planning trajectory, and controls the USV to travel along the target trajectory through the adaptive PID control algorithm. The path planning generated by the autonomous cruise method does not need to rely on high-precision maps, which reduces the operating cost of the USV autonomous cruise. The comprehensive experimental evaluation clearly shows that our proposed method has good robustness and accuracy.
However, this work is based on fixed shape rivers. In future work, we will focus on solving the problem of river boundary detection in the case of complex polygonal rivers and multiple obstacles.
This work has been funded by the Anhui Province Key Laboratory of Affective Computing and Advanced Intelligent Machine, School of Computer Science and Information Engineering, Hefei University of Technology and the Environmental Pollution Control Research Department, Institute of Solid State Physics, Hefei Institutes of Physical Science, Chinese Academy of Sciences. The authors thank anonymous reviewers for their constructive comments, which helped improve the article. This research was funded by the National Natural Science Foundation of China (62176084 and 62176083), and the Fundamental Research Funds for the Central Universities of China (Grant nos. PA2022GDSK0068 and PA2022GDSK0066).
The data used to support the findings of this study are included within the article.
REFERENCES
1Turesinin, M., Kabir, A.M., Mollah, T., Sarwar, S., Hosain, M.S.: Aquatic iguana: A floating waste collecting robot with IOT based Water Monitoring System. In: 2020 7th International Conference on Electrical Engineering, Computer Sciences and Informatics (EECSI). pp. 21–25. IEEE, Yogyakarta, Indonesia (2020)
3Giron-Sierra, J.M., Gheorghita, A.T., Angulo, G., Jimenez, J.F.: Preparing the automatic spill recovery by two unmanned boats towing a boom: Development with scale experiments. Ocean Eng.95, 23–33 (2015)
5Rynne, P.F., von Ellenrieder, K.D.: A wind and solar-powered autonomous surface vehicle for sea surface measurements. In: OCEANS 2008. pp. 2110–2115. IEEE, Quebec City, QC, Canada (2008)
7Ferri, G., Manzi, A., Fornai, F., Ciuchi, F., Laschi, C.: The HydroNet ASV, a small-sized autonomous catamaran for real-time monitoring of water quality: From design to missions at sea. IEEE J. Oceanic Eng.40(3), 710–726 (2015)
8Dun, M., Grinham, A.: Experimental evaluation of an autonomous surface vehicle for water quality and greenhouse gas emission monitoring. In: 2010 IEEE International Conference on Robotics and Automation. 2010. pp. 5268–5274. IEEE, Anchorage, AK, USA (2010)
9Kim, T., Kim, J.: Panel-based Bathymetric Slam with a multibeam echosounder. In: 2017 IEEE Underwater Technology (UT). pp. 1–5. IEEE, Busan, Korea (South) (2017)
10Han, J., Cho, Y., Kim, J.: Coastal Slam with marine radar for USV operation in GPS-restricted situations. IEEE J. Oceanic Eng.44(2), 300–309 (2019). https://doi.org/10.1109/JOE.2018.2883887
13Song, R., Liu, Y., Bucknall, R.: A multi-layered fast marching method for unmanned surface vehicle path planning in a time-variant maritime environment. Ocean Eng.129, 301–317 (2017). https://doi.org/10.1016/j.oceaneng.2016.11.009
14Chen, L., Shan, Y., Tian, W., Li, B., Cao, D.: A fast and efficient double-tree-like sampling-based planner applying on mobile robotic systems. IEEE/ASME Trans. Mechatron.23(6), 2568–2578 (2018). https://doi.org/10.1109/TMECH.2018.2821767
15Wang, J., Gu, W., Zhu, J.: Design of an autonomous surface vehicle used for marine environment monitoring. In: 2009 International Conference on Advanced Computer Control. pp. 405–409. IEEE, Singapore (2009)
16Chen, X., Lai, Z., Li, W., Cheng, X.: Research on some key technologies of features extraction from Lidar data in Coastal Zone. In: 2009 International Conference on Information Engineering and Computer Science. pp. 1–3. IEEE, Wuhan, China (2009)
19Wang, Q., Zhong, M., Shi, G., Zhao, J., Bai, C.: Route Planning and tracking for ships based on the Ecdis Platform. IEEE Access9, 71754–71762 (2021). https://doi.org/10.1109/ACCESS.2021.3078899
20Xiao, S., Yu, D., Li, M., Sheng, L., Lu, W., Zhu, L., et al.: Research on multi-mode control system and autonomous cruise method for unmanned surface vehicles. In: 2022 IEEE 6th Information Technology and Mechatronics Engineering Conference (ITOEC). pp. 1690–1695. IEEE, Chongqing, China (2022)
21Wang, B., Su, Y., Wan, L.: A sea-sky line detection method for unmanned surface vehicles based on gradient saliency. Sensors16(4), 543 (2016). https://doi.org/10.3390/s16040543
22Yao, L., Kanoulas, D., Ji, Z., Liu, Y.: ShorelineNet: An efficient deep learning approach for shoreline semantic segmentation for unmanned surface vehicles. In: 2021 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). pp. 5403–5409 (2021)
24Dong, Y.-F., Zhu, C., Zhang, Y.-F., Wang, A.-B.: Extracting Sea-sky-line based on improved local complexity. In: 2010 International Conference on Computer, Mechatronics, Control and Electronic Engineering. pp. 82–85. IEEE, Changchun, China (2010)
25Lan, J., Jia, Z., Wu, C., Yang, J.: Sea-land-line extraction using weighted optimum neighborhood algorithm. In 2013 International conference on Optical Instruments and Technology (OIT) – Optoelectronic Imaging and Processing Technology. pp. 1–6. SPIE Proceedings, Beijing, China (2013)
26Gong, X., Subramanian, A., Wyatt, C.: A two-stage algorithm for shoreline detection. In: 2007 IEEE Workshop on Applications of Computer Vision (WAC V '07). pp. 1–6. IEEE, Austin, TX, USA (2007)
27Senapati, M., Anand, B., Barsaiyan, V., Rajalakshmi, P.: Geo-referencing system for locating objects globally in Lidar Point Cloud. In: 2020 IEEE 6th World Forum on Internet of Things (WF-IoT). pp. 1–5. IEEE, New Orleans, LA, USA (2020)
32Zai, D., Li, J., Guo, Y., Cheng, M., Lin, Y., Luo, H., et al.: 3-D road boundary extraction from mobile laser scanning data via Supervoxels and graph cuts. IEEE Trans. Intell. Transp. Syst.19(3), 802–813 (2018). https://doi.org/10.1109/TITS.2017.2701403
34Wang, H., Luo, H., Wen, C., Cheng, J., Li, P., Chen, Y., et al.: Road boundaries detection based on local normal saliency from Mobile Laser Scanning Data. IEEE Geosci. Remote Sens. Lett.12(10), 2085–2089 (2015). https://doi.org/10.1109/LGRS.2015.2449074
36Yang, T., Guo, Y., Zhou, Y., Wei, S.: Joint communication and control for small underactuated USV based on mobile computing technology. IEEE Access7, 160610–160622 (2019). https://doi.org/10.1109/ACCESS.2019.2931459
38Powers, D.: Evaluation: From precision, recall and F-measure to ROC, informedness, markedness and correlation. J. Mach. Learn. Technol.2, 37–63 (2011)
41Xinchi, T., Huajun, Z., Wenwen, C., Peimin, Z., Zhiwen, L., Kai, C.: A research on intelligent obstacle avoidance for unmanned surface vehicles. In: 2018 Chinese Automation Congress (CAC). pp. 1431–1435. IEEE, Xi'an, China (2018)
Please check your email for instructions on resetting your password.
If you do not receive an email within 10 minutes, your email address may not be registered,
and you may need to create a new Wiley Online Library account.
Request Username
Can't sign in? Forgot your username?
Enter your email address below and we will send you your username
If the address matches an existing account you will receive an email with instructions to retrieve your username