Next Article in Journal
Research on the Intelligent Construction of UAV Knowledge Graph Based on Attentive Semantic Representation
Previous Article in Journal
OwlFusion: Depth-Only Onboard Real-Time 3D Reconstruction of Scalable Scenes for Fast-Moving MAV
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

EF-TTOA: Development of a UAV Path Planner and Obstacle Avoidance Control Framework for Static and Moving Obstacles

School of Mechatronical Engineering, Beijing Institute of Technology, Beijing 100081, China
*
Author to whom correspondence should be addressed.
Drones 2023, 7(6), 359; https://doi.org/10.3390/drones7060359
Submission received: 6 May 2023 / Revised: 23 May 2023 / Accepted: 27 May 2023 / Published: 29 May 2023

Abstract

:
With the increasing applications of unmanned aerial vehicles (UAVs) in surveying, mapping, rescue, etc., the security of autonomous flight in complex environments becomes a crucial issue. Deploying autonomous UAVs in complex environments typically requires them to have accurate dynamic obstacle perception, such as the detection of birds and other flying vehicles at high altitudes, as well as humans and ground vehicles at low altitudes or indoors. This work’s primary goal is to cope with both static and moving obstacles in the environment by developing a new framework for UAV planning and control. Firstly, the point clouds acquired from the depth camera are divided into dynamic and static points, and then the velocity of the point cloud clusters is estimated. The static point cloud is used as the input for the local mapping. Path finding is simplified by identifying key points among static points. Secondly, the design of a trajectory tracking and obstacle avoidance controller based on the control barrier function guarantees security for moving and static obstacles. The path-finding module can stably search for the shortest path, and the controller can deal with moving obstacles with high-frequency. Therefore, the UAV can deal with both long-term planning and immediate emergencies. The framework proposed in this work enables a UAV to operate in a wider field, with better security and real-time performance.

1. Introduction

Unmanned aerial vehicles (UAVs) have been used more often in several industries in recent years, including surveying and mapping, rescue, patrol, reconnaissance and cluster attacks [1,2,3,4,5]. With the miniaturization of onboard computers and stereo cameras, UAVs can replace humans to complete complex tasks in harsh environments. Moreover, the rapid development of simultaneous localization and mapping (SLAM) has realized UAV autonomous flight in unknown environments [6,7]. As a result, the safe flight of UAVs has become a hot topic, and motion planning and control are inextricably linked to safety.
Recently, UAV motion planning has made great progress. The Fast planner [8,9,10] adopts a kinodynamic and topological method to search for a safe and feasible trajectory in the discretized control space of a quadrotor, achieving good experimental results in static environments. The topology-guided kinodynamic (TGK) planner [11] is a lightweight planner, but moving obstacles are not considered. The Ego planner [12] takes an optimistic approach to simplify the front-end path search, optimizing rough initial paths into feasible trajectories, making the algorithm more lightweight without using a Euclidean signed distance function (ESDF) map. In general, two main path planning methods include searching-based and sampling-based. Searching-based methods can often find the optimal path, but it takes more time in 3D grid maps [13,14,15]. The sampling-based method can quickly find the reachable path, but it is often a suboptimal solution [16,17,18].
Furthermore, some local planners concerning a dynamic environment have been proposed recently. The vision-based dynamic environment motion planning of quadrotors by online replanning was realized in [19], but the framework for avoidance was limited by the frequency of the planner. The EB-RRT local planner, proposed in [20], performed real-time optimal motion planning for a mobile robot in a dynamic environment by combining the elastic band and RRT. The work improved the planner but presented more expensive computational complexities. As shown in Figure 1, a lightweight and reactive method is more applicable for safety when there is a moving obstacle blocking the origin trajectory. The UAV should have the ability to avoid obstacles whilst tracking the origin trajectory.
As for obstacle avoidance control of an unmanned system, there are many methods for safety verification. Two popular approaches are the Hamilton–Jacobi (HJ) reachable set and the control barrier function (CBF) [21,22]. As the dimensions of state space increase, computing the HJ reachability set becomes increasingly expensive, while the CBF offers real-time system safety with low computational complexity [22]. Therefore, the CBF has been applied in many fields, such as bipedal robots [23] and mobile vehicles [24]. However, the CBF cannot be directly used in high-order systems for its special property. For this reason, Q. Nguyen used the CBF for the safety of high-relative-degree systems, using back-stepping to derive the control inputs, which is complex and difficult [25].
As a result, we aim to establish a more generic architecture of planning and control to handle the common environment. On the one hand, incremental establishment of feature points of the static environment can make the path shorter and search faster. A more simplified front-end can be developed by detecting the environmental feature points to quickly find the shortest path. Concretely, corner points in a static environment are obtained by 3D point cloud feature extraction. In case the target cannot be reached directly, the shortest path always passes through the obstacle corners. Based on the construction of the boundary point graph, only the corner points become expanded when expanding the neighbour nodes. A small amount of data is maintained in an open list, saving memory for queue sorting and neighbour node expanding. On the other hand, the essential difference between planning and control is that motion planning has no feedback over a long period of time, which is an open-loop control, while control has feedback over a shorter period, which is closed-loop planning. Moving obstacles have uncertain displacement in a planning period, so the open-loop method is unsuitable. Figure 1 shows that moving obstacles in the local map occupy the original trajectory in the replanning horizon, and the UAV has no time to plan a new trajectory. The two main modules in this work are the environment feature-based (EF) planner and the trajectory tracking and obstacle avoidance (TTOA) controller.
The main contributions of this work are listed as follows:
(1)
EF planner
We proposed an efficient planner where front-end path finding is based on the environment feature points of obstacles, and the back-end trajectory optimization uses the convex hull property of a B-spline curve to ensure the safety of the trajectory from the corners of obstacles. Our planner can quickly find the shortest path and achieve a smooth and safe trajectory.
(2)
TTOA controller
Our developed controller is based on the CBF and can track the trajectory while avoiding moving obstacles in the environment with a small amount of computation without losing the original tracking.
(3)
EF-TTOA framework for a common environment
The EF-TTOA is a more general architecture that deals with the common environment. The new framework can make an autonomous UAV have both long-term planning ability and temporary adaptability.
The rest of the paper is arranged as follows. Section 2 introduces the detailed method of UAV planning and control in a common environment where static and dynamic obstacles exist simultaneously. Section 3 describes the implementation of the simulation experiment based on the robot operating system (ROS). Section 4 presents the conclusions from this work and briefly describes future work.

2. Methods

The goal of this work is to address a UAV’s autonomous navigation in typical surroundings. We proposed a framework for planning and controlling a quadrotor UAV to achieve both target arrival and obstacle avoidance. The schematic diagram of the planning and control method flow is presented in Figure 2. Firstly, it is necessary to classify the detected continuous frames of point clouds into two classes, dynamic and static. The static point clouds are built as a map, while the dynamic point clouds are removed and used as the input for the trajectory tracking and obstacle avoidance (TTOA) controller after position and velocity estimation. Second, both the front- and back-end of the suggested EF planner have seen significant development. Path finding only focuses on a few key points that are boundary and corner points of the point cloud map. The back-end generates a B-spline curve based on the path and optimizes the trajectory by using the convex hull property. Finally, the TTOA controller is designed including trajectory tracking control and obstacle avoidance control based on the CBF. The TTOA controller can track the planned trajectory and avoid moving obstacles.

2.1. EF Planner

A requirement for the motion planning and control of the UAV is the perception of obstacles. Obstacles in the real world can be both moving and static. We use DBSCAN [26] and the voting of an individual point to classify obstacles based on several continuous frames of the point cloud [27]. The overall process is shown in Figure 3. First, the average velocity of each point cloud is calculated after ground filtering and down-sampling. Then the velocity of each point cloud cluster is obtained by Equation (1), where v i is the velocity of obstacle, t is time, p t and p t 1 represent the position in current and previous frame, respectively, n is the number of points contained in the cluster, and Δ t represents the time interval between two frames. When the point cloud velocity v i is greater than v m a x (0.3 m· s 1 ), the object is categorized as a dynamic object because the UAV is already at risk from it. Furthermore, if a point’s velocity exceeds v m a x , the point will vote for it to be dynamic. The obstacle will be recognized as a dynamic obstacle if the ratio of dynamic votes N v o t e over valid points N v a l i d is higher than another threshold D r a t i o , represented in (2). Finally, two classifications of dynamic and static obstacles are obtained.
v i = 1 n p t p t 1 Δ t
D r a t i o = N v o t e N v a l i d

2.1.1. Environment Feature Detection

The planner processes the static point cloud following the aforementioned classifications, while the controller handles the dynamic point cloud due to its temporal variability. The obstacle space is much smaller than the free space, so our work just focuses on the key points of static environments in path searching. Inspired by time elastic bands (TEB) [28,29] and jump point search (JPS) [30,31], a new front-end local planning approach is proposed. Similar to the elastic band, Figure 3 shows that the path stretches into a straight line when there are no obstacles between the starting point and the target. The elastic band will always go around some obstacle corners when the start point and target are blocked. Therefore, the planner includes two parts, the extraction of environmental feature points and the design of a path planner based on these points. To efficiently identify the shortest path in a complex environment, the system must concentrate on the boundary feature points of obstacles. By constructing a graph based on these points, we can perform a graph search algorithm to find the optimal path Figure 4 and Figure 5.
Feature extraction for the down-sampled occupancy grid map can greatly reduce the search time. Only the edge and corner information is taken into account when determining the actual path, while the point cloud occupation is used as the gradient information for the three-dimensional convolution with the Prewitt kernel [32]. By selecting the appropriate kernel, the key feature points of the environment can be effectively obtained. Algorithm 1 demonstrates the entire proposed environment feature detection system for motion planning. To extract features from a grid map’s point cloud, a sliding window is used to convolve in three dimensions, moving in different directions. This process computes the point gradient changes within the window and ultimately calculates each point’s Harris response value. These values allow for the characterization of each individual point in the point cloud. The occupation map is a binary map that distinguishes between obstructed and free configuration spaces. In this type of map, areas with obstacles are represented by “true” while “false” represents free space. Subsequently, the occupation gradient is calculated so that the gradient changes of each point are summed in Equation (3).
S ( x , y ) = u v w ( u , v ) [ I ( u , v ) I ( u + x , v + y ) ] 2
The gradient change can be simplified by the first two items of the Taylor expansion and then expressed as a difference by (4).
I ( u + x , v + y ) I ( u , v ) + d I d x ( u , v ) x + d I d y ( u , v ) y
Therefore, the occupation gradient of this point changes as shown in Equation (5).
S ( x , y ) u v w ( u , v ) [ d I d x ( u , v ) x + d I d y ( u , v ) y ] 2
The covariance matrix M is constructed after the gradient change in each direction of the obstacle point cloud is obtained. The response value R of points can be obtained through matrix M, where R = d e t ( M ) k · t r a c e ( M ) 2 , and sparse corner points can be obtained by further filtering, as shown in Algorithm 1.
Algorithm 1 Environment feature detection
Drones 07 00359 i001

2.1.2. Path Planning

In contrast to the random search method of local sampling, this work establishes the sparse search space with points as a visual graph on the basis of accurately obtaining the potential waypoints and then uses the heuristic search algorithm to finally obtain the shortest path. This work uses Algorithm 2-based A* for path finding. P is the feature points set and G is the graph constructed by these points. Unlike the traditional A*, the neighbour node of each point is not the neighbour node of the grid map but all the visual nodes after collision detection at a certain point. In addition, the global search space can be stored for a return trip. It is unnecessary to repeatedly map and search the explored environment as it can be reused with one accurate exploration.  
Algorithm 2 Path finding
Drones 07 00359 i002

2.1.3. Trajectory Generation and Optimization

Because this cannot be fed directly to the UAV for operation after using the above method to find the shortest path, it is necessary to generate a safe, smooth and dynamic feasible trajectory. The trajectory must be dynamically feasible for the UAV and collision-free. We use the uniform B-spline curve as the UAV trajectory. Because of its benefits, we utilize a B-spline curve for the UAV’s trajectory. For instance, the convex hull property and features of a B-spline derivative are still a B-spline curve. Both of these properties effectively assist us to ensure that the trajectory is collision-free during gradient optimization. The former property makes it simpler for us to impose the dynamic constraints of the UAV on the trajectory. The three basic elements of a B-spline curve are the degree P b , control points { Q 0 , Q 1 , , Q N } and knot vector [ t 0 , t 1 , , t M ] . The complete description of the B-spline curve used here is as defined in Equation (6).
p ( s ( t ) ) = s ( t ) T M p b + 1 q m s ( t ) = [ 1 s ( t ) s p b t ( t ) ] T q m = [ Q m P b Q m P b + 1 Q m P b + 2 Q m ]
where p b set as 3 and M p b is a constant matrix [33], Q N R 3 . The cost function is defined in Equation (7).
J = J c + J d
where J c and J d ensure the safety and dynamic feasibility of the trajectory, respectively.
The trajectory optimization is based on the ESDF map. In order to ensure the smoothness and safety of the trajectory, we transform the trajectory optimization of this work into an optimization problem with inequality constraints, as shown in Equation (8). The smoothness of the trajectory is the goal of the objective function. Using the B-spline’s convex hull property, the constraint inequality makes sure that the trajectory close to the obstacle’s corner does not encroach into its interior.
The convex quadrilateral produced by four knots on either side of the corner point is outside the obstruction, according to the inequality constraint, guaranteeing the safety of the associated stage. Figure 6 illustrates the steps taken to develop the initial trajectory into a feasible trajectory. The green line shows the optimum safety trajectory, while the red arrows indicate the gradient field formed by obstacles that push the orange initial trajectory outward.
J c = i = p b 1 N p b + 1 Q i + 1 2 Q i + Q i 1 s . t . ( A Q i : i + 3 B Q j ) · e s d f ( Q j ) 0
where Q j is the corner point in the initial path and e s d f ( Q j ) represents the gradient vector of the ESDF map at the corner point. The matrices A and B represent the convex hull and are defined below.
A = 1 0 0 0 0 0 0 1 1 1 0 0 0 0 1 1 , B = 1 1 0 0 .
J d is an additional cost function ensuring the dynamic feasibility of the UAV, as shown in Equation (9). This achieves the dynamic feasibility of the entire trajectory by punishing points that exceed the UAV’s velocity and acceleration control points.
J d = i = p b 1 N p b f d ( V i ) + i = p b 2 N p b f d ( A i )
where f d ( v ) = m a x ( 0 , v 2 v m a x 2 ) 2 , V i = Q i + 1 Q i Δ t and A i = Q i + 1 Q i Δ t represent the velocity and acceleration at each trajectory control point, respectively.

2.2. TTOA Controller

In this section, the TTOA controller is developed from the CBF based on quadrotor dynamics. First, the basic theory of the CBF is introduced and a more common method is developed based upon it. Second, the TTOA controller is designed for flexible trajectory tracking and obstacles avoidance.

2.2.1. Control Barrier Function

Firstly, a non-linear affine control system is considered in Equation (10).
x ˙ = f ( x ) + g ( x ) u
where x R n , f : R n R n , g : R n × m R n are locally Lipschitz. u ( x , t ) is the input of the system. Similar to the control-Lyapunov function (CLF) expanded from the Lyapunov function, the CBF is an extension-form barrier function to systems with control inputs. The ordinary Lyapunov function is used to verify a system’s stability while CLF is used to find feasible control such that the system can be brought to the zero state asymptotically. The CBF is used to limit the controller so that the system state x does not enter domain D. Therefore, the difference is that the former ensures the stability of the system, while the latter ensures the safety of the system. Considering affine systems (10), the main role of the CBF is to construct a safe set described as the barrier function h ( x ) : D R n R , yielding Equation (11):
C = x ϵ D R n : h x 0 C = x ϵ D R n : h x = 0 I n t C = x ϵ D R n : h x > 0 .
By designing a suitable control input invariant set, the system state is limited to the safe set C. Let C D R n be the super-level set of a continuously differentiable function h : D R , then h is a CBF if an extended class K function γ exists for the control system (Figure 7).
sup u U L f h x + L g h x u γ h x
where h ˙ ( x ) = L f h ( x ) + L g h ( x ) u for all x D . Usually, a CBF-QP is used to form a quadratic programming (QP) problem as shown in Equation (13).
u x = arg min u R m 1 2 ( u u n ) T H ( u u n ) s . t . L f h x + L g h x u γ h ( x )
As a powerful tool for system safety, the CBF requires that the first derivative of the barrier function must explicitly include control input u ( x , t ) , which cannot be directly applied to high-order systems. A high-relative-degree constraint means that the n-order derivative of the obstacle function contains a control input, n 2 . Therefore, this work proposes a new type of CBF for quadrotors by using the relative velocity and position between the UAV and obstacles.

2.2.2. TTOA Controller Design

The translation and rotation of a quadrotor, described as the Newton–Euler function, is shown in Equation (14). The UAV’s position is controlled by changing its thrust f R and altitude R S O ( 3 ) , controlled by moment M R 3 .
x = v ˙ s . m v ˙ s . = m g e 3 + f R e 3 R ˙ = R Ω ^ J Ω ˙ + Ω × J Ω = M
where x R 3 and v R 3 are the position and velocity of the UAV, respectively, and f is the thrust of the UAV. Ω R 3 represents the angular velocity of the UAV, J R 3 × 3 is the inertia matrix with respect to the body-fixed frame. e 3 = [ 0 ; 0 ; 1 ] R 3 is z-axis of the inertial frame. The hat map . ^ : R 3 s o ( 3 ) aims to convert a vector into an anti-symmetric matrix.
In contrast to the traditional tracking controller [34], the controller in this work needs to deal with static and moving obstacles on the track. The block diagram of the closed-loop system is shown in Figure 7. The main work this section describes the controller’s design. x d and b 1 d are the desired position and yaw obtained from the trajectory, respectively. Quadratic optimization is used to constrain the thrust of the UAV to ensure safety when facing obstacles. Before this, the desired roll angle of the UAV is altered according to the barrier function h ( · ) . The new desired altitude R * is used as the reference input of the altitude tracking controller. Finally, trajectory tracking, quadratic optimization constrained by the CBF, altitude modulation and altitude tracking constitute the complete TTOA controller.
In order to avoid moving obstacles, the CBF needs to contain motion information of the obstacle. Therefore, a velocity obstacle method is introduced into the CBF to constrain the velocity of the UAV. The CBF proposed this work can be defined by Equation (15)
h ( x ) = v r T H v r r o 2 v r T v r
where H = [ d T d I d d T ] is a symmetric matrix, constructed from the distance between the UAV and the obstacle. r o is the radius of the obstacle contour. v r is the velocity of the UAV relative to the obstacle. h ( x ) 0 indicates that v r is falling into the obstacle area during flight. Through the Lie derivative of h ( x ) , we can obtain h ˙ ( x ) from Equation (16).
h ˙ ( x ) = 2 H v r v ˙ r + v r T H ˙ v r 2 r o 2 v r T v ˙ r
where v r = g e 3 f m R * e 3 , H ˙ = v r T d + d T v r 2 d v r T . R * = R d R θ presents rolling based on the original expected altitude, while R d and R θ are the desired altitude and rotation matrices of the UAV, respectively. According to the dynamics of the trajectory, we can adjust the feasible roll of the UAV to avoid obstacles. c and s represent c o s ( ϑ ) and s i n ( ϑ ) , respectively. ϑ is a function of h ( x ) and b is a sign function describing the left or right roll of the UAV, obtained according to the original trajectory. Roll satisfies the dynamic constraints of the UAV by adjusting l and k.
R ϑ = 1 0 0 0 c s 1 s c , ϑ = b π 2 ( 1 + e l k B ( x ) )
Therefore, by rewriting Formula (13), trajectory tracking and obstacle avoidance can be transformed into a QP problem by Equation (17). To avoid obstacles in real time, the optimal control must be solved online at each step. It is easy to find a closed-form solution to the QP program. For a low-dimensional QP with clear physical meaning, finding a closed-form solution greatly improves the real-time performance. In this work, the objective function is the quadratic function concerning thrust. As shown in Figure 8, gradient zones O i represent constraints caused by obstacles. f [ 0 , f m a x ] is the feasible control space and the approach of each obstacle will form a constraint to the UAV. The vertical lines are far from the nominal thrust f n , when no obstacles are encountered. The constraints of the optimization problem are not activated, so the optimal control is the nominal inputs. As the obstacle approaches, the feasible control input space decreases as the lines move closer, and the optimal solution occurs at the lowest intersection of the lines and the quadratic curve.
u x = arg min u R m 1 2 ( f f n ) 2 s . t . L f h i x + L g h i x u γ h i ( x ) f f m a x
where i indicates the serial number of the obstacles. Finally, the TTOA controller contains two parts: thrust and attitude. A reasonable expected altitude R * can expand the feasible range of the UAV’s thrust. In general, this can improve the obstacle avoidance ability of the UAV.
f * = f n m a x ( L g h i ( x ) f n γ h i ( x ) ) L g h i ( x ) R * = R d R ϑ

3. Simulation and Discussion

We simulated the EF planner and TTOA controller with static and mixed environments, respectively. The static environment was randomly generated by a point cloud map kit for random tests. The more general situation included dynamic and static obstacles, simulated in the ROS-Gazebo-PX4 SITL environment. Figure 9 shows the simulation framework in the general obstacle environment. All modules were simulated on an Intel Core i7-10700F [email protected] with 16 G SSD.

3.1. Simulation of the EF Planner with a Static Environment

The EF planner proposed in this work is implemented in C++11 with an open project 3D point cloud processing point cloud library (PCL). Feature extraction and path search is based on down-sampled environmental obstacle point clouds. The back-end trajectory optimization adopts the B-spline optimization method and uses the gradient of the ESDF map to push the trajectory to a more spacious position.
In Figure 10, the blue blocks are obstacles in the environment, the green points are the corresponding feature points, and the purple disks and curve represent the UAV and its trajectory, respectively. The UAV marks and stores the edges and corners of the obstacle when continuously exploring the unknown environment, and the environmental feature points on the whole flight path are saved in a small storage memory.
The trajectory of the UAV bypassing obstacles is continuous and smooth. Figure 11 shows the comparison of time consumption for path finding and the length of the trajectory from (0,0,1) to (5,0,1) with different obstacle densities. Each group of data is the average of 10 tests. The path found by the proposed method in this work is obviously the shortest. The proposed planner takes less time than the state-of-the-art planners as the barriers become sparse. The EF planner can quickly search for the shortest path and generate a trajectory within 10 ms. Compared with the planner in [9], only feature points are considered in the process of path finding, reducing the sampling time and increasing the accuracy of the path. The search space of the proposed method is reduced to a sparse set of points, thus reducing the search time. However, as the density of obstacles increases, the proposed method requires more time to process the point cloud of features. Therefore, when the obstacle density is greater than 0.25, the proposed method takes more time than [9]. Therefore, the proposed method is unsuitable for situations where obstacles exceed 0.4. Generally speaking, 0.4 is already an extremely large number of obstacles.

3.2. Simulation of the Proposed Framework with a Mixed Scene

In order to verify the performance of the EF-TTOA framework in mixed scenarios, we realized this simulation with the ROS-Gazebo-PX4 open-source platform. As shown in Figure 12, the simulation environment is built in Gazebo. The UAV needs to cross the obstacle-filled environment from the initial position (0,0,1) to the goal (45,0,1.25). There is no effective way to deal with moving people and coloured cubes in the environment using the existing planners. The EF-TTOA framework can improve the success rate of the task.
Figure 13 shows the comparison of the actual flight trajectory with [9,12]. The planned and real trajectory of the proposed work are red and blue, respectively. The planner proposed in [9] fails to deal with moving dynamic obstacles, while the planner proposed in [12] always flies with a longer trajectory. It can be seen that the UAV can not only fly smoothly in the static environment, but also fly safely in the environment with moving obstacles. Figure 14 shows the position and yaw of the UAV. The simulation shows that our approach is able to find the shortest and smoothest path compared with the existing planners. In addition, our method is more applicable because the dynamic obstacle avoidance problem is delegated to the obstacle avoidance controller with higher-frequency. Compared with existing methods, our method has the advantage of a stronger ability to deal with a dynamic environment. In the simulation, it was found that adding roll angle modulation can more easily realize the obstacle avoidance-based CBF.

4. Conclusions

In this work, a systematic planning and control technique for autonomous and flexible obstacle avoidance for UAVs is proposed. The EF planner constructs a fast front-end with a smaller search space and back-end with concise optimization for smoothness and corner collision-free trajectories. The control input is obtained by solving the CBF-QP problem with a closed-form solution. For moving obstacles, the controller rather than the planner performs the actions faster. Therefore, the EF-TTOA framework can handle more general scenarios. This technology is of great significance to other UAVs.
For further consideration, the method will be extended to fixed-wing UAVs for flying past obstacles, similar to a bird moving sideways or contracting its wings through a narrow channel.

Author Contributions

Conceptualization, H.D. and Z.W.; methodology, H.D.; project administration, H.D. and Z.W.; software, H.D.; supervision, X.Z. and Z.W.; validation, Z.W. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the Armament Pre Research Project Foundation of China, grant number 627010702.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Cabreira, T.M.; Brisolara, L.B.; Paulo, R.F.J. Survey on coverage path planning with unmanned aerial vehicles. Drones 2019, 3, 4. [Google Scholar]
  2. Vergnano, A.; Franco, D.; Godio, A. Drone-borne ground-penetrating radar for snow cover mapping. Remote Sens. 2022, 14, 1763. [Google Scholar]
  3. Idrissi, M.; Salami, M.; Annaz, F. A Review of Quadrotor Unmanned Aerial Vehicles: Applications, Architectural Design and Control Algorithms. J. Intell. Robot. Syst. 2022, 104, 1–33. [Google Scholar]
  4. Manikandan, K.; Sriramulu, R. Optimized path planning strategy to enhance security under swarm of unmanned aerial vehicles. Drones 2022, 6, 336. [Google Scholar]
  5. Jiang, B.; Qin, K.; Li, T.; Lin, B.; Shi, M. Robust Cooperative Control of UAV Swarms for Dual-Camp Divergent Tracking of a Heterogeneous Target. Drones 2023, 7, 306. [Google Scholar]
  6. Qin, T.; Pan, J.; Cao, S.; Shen, S. A general optimization-based framework for local odometry estimation with multiple sensors. arXiv 2019, arXiv:1901.03638. [Google Scholar]
  7. Huang, F.; Yang, H.; Tan, X.; Peng, S.; Tao, J.; Peng, S. Fast reconstruction of 3D point cloud model using visual SLAM on embedded UAV development platform. Remote Sens. 2020, 12, 3308. [Google Scholar]
  8. Zhou, B.; Gao, F.; Wang, L.; Liu, C.; Shen, S. Robust and efficient quadrotor trajectory generation for fast autonomous flight. IEEE Robot. Autom. Lett. 2019, 4, 3529–3536. [Google Scholar]
  9. Zhou, B.; Gao, F.; Pan, J.; Shen, S. Robust Real-time UAV Replanning Using Guided Gradient-based Optimization and Topological Paths. arXiv 2019, arXiv:1912.12644. [Google Scholar]
  10. Zhou, B.; Pan, J.; Gao, F.; Shen, S. RAPTOR: Robust and Perception-aware Trajectory Replanning for Quadrotor Fast Flight. arXiv 2020, arXiv:2007.03465. [Google Scholar]
  11. Ye, H.; Zhou, X.; Wang, Z.; Xu, C.; Chu, J.; Gao, F. Tgk-planner: An efficient topology guided kinodynamic planner for autonomous quadrotors. IEEE Robot. Autom. Lett. 2020, 6, 494–501. [Google Scholar]
  12. Zhou, X.; Wang, Z.; Ye, H.; Xu, C.; Gao, F. EGO-Planner: An ESDF-Free Gradient-Based Local Planner for Quadrotors. IEEE Robot. Autom. Lett. 2021, 6, 478–485. [Google Scholar]
  13. Liu, S.; Atanasov, N.; Mohta, K.; Kumar, V. Search-based motion planning for quadrotors using linear quadratic minimum time control. In Proceedings of the 2017 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Vancouver, BC, Canada, 24–28 September 2017; pp. 2872–2879. [Google Scholar]
  14. Ming, T.; Zhang, D.; Ming, L.; Baohai, W. Tool path generation for clean-up machining of impeller by point-searching based method. Chin. J. Aeronaut. 2012, 25, 131–136. [Google Scholar]
  15. Zhou, W.J.; Fei, Z.X.; Hu, H.S.; Liu, L.; Li, J.N.; Smith, P.J. Real-time object subspace searching based on discrete searching paths and local energy. Int. J. Autom. Comput. 2016, 13, 99–107. [Google Scholar]
  16. Karaman, S.; Frazzoli, E. Sampling-based algorithms for optimal motion planning. Int. J. Robot. Res. 2011, 30, 846–894. [Google Scholar]
  17. Wei, K.; Ren, B. A method on dynamic path planning for robotic manipulator autonomous obstacle avoidance based on an improved RRT algorithm. Sensors 2018, 18, 571. [Google Scholar]
  18. Sakcak, B.; Bascetta, L.; Ferretti, G.; Prandini, M. Sampling-based optimal kinodynamic planning with motion primitives. Auton. Robot. 2019, 43, 1715–1732. [Google Scholar]
  19. Wang, Y.; Ji, J.; Wang, Q.; Xu, C.; Gao, F. Autonomous flights in dynamic environments with onboard vision. In Proceedings of the 2021 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Prague, Czech Republic, 27 September–1 October 2021; pp. 1966–1973. [Google Scholar]
  20. Wang, J.; Meng, M.Q.H.; Khatib, O. EB-RRT: Optimal motion planning for mobile robots. IEEE Trans. Autom. Sci. Eng. 2020, 17, 2063–2073. [Google Scholar]
  21. Bansal, S.; Chen, M.; Herbert, S.; Tomlin, C.J. Hamilton-jacobi reachability: A brief overview and recent advances. In Proceedings of the 2017 IEEE 56th Annual Conference on Decision and Control (CDC), Melbourne, Australia, 12–15 December 2017; pp. 2242–2253. [Google Scholar]
  22. Li, Z. Comparison between safety methods control barrier function vs. reachability analysis. arXiv 2021, arXiv:2106.13176. [Google Scholar]
  23. Nguyen, Q.; Hereid, A.; Grizzle, J.W.; Ames, A.D.; Sreenath, K. 3D dynamic walking on stepping stones with control barrier functions. In Proceedings of the 2016 IEEE 55th Conference on Decision and Control (CDC), Vegas, NV, USA, 12–14 December 2016; pp. 827–834. [Google Scholar]
  24. Ames, A.D.; Coogan, S.; Egerstedt, M.; Notomista, G.; Sreenath, K.; Tabuada, P. Control barrier functions: Theory and applications. In Proceedings of the 2019 18th European Control Conference (ECC), Naples, Italy, 25–28 June 2019; pp. 3420–3431. [Google Scholar]
  25. Nguyen, Q.; Sreenath, K. Exponential control barrier functions for enforcing high relative-degree safety-critical constraints. In Proceedings of the 2016 American Control Conference (ACC), Boston, MA, USA, 6–8 July 2016; pp. 322–328. [Google Scholar]
  26. Eppenberger, T.; Cesari, G.; Dymczyk, M.; Siegwart, R.; Dubé, R. Leveraging stereo-camera data for real-time dynamic obstacle detection and tracking. In Proceedings of the 2020 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Las Vegas, NV, USA, 25–29 October 2020; pp. 10528–10535. [Google Scholar]
  27. Xu, Z.; Zhan, X.; Xiu, Y.; Suzuki, C.; Shimada, K. Onboard dynamic-object detection and tracking for autonomous robot navigation with RGB-D camera. arXiv 2023, arXiv:2303.00132. [Google Scholar]
  28. Quinlan, S.; Khatib, O. Elastic bands: Connecting path planning and control. In Proceedings of the 1993 IEEE International Conference on Robotics and Automation, Atlanta, GA, USA, 2–6 May 1993; pp. 802–807. [Google Scholar]
  29. Rösmann, C.; Feiten, W.; Wösch, T.; Hoffmann, F.; Bertram, T. Trajectory modification considering dynamic constraints of autonomous robots. In Proceedings of the ROBOTIK 2012, 7th German Conference on Robotics, VDE, Munich, Germany, 21–22 May 2012; pp. 1–6. [Google Scholar]
  30. Harabor, D.; Grastien, A. Online graph pruning for pathfinding on grid maps. In Proceedings of the AAAI Conference on Artificial Intelligence, San Francisco, CA, USA, 7–11 August 2011; Volume 25, pp. 1114–1119. [Google Scholar]
  31. Harabor, D.; Grastien, A. Improving jump point search. In Proceedings of the International Conference on Automated Planning and Scheduling, Portsmouth, NH, USA, 21–26 June 2014; Volume 24, pp. 128–135. [Google Scholar]
  32. Zhou, R.G.; Yu, H.; Cheng, Y.; Li, F.X. Quantum image edge extraction based on improved Prewitt operator. Quantum Inf. Process. 2019, 18, 261. [Google Scholar]
  33. Qin, K. General matrix representations for B-splines. In Proceedings of the Pacific Graphics ’98. Sixth Pacific Conference on Computer Graphics and Applications (Cat. No.98EX208), Singapore, 26–29 October 1998; pp. 37–43. [Google Scholar]
  34. Lee, T.; Leok, M.; McClamroch, N.H. Geometric tracking control of a quadrotor UAV on SE (3). In Proceedings of the 49th IEEE Conference on Decision and Control (CDC), IEEE, Atlanta, GA, USA, 15–17 December 2010; pp. 5420–5425. [Google Scholar]
Figure 1. The original trajectory will be blocked by obstacles in the next moment. Circles filled with dots represent dynamic obstacles, while polygons filled with lines represent the static environment. (a) A smooth trajectory is given by the motion planner through the clear space safely. (b) Two dynamic obstacles blocking the original trajectory.
Figure 1. The original trajectory will be blocked by obstacles in the next moment. Circles filled with dots represent dynamic obstacles, while polygons filled with lines represent the static environment. (a) A smooth trajectory is given by the motion planner through the clear space safely. (b) Two dynamic obstacles blocking the original trajectory.
Drones 07 00359 g001
Figure 2. The proposed framework of the path planner and obstacle avoidance control for static and moving obstacles.
Figure 2. The proposed framework of the path planner and obstacle avoidance control for static and moving obstacles.
Drones 07 00359 g002
Figure 3. The process of point cloud clustering and classification.
Figure 3. The process of point cloud clustering and classification.
Drones 07 00359 g003
Figure 4. The shortest path between two points.
Figure 4. The shortest path between two points.
Drones 07 00359 g004
Figure 5. Feature extraction of environmental point cloud information can quickly provide accurate information for path searching. Blue blocks represent obstacles occupying the grid map and green points represent feature points of obstacles.
Figure 5. Feature extraction of environmental point cloud information can quickly provide accurate information for path searching. Blue blocks represent obstacles occupying the grid map and green points represent feature points of obstacles.
Drones 07 00359 g005
Figure 6. The brown line is the initial path, the green curve is the optimized path and the red arrows are the gradient direction formed by the obstacles. The black dotted lines are the convex hull ensuring the safety of the trajectory.
Figure 6. The brown line is the initial path, the green curve is the optimized path and the red arrows are the gradient direction formed by the obstacles. The black dotted lines are the convex hull ensuring the safety of the trajectory.
Drones 07 00359 g006
Figure 7. Block diagram of the closed-loop system.
Figure 7. Block diagram of the closed-loop system.
Drones 07 00359 g007
Figure 8. Illustration of QP constrained by the CBF.
Figure 8. Illustration of QP constrained by the CBF.
Drones 07 00359 g008
Figure 9. Framework of the simulation.
Figure 9. Framework of the simulation.
Drones 07 00359 g009
Figure 10. The quadrotor UAV autonomous flight with the proposed planner in dense environments.
Figure 10. The quadrotor UAV autonomous flight with the proposed planner in dense environments.
Drones 07 00359 g010
Figure 11. Comparison of the proposed and state-of-the-art planners in terms of time and distance, varying the obstacle density. The horizontal axis represents the proportion of the volume occupied by obstacles in the space.
Figure 11. Comparison of the proposed and state-of-the-art planners in terms of time and distance, varying the obstacle density. The horizontal axis represents the proportion of the volume occupied by obstacles in the space.
Drones 07 00359 g011
Figure 12. Task environment in the ROS-Gazebo-PX4 SITL simulator.
Figure 12. Task environment in the ROS-Gazebo-PX4 SITL simulator.
Drones 07 00359 g012
Figure 13. Comparison of the actual flight trajectory with [9,12].
Figure 13. Comparison of the actual flight trajectory with [9,12].
Drones 07 00359 g013
Figure 14. Position and yaw of the UAV.
Figure 14. Position and yaw of the UAV.
Drones 07 00359 g014
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Du, H.; Wang, Z.; Zhang, X. EF-TTOA: Development of a UAV Path Planner and Obstacle Avoidance Control Framework for Static and Moving Obstacles. Drones 2023, 7, 359. https://doi.org/10.3390/drones7060359

AMA Style

Du H, Wang Z, Zhang X. EF-TTOA: Development of a UAV Path Planner and Obstacle Avoidance Control Framework for Static and Moving Obstacles. Drones. 2023; 7(6):359. https://doi.org/10.3390/drones7060359

Chicago/Turabian Style

Du, Hongbao, Zhengjie Wang, and Xiaoning Zhang. 2023. "EF-TTOA: Development of a UAV Path Planner and Obstacle Avoidance Control Framework for Static and Moving Obstacles" Drones 7, no. 6: 359. https://doi.org/10.3390/drones7060359

Article Metrics

Back to TopTop