Next Article in Journal
A Novel Analog Front End with Voltage-Dependent Input Impedance and Bandpass Amplification for Capacitive Biopotential Measurements
Next Article in Special Issue
Internet of Unmanned Aerial Vehicles: QoS Provisioning in Aerial Ad-Hoc Networks
Previous Article in Journal
On the Capability of QoE Improvement Based on the Adjustment of RLC Parameters
Previous Article in Special Issue
Latency Compensated Visual-Inertial Odometry for Agile Autonomous Flight
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Design of Airport Obstacle-Free Zone Monitoring UAV System Based on Computer Vision

Department of Aeronautics and Astronautics, Fudan University, Shanghai 200433, China
*
Author to whom correspondence should be addressed.
Sensors 2020, 20(9), 2475; https://doi.org/10.3390/s20092475
Submission received: 24 March 2020 / Revised: 23 April 2020 / Accepted: 25 April 2020 / Published: 27 April 2020
(This article belongs to the Special Issue UAV-Based Smart Sensor Systems and Applications)

Abstract

:
In recent years, a rising number of incidents between Unmanned Aerial Vehicles (UAVs) and planes have been reported at airports and airfields. A design scheme for an airport obstacle-free zone monitoring UAV system based on computer vision is proposed. The system integrates the functions of identification, tracking, and expelling and is mainly used for low-cost control of balloon airborne objects and small aircrafts. First, a quadcopter dynamic model and 2-Degrees of Freedom (2-DOF) Pan/Tilt/Zoom (PTZ) model are analyzed, and an attitude back-stepping controller based on disturbance compensation is designed. Second, a low and slow small-target self-identification and tracking technology is constructed against a complex environment. Based on the You Only Look Once (YOLO) and Kernel Correlation Filter (KCF) algorithms, an autonomous target recognition and high-speed tracking plan with great robustness and high reliability is designed. Third, a PTZ controller and automatic aiming strategy based on Anti-Windup Proportional Integral Derivative (PID) algorithm is designed, and a simplified, automatic-aiming expelling device, the environmentally friendly gel ball blaster, which features high speed and high accuracy, is built. The feasibility and stability of the project can be verified through prototype experiments.

1. Introduction

The control of air-floating objects and small low–slow aircrafts means monitoring and expelling targeted air-floating object and small low–slow aircraft through technical methods and devices. With the rapid growth of the consumer-grade Unmanned Aerial Vehicle (UAV) market, problems of illegal flying bring about risks to security and privacy. Between 19 and 21 December 2018, hundreds of flights were cancelled at Gatwick Airport near London, UK, following reports of drone sightings close to the runway. The reports caused major disruption, affecting approximately 140,000 passengers and 1000 flights [1]. Accidents caused by drones are more and more frequent, so it is necessary to regulate the use of drones. It is of great significance to deploy anti-UAV and anti-aircraft drift target systems in the airport obstacle-free zone. However, UAV reconnaissance is a challenging task due to their small size and low flying speed. Many technologies such as radar monitoring, audio monitoring, video monitoring, and Radio Frequency (RF) monitoring have the potential to detect and locate drones. Each technique has its advantages and disadvantages.
  • Radar: Radar is mainly used for the measurement and tracking of large aircraft, whereas UAVs usually fly at low altitude and low speed. Aleksander Nowak et al. introduced a method of fast, simultaneous calibration using many mobile Frequency Modulated Continuous Wave (FMCW) radars operating in the network; this is used in the anti-drone scheme [2]. Multerer et al. presented an anti-drone system that consists of a three-dimensional (3D) FMCW Multiple Input Multiple Output (MIMO) radar and a directional jammer working at 2.4 GHz [3]. Because the radar reflection section of the drone is small and the clutter reflected at low altitude is higher, the monitoring effect of drone is limited.
  • Audio: During the flight of the UAV, the motors and propellers will make sound, and the UAV will be detected, classified, and located by a system equipped with acoustic sensors. Lee et al. estimated the Direction of Arrival (DOA) of the drone by using the acoustic signal generated when the drone is flying [4]. In the vicinity of the airport, noise from aircraft engines and vehicles is very loud, so it is difficult to accurately distinguish the audio of UAV from the high ambient noise.
  • Video: Video-based detection is essentially a target detection problem in the field of computer vision and pattern recognition. Objects can be detected according to their appearance features, that is, color, contour, geometric shape, or edge [5], and their motion characteristics across successive frames [6]. You Only Look Once (YOLO) is a convolutional neural network that can predict multiple box locations and categories at one time, and can realize end-to-end target detection and recognition. Its greatest advantage is its speed, which makes it suitable for applications in the field of flight target monitoring. Ju et al. proposed a multiscale target detection approach based on YOLO V3 [7]. The YOLO algorithm is also widely used in pedestrian [8], vehicle [9], fire [10], and obstacle [11] identification, and in sports [12], medicine [13] and other monitoring fields. For airport obstacle-free zone monitoring, the combination of a flight platform, YOLO, and a target expelling device is very promising, and can effectively control and expel illegal flying targets. On the other hand, although target detection and tracking based on video images has been well studied, there are still many problems, such as the running rate, which is also a problem in target detection, tracking, and expelling.
  • RF: RF interference blocking mainly applies signal interference, acoustic interference, and other technologies to force the target aircraft to lose control of the signal. The method is only applicable to the controlled target aircraft, not to the automatic aircraft, and floating objects in the air can cause great collateral damage. When the RF signal is interrupted, the jammer is usually required to guess at the band on which the signal is running. The typical range from 2.4 to 5.0 MHz means that any technology operating within this range would also be disrupted. In an airport environment, this would be inconvenient and potentially catastrophic. It could cause unintended Electromagnetic Interference (EMI) and affect the performance of air navigation services equipment on the ground and/or onboard aircraft equipment.
Table 1 summarizes the above monitoring techniques. The detection range of the target in the table is obtained from the literature and may vary with the type of target, monitoring environment, hardware parameters, and corresponding algorithm.
Motivated by the above observations, UAV detection and expelling systems should be developed so they do not adversely impact or interfere with safe airport operations, air traffic control, and other air navigation services, or the safe and efficient operation of the National Airspace System (NAS).
The quadcopter UAV features flexible maneuverability and vertical take-off and landing, and is widely used in various fields, making it an excellent air flight platform. However, due to the restrictions of its structure and weight, the limited airborne data processing capacity, and the variety of weather conditions that can be encountered in flight, the design of the integrated identification, tracking, and expelling quadcopter UAV system based on computer vision faces a lot of challenges. Modeling and control, motion planning, perception, and mechanism design are crucial for aerial manipulations [14,15,16]. There are some challenges for UAVs when performing autonomous vision-based integrating identification, tracking, and expelling. These problems mainly come from the following aspects: (1) Due to the influence of the UAV structure strength, power configuration, flight altitude, ambient temperature and other factors, the control system design is complicated; (2) the airborne minicomputer has a limited data processing capacity; (3) the low-cost single-chip microcomputer is used to realize high-rate visual control and trigger mechanism control; (4) The flight environment of the UAV is complicated and there are many factors that restrict the efficiency. Motivated by these problems, we have systematically studied one UAV’s integrated identification, tracking, and expelling functions based on computer vision.
The contributions of this paper are as follows:
  • It has analyzed the influence of parameters such as the quadcopter frame construction, motor, and electronic speed controller, and built a quadcopter dynamic model. Considering the uncertainties of the system model, the external disturbance, and the load variation of the quadrotors, this paper designed a back-stepping attitude controller based on the disturbance compensation. It has analyzed the performance of steering gear parameters and built a 2-Degrees of Freedom (2-DOF) Pan/Tilt/Zoom (PTZ) model.
  • The low-cost single chip microcomputer Arduino (Scarmagno, Italy) was used to communicate with the computer vision module and the underlying flight control system through the serial port was used to realize high-rate visual control and PTZ control.
  • It has proposed an image processing solution based on the airborne low-cost Logitech camera (Romanel, Lausanne, Switzerland), computer Jetson nano (Santa Clara, CA, USA), and based on the YOLO algorithm, Kernel Correlation Filter (KCF) algorithm, OpenCV (Santa Clara, CA, USA) open-source computer vision library, Ubuntu 16.04 (Isle of Man, UK) operating system, and Python3 (Beaverton, OR, USA). This paper deployed the image processing environment to realize accurate and fast airborne image recognition, tracking, and locating. Based on the shooting PTZ controller designed by the Anti-Windup PID algorithm, high-accuracy aiming and fast trajectory correction were realized. Through 3D printing technology, the simulated simple launch device was designed for experimental verification.
  • By combining the ultrasonic sensors (Shenzhen, China), Lidar (Shanghai, China), GPS (Shenzhen, China) and the infrared distance measuring sensors, based on multisensor information fusion technology, this paper has constructed the UAV real-time obstacle avoidance solution centering on fuzzy control. In this process, after setting the input and output, this paper took corresponding measures to simplify the processing, formulate corresponding fuzzy rules, complete the relevant design of a fuzzy controller, and test the real-time obstacle avoidance function.
The rest of the paper is organized as follows. Section 2 gives the system overview and mathematical modeling. In Section 3, the perception and control are described. Experimental results are presented in Section 4. Concluding remarks and future work are discussed in Section 5.

2. System Overview and Mathematical Modeling

2.1. Overall System Architecture Design

This paper proposes a new identification, tracking and expelling system, which can realize fully automatic, over the horizon and low-cost expulsion of a target object in flight. The design framework is divided into four parts: the underlying flight control system, the target fast recognition and tracking system, the aiming and PTZ control system, and the obstacle avoidance control system. The UAV consists of a quadcopter frame with a 680 mm wheelbase, 15 × 7 carbon fiber propellers (Shanghai, China) and 390 kV 5008 brushless motors (Shanghai, China). It is modeled with Pro/E to obtain the UAV structure model. The PIXHAWK pilot (Berkeley, CA, USA), as the bottom flight controller, runs the self-stabilization algorithm. The Jetson Nano development board is the core image processing unit, while the Arduino development board 1 is the core unit of the aiming design control system, and the Arduino development board 2, single line lidar, and ultrasonic sensor are the core units of the obstacle avoidance control system. They are shown in Figure 1, Figure 2 and Figure 3.

2.2. Quadcopter Dynamic Model

An accurate and reliable mathematical model is the foundation for designing a flight platform. The design and study of the flight control system have been carried out conveniently thanks to the dynamic motion simulation platform. By taking the actual flight environment into account, realistic assumptions have been proposed in this section based on the analysis of rotor aerodynamics. Equations of kinematics and dynamics that can be used for accurately describing the flight motion of a UAV (Unmanned Aerial Vehicle) have been derived from the UAV flight principle and the overall force analysis.
First of all, our assumptions are given as follows:
  • Assuming that the earth is a standard sphere, the reference ground is a standard horizontal plane and we can ignore the effect of the Earth’s rotation.
  • The quadcopter body is considered to be rigid and we can ignore its elastic deformation.
  • The air drag during the quadcopter flight is proportional to the square of the flight velocity, while the air drag direction is opposite to the velocity direction.

2.2.1. Quadcopter Aerodynamic and Torque Analysis

During the quadcopter flight, forces acting on the quadcopter mainly include the lift and drag generated by the rotor, the gravity of the quadcopter, and the frictional drag generated by the quadcopter during flight.
The torque acting on it is primarily composed of aerodynamic torque, torque, and the rolling torque generated by the rotor, as well as the gyroscopic effect torque generated during the rotation of the rotor. The force analysis is shown in Figure 4.
Hence, the external forces received during the quadcopter flight are as follows:
F S U M = k t r V 2 + m g + i = 1 4 ( T i + D i ) ,
where k t r represents the frictional drag coefficient between quadcopter and air; V is its flight speed; T i is the lift force generated by the rotor No. i ; and D i is the drag generated by the rotor No. i .
External torques received are presented as follows:
M S U M = ( T 2 + T 3 T 1 T 4 ) l x x + ( T 1 + T 2 T 3 T 4 ) l y y + i = 1 4 ( g i x x + g i y y ) + i = 1 4 ( Q i z + L i + D i h ) ,
where l x and l y are the horizontal distances between the rotor center and the quadcopter centroid, respectively, as shown in Figure 4; h represents the vertical distance between the rotor center and the quadcopter centroid; g i x and g i y are the gyroscopic effect stress torques generated when the rotor No. i is rotated; and J r is the moment of inertia of the motor and the rotor rotating group winding around the motor shaft.
When four motors are applied on the x and y axes of the body coordinate system, the total gyroscopic effect torque is presented as follows:
G e t = [ i = 1 4 g i x i = 1 4 g i y i = 1 4 g i z ] T = [ J r q ( ω 1 + ω 3 ω 2 ω 4 ) J r p ( ω 1 + ω 3 ω 2 ω 4 ) 0 ]

2.2.2. Definition of Coordinate System

In order to establish a state equation that can accurately describe quadcopter motion, a reasonable coordinate system should be selected with reference to specific coordinate systems for describing the relevant parameters of quadcopter linear and angular motions. This is not only a critical step in establishing the quadcopter model, but also an essential part of designing and studying the quadcopter flight control system. For better describing the quadcopter motion state, two rectangular coordinate systems are presented as follows:
1. Ground coordinate system C E
The ground coordinate system C E : ( O E , x E , y E , z E ) is defined. O E is the origin of the coordinates; the positive direction of x E points to the east; the positive direction of y E points to the south; and the positive direction of z E is determined to be perpendicular to the horizontal plane, pointing to the geocenter according to the right-hand rule.
2. Body coordinate system C B
The body coordinate system is defined as C B : ( O B , x B , y B , z B ) , which is connected with the quadcopter. O B is the origin of coordinates, which coincides with the center of the quadcopter (all devices are included) and with O E at the initial moment. The x B axis is in the plane that passes through the centroid and is perpendicular to the connection between motors No. 1 and No. 2, pointing to the front of the body. The y B axis is in the plane that passes through the centroid and is perpendicular to the connection between motors No. 2 and No. 3, pointing to the right of the body. The z B axis is in the vertical plane passing through the centroid, pointing to the lower part of the body.
The flight motion of the quadcopter involves linear motion in three directions and angular motion winding around three axes. To be specific, the linear motion should be described in the ground coordinate system, while the angular motion should be described in the body coordinate system. In that case, the ground coordinate system and the body coordinate system should be used simultaneously in the quadcopter system modeling for describing and modeling the flight motion.
The ground coordinate system C E and the body coordinate system C B used in the quadcopter system modeling are presented in Figure 5. It should be noted that the origins of the two coordinate systems are coincident in the initial state. Moreover, the quadcopter plane simplified structure is presented in Figure 5 to precisely demonstrate the significance of various parameters in the quadcopter model.
l t x i and l t y i represent the distance between the motor No. i and the x B axis and the y B axis, respectively, in the quadcopter plane simplified structure shown in Figure 6. In general, the center of a multirotor quadcopter is assumed to be at the geometric center for modeling the multirotor quadcopter in the majority of the existing literature, obtaining l t x 1 = l t x 2 = l t x 3 = l t x 4 and l t y 1 = l t y 2 = l t y 3 = l t y 4 . As a matter of fact, the center position deviates from the geometric center, affecting the control effect of the multirotor quadcopter flight control system. Therefore, considering that the center position deviates from the geometric center, the distance between each motor and the x B axis and the y B axis possesses the following relationship: l t x 1 = l t x 4 , l t x 2 = l t x 3 , l t y 1 = l t y 2 , and l t y 3 = l t y 4 .
Based on the quadcopter coordinate system shown in Figure 5, the attitude angle of quadcopter can be defined by the relationship between the body coordinate system C B and the ground coordinate system C E . The attitude angle of the quadcopter in this paper can be defined as follows:
  • Roll angle ϕ : It is the angle between the body axis O B y B and the horizontal plane, and the right roll is positive.
  • Pitch angle θ : It is the angle between the body axis O B x B and the horizontal plane, and the up is positive.
  • Yaw angle ψ : It is the angle between the projection of the body axis O B x B on the horizontal plane and the ground coordinate system axis O E x E , and the right yaw is positive.

2.2.3. Euler Angles

The body coordinate system C B can be considered as the coordinate system, being fixed to the quadcopter body in the ground coordinate system C E . p = [ x , y , z ] T can be employed to present the position vector of the quadcopter centroid. What is more, the three attitude angles a = [ ϕ , θ , ψ ] T of the quadcopter can represent the position vector of the quadcopter attitude.
The conversion matrix converting from the body coordinate system to the ground coordinate system is:
R B E = R ψ R θ R ϕ = [ cos θ cos ψ sin ϕ sin θ cos ψ cos ϕ sin ψ cos ϕ sin θ cos ψ + sin ϕ sin ψ cos θ sin ψ sin ϕ sin θ sin ψ + cos ϕ cos ψ cos ϕ sin θ sin ψ sin ϕ cos ψ sin θ sin ϕ cos θ cos ϕ cos θ ]

2.2.4. Kinetic Equations

The multirotor quadcopter flight motion in the air can be decomposed into the quadcopter translation relative to the ground coordinate system and the rotation relative to the body coordinate system.
The translational motion equation of quadcopter is presented as follows:
{ p ˙ t = υ t υ ˙ t = g z E 1 m t R B E F
where p t = [ x t , y t , z t ] T and v t = [ u t , v t , w t ] T represent the position and velocity of the quadcopter in the ground coordinate system, respectively; m t is the quadcopter mass; g is the acceleration of gravity; z E = [ 0 , 0 , 1 ] T is the unit vector in the ground coordinate system; R B E is the conversion matrix from the body coordinate system to the ground coordinate system; and F is the combined external forces acting on quadcopter, except for gravity.
The attitude motion equation of quadcopter is presented as follows:
{ a ˙ t = Φ t ( a t ) ω t J t ω ˙ t = ( ω t × J t ω t ) + G e t + M
where a t = [ ϕ t , θ t , ψ t ] T represents the attitude angle of quadcopter in the ground coordinate system; Φ t ( a t ) is the conversion matrix between the angular velocity in the body coordinate system and the Euler angular velocity in the ground coordinate system; ω t = [ p t , q t , r t ] T is the component of the rotation angular velocity of the body coordinate system on the axis of the body coordinate system relative to the ground coordinate system; J t is the quadcopter rotational inertia matrix; G e t is the rotor-gyroscopic effect stress torque, as shown in Equation (3); and M is the combined external torque acting on the quadcopter, except for the gyroscopic effect stress torque.
By combining Equations (5) and (6), the six-degree-of-freedom nonlinear mathematical model of quadcopter can be obtained:
{ p ˙ t = υ t , υ ˙ t = g z E 1 m t R B E F a ˙ t = Φ t ( a t ) ω t , J t ω ˙ t = ( ω t × J t ω t ) + G e t + M

2.3. PTZ Modeling

2.3.1. Target Expulsion Device

The ejection device of the launch system adopts the idea of a gel ball blaster, and is manufactured by 3D printing, with the features shown in Figure 7 and Figure 8. It is composed of a high-speed motor, a spring, a piston, a cylinder, a gear set, and a power supply. The launcher uses safe and environmentally friendly gel balls to expel targets, as shown in Figure 9.

2.3.2. Design of High-Speed Steering Gear PTZ

Due to the limitations of the load and power consumption of a quadcopter, the requirements for the PTZ are being light in weight, small in volume, and simple in structure. Based on the above principles, a two-degrees-of-freedom PTZ controlled by the steering gear is designed, as shown in Figure 10, including yaw axis steering gear, a yaw axis adapter plate, pitch axis steering gear, a pitch axis adapter plate, a lens mounting base and lens, and a launcher mounting base. The model of the steering gear is ds8611, while its torque is 7.4 V 18 kg/cm and speed is 0.14 s/60°. The bracket is made using 3D printing. In order to ensure the continuous supply of gel balls for the launching device, a continuous gel ball feeding device is designed, as shown in the Figure 8. The gel balls slide downward under the action of gravity and enter the feeding hole. The designed projectile supply device can store up to 200 gel balls at a time, which can meet the requirements of expelling targets on the flight mission (see Figure 10).
The actuator design is the model obtained by identifying the test results. The operating characteristics of the steering gear include the dead band, linear zone, and nonlinear zone. The steering gear working in the linear zone can be approximately represented as a second-order model as follows:
G ( s ) = ω n 2 / ( s 2 + 2 ξ ω n s + ω n 2 )
Since the calculation is discrete, the above equation should be discretized as follows:
G ( z ) = y ( z ) u ( z ) = b 1 z 1 + b 2 z 2 1 a 1 z 1 a 2 z 2
where u ( z ) is the control signal of the actuator; y ( z ) is the feedback signal of the actuator; and a 1 , a 2 , b 1 , and b 2 are the parameters obtained through identification. Actuator identification is performed using the adaptive genetic algorithm [18], obtaining a 1 = 0.7349, a 2 = −0.0076, b 1 = −0.0986, and b 2 = −0.1787.

2.4. Ground Station

The ground monitoring computer is the basis of the reliable operation for the identification, tracking, and expelling system. With the help of the ground system, the remote control and monitoring of the equipment are realized. The key functions are as follows: (1) Planning the flight route of the UAV and (2) monitoring the status of the UAV in real time, while also sending instructions, as shown in Figure 11.

3. Perception and Control

3.1. Design of Backstepping Quadcopter Controller Based on Interference Compensation

The attitude controller is the most important part of multi-rotor UAV flight control system, because the performance of the attitude controller directly affects the performance of trajectory tracking. Therefore, an attitude controller with superior performance is a prerequisite for stable flight of a multi-rotor UAV flight controller. At the same time, due to the complex structure of multi-rotor UAV, it is difficult to build a precise six-freedom nonlinear mathematical model, and the flight performance of multi-rotor UAV would be affected by the uncertainties of kinetic model, external interference and other common factors. Control methods that are frequently applied nowadays include PID control [19], sliding model control [20], backstepping control [21], feedback linearization control [22], and robust control [23]. The backstepping method is especially suitable for some under-actuated systems. It converts problems related to the design of complicated and high-order controlled system into problems of low-order system decomposed from it. The method designs a virtual and intermediate control variable for each decomposed subsystem to stabilize them, and to thereby obtain the actual control input of the system through iteration. The backstepping method combines the selection of the Lyapunov function well with the solving of the control law, which proves Lyapunov liability. When designing the quadcopter controller, this thesis had fully considered the uncertainties of the kinetic model as well as the influence of external interference, and used radial basis function neural network (RBFNN) to approximate the uncertain items of the model. As for the inference brought by changes of the mass of gel balls after launching from the quadcopter as well as changes of external air current, we had used nonlinear observer to make compensation, and designed the backstepping controller based on interference compensation. Stability of the system was proved with the analysis method in Lyapunov stability theory. At the end, verification was conducted on the simulation platform, and flight test was conducted.

3.1.1. Quadcopter Modeling and Processing

The nonlinear model of 6-DOF quadcopters is expressed by Equation (10):
{ p t · = υ t a t · = Φ ( t ) ω t υ t · = g [ 0 0 1 ] 1 m t R B E [ 0 0 u t 1 ] k t r m t [ u t 2 v t 2 w t 2 ] J t ω t · = ( ω t × J t ω t ) + G e t + M t
in which p t = [ x t , y t , z t ] T is the position state vector of quadcopter in the ground coordinate system; υ t = [ u t , v t , w t ] T is the speed state vector of the quadcopter in the ground coordinate system; a t = [ ϕ t , θ t , ψ t ] T is the attitude state vector of the quadcopter in the ground coordinate system; ω t = [ p t , q t , r t ] T is the state vector of the attitude angular velocity vector of the quadcopter in the body coordinate system; Φ t ( t ) is the transform matrix between attitude angular velocity and Eulerian angular velocity, as shown by Equation (11); g is the local gravitational acceleration, g = 9.81 m/s2; m t is the mass of the quadcopter, m t = 1.94 kg; R B E is the transform matrix between the body coordinate system and the ground coordinate system, as shown by Equation (12); k t r is the air drag coefficient of quadcopter, which is given by Equation (13); J t is the moment of inertia matrix of quadcopter, J t = d i a g [ 2.37 × 10 3 3.51 × 10 3 5.31 × 10 3 ] kg·m2; G e t is the gyroscopic moment, as expressed by Equation (14); J t r is the rotational inertia of motor and rotary wing around the motor shaft, J t r = 4.92 × 10 6 kg·m2; M t = [ u t 1 , u t 2 , u t 3 , u t 4 ] T is the resultant moment excluding the gyroscopic moment, with the control variables u t 1 , u t 2 , u t 3 , u t 4 being defined by Equation (15); and l t is the length of the quadcopter’s frame arm, l t = 0.265 m. As shown in Table 2.
Φ t ( t ) = [ 1 sin ϕ t tan θ t cos ϕ t tan θ t 0 cos ϕ t sin ϕ t 0 sin ϕ t sec θ t cos ϕ t sec θ t ]
R B E = [ cos θ t cos ψ t sin ϕ t sin θ t cos ψ t cos ϕ t sin ψ t cos ϕ t sin θ t cos ψ t + sin ϕ t sin ψ t cos θ t sin ψ t s i n ϕ t sin θ t sin ψ t + cos ϕ t cos ψ t cos ϕ t sin θ t sin ψ t sin ϕ t cos ψ t sin θ t sin ϕ t cos θ t cos ϕ t cos θ t ]
{ k t r x = 9.56 × 10 6 × ϕ t 2 + 1.26 × 10 3 × ϕ t + 2 × 10 3 k t r y = 1.16 × 10 5 × θ t 2 + 1.37 × 10 3 × θ t + 1 × 10 4 k t r z = 0.0596
G e t = [ J t r q t ( ω t 1 + ω t 3 ω t 2 ω t 4 ) J t r p t ( ω t 1 + ω t 3 ω t 2 ω t 4 ) 0 ]
{ u t 1 = k t l ( ω t 1 2 + ω t 2 2 + ω t 3 2 + ω t 4 2 ) u t 2 = k t l l t ( ω t 2 2 + ω t 3 2 ω t 1 2 ω t 4 2 ) u t 3 = k t l l t ( ω t 1 2 + ω t 2 2 ω t 3 2 ω t 4 2 ) u t 4 = k t t ( ω t 1 2 + ω t 3 2 ω t 2 2 ω t 4 2 )
{ x ˙ t = u t , y ˙ t = v t , z ˙ t = w t ϕ ˙ t = p t + q t sin ϕ t tan θ t + r t cos ϕ t tan θ t θ ˙ t = q t cos ϕ t r t sin ϕ t ψ ˙ t = q t sin ϕ t sec θ t + r t cos ϕ t sec θ t u ˙ t = ( cos ϕ t sin θ t cos ψ t + sin ϕ t sin ψ t ) u t 1 + k t r x u t 2 m t + d t u v ˙ t = ( cos ϕ t sin θ t sin ψ t sin ϕ t cos ψ t ) u t 1 + k t r y v t 2 m t + d t v w ˙ t = g cos ϕ t cos θ t u t 1 + k t r z w t 2 m t + d t w p ˙ t = q t r t ( J y J z ) + u t 2 + J t r q ( ω t 1 + ω t 3 ω t 2 ω t 4 ) J x + d t p q ˙ t = p t r t ( J z J x ) + u t 3 J t r p ( ω t 1 + ω t 3 ω t 2 ω t 4 ) J y + d t q r ˙ t = p t q t ( J x J y ) + u t 4 J z + d t r
Substituting the above equations into Equation (10) and introducing the external disturbance term d t u , d t v , , d t r , we can obtain the nonlinear model of 6-DoF quadcopters, as shown in Equation (16).
We selected the three virtual control variables as follows:
{ u t x = ( cos ϕ t sin θ t cos ψ t + sin ϕ t sin ψ t ) u t 1 m t u t y = ( cos ϕ t sin θ t sin ψ t sin ϕ t cos ψ t ) u t 1 m t u t z = cos ϕ t cos θ t u t 1 m t g
Now, its translation dynamical equation can be rewritten as:
{ u ˙ t = u t x k t r x u t 2 m t + d t u v ˙ t = u t y k t r y v t 2 m t + d t v w ˙ t = u t z k t r z w t 2 m t + d t w
where the three virtual control variables, u t x , u t y , and u t z , and the desired yaw angle ψ t d can be used to solve the desired control variable u t 1 , desired roll angle ϕ t d , and desired pitch angle θ t d .
{ u t 1 = m t u t x 2 + u t y 2 + ( u t z + g ) 2 ϕ t d = arcsin ( m t ( u t x sin ψ t d u t y cos ψ t d ) u t 1 ) θ t d = arctan ( u t x cos ψ t d + u t y sin ψ t d u t z + g )
As can be seen from the nonlinear mathematical model of 6-DoF quadcopters expressed by Equation (16), the resultant external moment acting on a quadcopter leads to changes in its attitude angular velocity and thus in the attitude angle, which ultimately causes changes in the spatial position of the quadcopter. Therefore, similar to the case with the quadcopter, the trajectory tracking controller is also designed with a double closed-loop control structure comprised of an attitude controller (inner loop) and a trajectory tracking controller (outer loop). In the design of the inner-loop controller, a RBFNN is adopted to approximate uncertainties of the model, and a nonlinear observer is adopted to compensate for the influence caused by external disturbances.

3.1.2. Back-Stepping Attitude Controller Design Based on Disturbance Compensation

The design and stability analysis of RBFNN and nonlinear disturbance observer in quadcopter trajectory tracking controller, as well as the demonstration of their stability, are omitted. The estimations of external disturbance terms D t υ Equation (20) and D t ω Equation (21) in the quadcopter model can be directly given by equations. The detailed process is omitted here.
{ D ^ t υ ( t ) = L t υ ( υ t z t υ ) z ˙ t υ = u t k p r υ t 2 m t + D ^ t υ ( t )
{ D ^ t ω ( t ) = L t ω ( ω t z t ω ) z ˙ t ω = ( ω t × J t ω t ) + G e t + M t + D ^ t ω ( t )
where u t = [ u t x , u t y , u t z ] T , L t υ > 0 and L t ω > 0 are all parameters to be designed for the observer.
Similarly, the quadcopter attitude controller is also designed with a double closed-loop structure that is comprised of an attitude angular velocity controller (inner loop) and an attitude angle controller (outer loop). The structural diagram of the attitude controller is shown in Figure 12.
Next, the process by which the attitude angle controller is designed using the back-stepping method is described.
The error between the attitude angle of the quadcopter Y t and the desired attitude angle Y d is defined as:
e Y = Y t Y d
where Y t = [ ϕ t , θ t , ψ t ] T is the attitude angle of the quadcopter and Y d = [ ϕ d , θ d , ψ d ] T is the desired attitude angle.
Select a Lyapunov function for the quadcopter attitude angle system, as follows:
V Y = 1 2 e Y T e Y
Taking the derivative of the function, and substituting into Equation (22), we obtain:
V ˙ Y = e Y T e ˙ Y = e Y T ( Y ˙ t Y ˙ d ) = e Y T ( Φ t ( t ) X t Y ˙ d )
Let the command for attitude angular velocity be:
X c = Φ t 1 ( t ) ( Λ Y e Y Y ˙ d )
where Λ Y = Λ Y T > 0 is the matrix to be designed.
Substituting Equation (25) into Equation (24), we obtain:
V ˙ Y = e Y T Λ Y e Y 0
That is, when adopting the command for attitude angular velocity designated by Equation (25), the attitude angle system of the quadcopter is stabilized.
The error between the attitude angular velocity of the quadcopter X t and the desired attitude angular velocity X d is defined as:
e X = X t X d
where X t = [ p t , q t , r t ] T is the attitude angular velocity of the quadcopter and X d = [ p d , q d , r d ] T is the desired attitude angular velocity.
Taking the derivative of the above function, we can substitute it into the quadcopter attitude model as follows:
{ Y ˙ t = Φ t ( t ) X t X ˙ t = F ( Y t ) + G ( Y t ) M t ( t ) + L 1 W T ξ ( Y t ) + D t ( t )
in which, L = L T > 0 is the parameter of the auxiliary system to be designed; D ^ t ( t ) represents the estimation of external unknown interference D ; W ^ T ξ ( Y t ) represents the RBFNN estimation of the function. Among which, Y t = [ ϕ t , θ t , ψ t ] T , X t = [ p t , q t , r t ] T , Φ t ( t ) is as shown in Equation (1); d a ( t ) = [ d p p , d p q , d p r ] T represents unknown external interference.
We obtain:
e ˙ X = X ˙ t X ˙ d = F ( Y t ) + G ( Y t ) M t ( t ) + L 1 W T ξ ( Y t ) + D t ( t ) X ˙ d
Letting
M t ( t ) = J t ( X ˙ d F ( Y t ) L 1 W ^ T ξ ( Y t ) D ^ t ( t ) Λ X e X )
we have:
e X T e ˙ X = e X T Λ X e X + e X T L 1 W ˜ T ξ ( Y t ) + e X T D ˜ t ( t ) e X T ( Λ X 0.5 I 3 × 3 ) e X + e X T L 1 W ˜ T ξ ( Y t ) + 0.5 D ˜ t ( t ) 2
Select a Lyapunov function for the quadcopter attitude angular velocity system, as follows:
V X = 1 2 e X T e X + 1 2 e x T e x + 1 2 t r ( W ˜ T Λ W W ˜ ) + 1 2 D ˜ t T ( t ) D ˜ t ( t )
Taking the derivative of the above function, and substituting it into Equation (31), we obtain:
V ˙ X = e X T e ˙ X + e x T e ˙ x + t r ( W ˜ T Λ W W ˜ ˙ ) + D ˜ t T ( t ) D ˜ ˙ t ( t ) e X T ( Λ X 0.5 I 3 × 3 ) e X + e X T L 1 W ˜ T ξ ( Y t ) + D ˜ t ( t ) 2 e x T ( Γ 0.5 I 3 × 3 ) e x + e x T L 1 W ˜ T ξ ( Y t ) + 0.5 ρ 2 + 1 2 μ W ˜ 2 D ˜ t T ( t ) ( L ( 0.5 + 0.5 μ τ 2 ) I 3 × 3 ) D ˜ t ( t ) + t r ( W ˜ T Λ W W ˜ ˙ )
Observe and analyze the above equation, and select the adaptive rate of W ^ , as shown below:
W ^ ˙ = Λ W 1 ( ξ ( Y t ) ( e x + e X ) T L 1 μ W W ^ )
where Λ W = Λ W 1 > 0 and μ W > 0 are both parameters to be designed.
Substituting Equation (34) into Equation (33), we obtain:
V ˙ X e X T ( Λ X 0.5 I 3 × 3 ) e X D ˜ t T ( t ) ( L ( 1.5 + 0.5 μ τ 2 ) I 3 × 3 ) D ˜ t ( t ) e x T ( Γ 0.5 I 3 × 3 ) e x + 0.5 ρ 2 + 1 2 μ W ˜ 2 μ W t r ( W ˜ T W ^ )
In the meantime, the following transformation should also be taken into account:
2 t r ( W ˜ T W ^ ) = W ˜ 2 + W ^ 2 W 2 W ˜ 2 W 2
Substituting Equation (36) into Equation (35), we obtain:
V ˙ X e X T ( Λ X 0.5 I 3 × 3 ) e X D ˜ t T ( t ) ( L ( 0.5 + 1.5 μ τ 2 ) I 3 × 3 ) D ˜ t ( t ) e x T ( Γ 0.5 I 3 × 3 ) e x + 0.5 ρ 2 ( μ W 2 1 2 μ ) W ˜ 2 + μ W 2 W 2 Κ V X + C
where
Κ = min { λ min ( Λ X 0.5 I 3 × 3 ) , λ min ( Γ 0.5 I 3 × 3 ) , λ min ( ( μ W 2 1 2 μ ) / λ max ( Λ ) ) , λ min ( L ( 0.5 + 1.5 μ τ 2 ) I 3 × 3 ) }
C = 0.5 ρ 2 + μ W 2 W 2
To ensure the stability of the attitude angular velocity system of the quadcopter, the parameters of the controller and relevant auxiliary systems should at least satisfy the following conditions:
Λ X 0.5 I 3 × 3 > 0 ,   Γ 0.5 I 3 × 3 > 0 , μ W 2 1 2 μ > 0 ,   L ( 0.5 + 1.5 μ τ 2 ) I 3 × 3 > 0 .
Meanwhile, as known from literature [24,25],
0 V X C Κ + ( V X ( 0 ) C Κ ) e K t
where V X is convergent and lim t V X = C K .
Thus, under the effect of the control moment for attitude angle, as shown by Equation (30), the attitude angular velocity system of the quadcopter is stable.

3.1.3. Trajectory Tracking Control Based on the Back-Stepping Method

As can be known from the above, the model of the quadcopter position system is as follows:
{ x ˙ t = u t y ˙ t = v t z ˙ t = w t u ˙ t = ( cos ϕ t sin θ t cos ψ t + sin ϕ t sin ψ t ) u t 1 + k t r x u t 2 m t + d t u v ˙ t = ( cos ϕ t sin θ t sin ψ t sin ϕ t cos ψ t ) u t 1 + k t r y v t 2 m t + d t v w ˙ t = g cos ϕ t cos θ t u t 1 + k t r z w t 2 m t + d t w
The quadcopter position system shown by Equation (42) is divided into three subsystems along the longitudinal and horizontal movements, which are described in the state space:
{ y ˙ 1 = x ˙ t = u t = x 1 x ˙ 1 = u ˙ t = ( cos ϕ t sin θ t cos ψ t + sin ϕ t sin ψ t ) u t 1 + k t r x u t 2 m t + d t u { y ˙ 2 = y ˙ t = v t = x 2 x ˙ 2 = v ˙ t = ( cos ϕ t sin θ t sin ψ t sin ϕ t cos ψ t ) u t 1 + k t r y v t 2 m t + d t v { y ˙ 3 = z ˙ t = w t = x 3 x ˙ 3 = w ˙ t = g cos ϕ t cos θ t u t 1 + k t r z w t 2 m t + d t w
The following part takes the height controller as an example, where the back-stepping method is adopted in design.
The height error of the quadcopter is defined as follows:
e y 3 = y 3 d y 3
where y 3 d is the desired height of the quadcopter and y 3 is its actual height.
Select a Lyapunov function for the quadcopter height subsystem, as follows:
V y 3 = 1 2 e y 3 2
Taking the derivative of the above Lyapunov function, we obtain:
V ˙ y 3 = e y 3 e ˙ y 3 = e y 3 ( y ˙ 3 d x 3 ) = e y 3 ( y ˙ 3 d w p )
Design the following virtual control variable according to Equation (46):
w p d = z ˙ p d + Λ y 3 e y 3
where Λ y 3 > 0 is the controller parameter to be designed.
Substituting Equation (47) into Equation (46), we obtain:
V ˙ y 3 = e y 3 ( y ˙ 3 d y ˙ 3 d Λ y 3 e y 3 ) = Λ y 3 e y 3 2 0
that is, the virtual control variable designed according to Equation (47) enables the error of quadcopter height to converge.
The longitudinal speed error of the quadcopter is defined as follows:
e x 3 = x 3 x 3 d = x 3 z ˙ p d Λ y 3 e y 3
where x 3 d is the desired longitudinal speed of the quadcopter and x 3 is its actual longitudinal speed.
Taking the derivative of the longitudinal speed of the quadcopter, we obtain:
e ˙ x 3 = x ˙ 3 z ¨ t d Λ y 3 e ˙ y 3 = u t z k t r z w t 2 m t + d t w z ¨ t d Λ y 3 e ˙ y 3
Furthermore, we have:
e ˙ y 3 = y ˙ 3 d y ˙ 3 = w t d w t Λ y 3 e y 3 = e x 3 Λ y 3 e y 3
Substituting Equation (51) into Equation (50), we obtain:
e ˙ x 3 = x ˙ 3 z ¨ t d Λ y 3 e ˙ y 3 = u z k p r z w p 2 m p + d p w z ¨ p d + Λ y 3 ( e x 3 + Λ y 3 e y 3 )
where Λ x 3 > 0 is the controller parameter to be designed.
Substituting Equation (52) into Equation (51), we obtain:
e ˙ x 3 = Λ x 3 e x 3 + e y 3 + d t w d ^ t w
Select a Lyapunov function for the quadcopter longitudinal speed subsystem, as follows:
V x 3 = 1 2 e y 3 2 + 1 2 e x 3 2 + 1 2 d ˜ t w 2
where d ˜ t w = d t w d ^ t w is the estimated error of the nonlinear observer.
Taking the derivative of the Lyapunov function, as shown by Equation (54), we obtain:
V ˙ x 3 = e y 3 e ˙ y 3 + e x 3 e ˙ x 3 + d ˜ t w d ˜ ˙ t w = e y 3 ( e x 3 Λ y 3 e y 3 ) + e x 3 ( d ˜ t w Λ x 3 e x 3 + e y 3 ) + d ˜ t w d ˜ ˙ t w = Λ y 3 e y 3 2 Λ x 3 e x 3 2 + e x 3 d ˜ t w + d ˜ t w d ˜ ˙ t w Λ y 3 e y 3 2 Λ x 3 e x 3 2 + 0.5 e x 3 2 + 0.5 d ˜ t w 2 + d ˜ t w d ˜ ˙ t w
In the meantime, we use the nonlinear observer to estimate the external longitudinal disturbance term d t w . The specific definition is shown below. The demonstration process of its stability is omitted here.
{ d ^ t w ( t ) = L w ( w t z w ) z ˙ w = u z k t r z w t 2 m t + d ^ t w ( t )
According to Equation (56), we can obtain:
d ^ ˙ t w ( t ) = L w ( w ˙ t z ˙ w ) = L w ( w ˙ t + u z + k t r z w t 2 m t d ^ t w ( t ) ) = L w ( d t w ( t ) d ^ t w ( t ) ) = L w d ˜ t w ( t )
Substituting Equation (57) into Equation (56), we obtain:
V ˙ x 3 Λ y 3 e y 3 2 Λ x 3 e x 3 2 + 0.5 e x 3 2 + 0.5 d ˜ t w 2 + d ˜ t w d ˜ ˙ t w Λ y 3 e y 3 2 Λ x 3 e x 3 2 + 0.5 e x 3 2 + 0.5 d ˜ t w 2 + d ˜ t w ( d ˙ t w d ^ ˙ t w ) Λ y 3 e y 3 2 Λ x 3 e x 3 2 + 0.5 e x 3 2 + 0.5 d ˜ t w 2 + d ˜ t w ( d ˙ t w L w d ˜ t w ) Λ y 3 e y 3 2 Λ x 3 e x 3 2 + 0.5 e x 3 2 + 0.5 d ˜ t w 2 + d ˜ t w d ˙ t w L w d ˜ t w 2 Λ y 3 e y 3 2 Λ x 3 e x 3 2 + 0.5 e x 3 2 + 0.5 d ˜ t w 2 + 0.5 d ˜ t w 2 + 0.5 d ˙ t w 2 L w d ˜ t w 2 Λ y 3 e y 3 2 ( Λ x 3 0.5 ) e x 3 2 ( L w 0.5 ) d ˜ t w 2 + 0.5 μ d w 2
To ensure the convergence of the quadcopter’s longitudinal speed error, the following condition should be satisfied:
Λ y 3 > 0 ,   Λ x 3 0.5 > 0 ,   L w 0.5 > 0
By the same token, we can derive the virtual control variables for the two subsystems along horizontal movements, as shown below:
u t d = x ˙ t d + Λ y 1 e y 1 u x = x ¨ t d + e y 1 Λ y 1 ( e x 1 + Λ y 1 e y 1 ) Λ x 1 e x 1 + k t r x u t 2 m t d ^ t u v t d = y ˙ t d + Λ y 2 e y 2 u y = y ¨ t d + e y 2 Λ y 2 ( e x 2 + Λ y 2 e y 2 ) Λ x 2 e x 2 + k t r y v t 2 m t d ^ t v
where e y 1 = y 1 d y 1 and e y 2 = y 2 d y 2 are horizontal position errors; e x 1 = x 1 x 1 d and e x 2 = x 2 x 2 d are horizontal speed errors; and Λ x 2 0.5 > 0 , Λ x 1 0.5 > 0 , Λ y 2 > 0 and Λ y 1 > 0 are controller parameters to be designed.

3.2. Real-Time Image Recognition, Location, and Tracking Based on the YOLO and KCF Algorithms

3.2.1. Target Recognition, Location

The deep learning model has become a hot research topic in computer vision due to its strong presentation ability, data accumulation, and computing power progress. It is mainly divided into three levels: classification, detection, and segmentation.
The classification task focuses on the whole, giving the content description of the whole picture, while the detection focuses on the specific object target, requiring the simultaneous acquisition of the class information and location information of the target. Compared with classification, detection is the understanding of the foreground and background of a picture. We need to isolate an interesting target from the background and determine the target description (class and location). Therefore, the output of a detection model is a list, and each item in the list uses a dataset, giving the class and position of the detected target (often expressed by coordinates of a rectangular detection box).
With the development of Deep Neural Networks (DNN), the Convolutional Neural Network (CNN) has been widely used in image recognition. When a video collected by the camera is subject to frame extracting to obtain the image, the first task is to detect all kinds of aircrafts in the image, that is, target detection of the corresponding image processing task. However, CNN can only judge if the target object appears in the image, but cannot locate the position of the target object in the image. Ross et al. [26], from Berkeley University, proposed a new network structure named Regions with Convolutional Neural Network Features (R-CNN) in 2014, which realized the functions of image recognition and item location. Girshick proposed a new Faster R-CNN [27] in 2016. In structure, Faster R-CNN has already integrated feature extraction, proposal, bounding box regression, and classification in one network, greatly improving the overall performance, especially in detection speed. The improved versions of Fast R-CNN [28] and Faster R-CNN realized higher recognition accuracy, but the application of classifiers in the R-CNN series network caused the processing speed of Fast R-CNN to be 0.5 frames per second (FPS), while that of Faster R-CNN reached 7 FPS. This is a great improvement compared to R-CNN, but still fails to meet the real-time requirement.
In 2016, Redmon et al. [29,30,31] from the University of Washington proposed a real-time object detection network YOLO (You Only Look Once). The YOLO algorithm is also a classic algorithm in the field of target detection. The core idea is to use the entire picture as an input to the network, directly returning the location of the bounding box and its class in the output layer. The object detection problem is transformed into a regression problem for processing and a single neural network can be used to obtain the position coordinates and relative size of the object from one image. On a computer with a GPU, YOLO in its standard version can process an image on the real-time basis at a rate of 45 FPS, but the YOLO fast version can reach a speed of 155 FPS, doubling the average accuracy of any other real-time object detection method.
We compared the similarities and differences of Faster R-CNN and YOLOv3 in target detection. With regard to the traditional multiclass detection task, the target detection task in high-speed field is relatively simple (for aircraft detection only). In terms of accuracy, YOLOv3 has better performance; in terms of processing speed, Faster R-CNN algorithm runs more slowly: the time spent on one image is 5–6 s, which does not meet the speed requirement in actual testing tasks. However, the YOLOv3 algorithm takes only 0.1–0.2 s to process one image and satisfies the requirement better in actual conditions. To improve the accuracy of lane detection in complex scenarios, an adaptive lane feature learning algorithm that can automatically learn the features of a lane in various scenarios is proposed [32]. As a result, the YOLOv3 algorithm is adopted for target detection.
This paper aims to propose a real-time image recognition, location, and tracking system on the basis of a YOLO network. YOLO divides the whole input image into a S × S grid that can predict the normalized relative coordinates ( x , y ) , normalized relative length and width ( w , h ) , and confidence level c o n f of the central position of R bounding boxes, as well as C conditional probabilities, that is, the probability that this object belongs to one class when this grid contains the target object. The YOLO network structure is shown in Figure 13, including 24 convolutional layers and two fully connected layers. Convolutional layers are used to extract the features in the image, while the fully connected layers are used to build the relationship between the features and the probability of image position and target. The output of the YOLO network is a S × S × ( 5 × R + C ) tensor, where each 1 × 1 × ( 5 × R + C ) tensor corresponds to one S × S grid from the image, including conditional probability, bounding box size, and coordinate information.
The loss function of YOLO is shown in Equation (61):
l o s s = η 1 + η 2 + η 3 + η 4
where η 1 is shown in Equation (62), representing the prediction of bounding box coordinate and its size; η 2 is shown in Equation (63), representing the confidence level prediction of a bounding box containing a target object; η 3 is shown in Equation (64), representing the confidence level prediction of a bounding box without a target object; and η 4 is shown in Equation (65), representing the conditional class probability prediction.
η 1 = λ c o o r d i = 0 S 2 j = 0 R 1 i j o b j [ ( x i x ^ i ) 2 + ( y i y ^ i ) 2 ] + λ c o o r d i = 0 S 2 j = 0 R 1 i j o b j [ ( w i w ^ i ) 2 + ( h i h ^ i ) 2 ]
η 2 = i = 0 S 2 j = 0 R 1 i j o b j ( c i c ^ i ) 2
η 3 = λ n o o b j i = 0 S 2 j = 0 R 1 i j n o o b j ( c i c ^ i ) 2
η 4 = i = 0 S 2 1 i o b j a c l a s s e s ( p i ( a ) p ^ i ( a ) ) 2
where λ c o o r d is the predicted weight of the bounding box coordinate; λ n o o b j is the confidence weight of bounding box without the target object; 1 i j o b j is used to judge if the j bounding box in i grid is responsible for the object; and 1 i o b j is used to judge whether there is an object center in i grid.
Through this loss of function, YOLO can achieve a balance between the bounding box coordinates and size, confidence, and conditional probability. In YOLO, there will be multiple bounding boxes in one grid conducting the prediction of the object. However, in the training process, it is hoped that each object can be predicted by only one bounding box in the end. Therefore, if the IOU (Intersection Over Union) of one current bounding box prediction to the GTB (Ground True Box) is the highest, this bounding box will be in charge of the prediction of this object. As the training progresses, each bounding box will provide a better prediction of the responsible object.
Meanwhile, when YOLO is used for real-time location of an aircraft or a target, it is only needed to recognize the single object, the aircraft, so C = 1. Moreover, because the output of YOLO contains bounding box coordinate and size, it is required to transmit the coordinate and size of the bounding box in the image into the actual location and distance of the aircraft. Therefore, the last fully connected layer is added to the YOLO network to build the relationship between the coordinate and size of the bounding box and the actual location and distance of the aircraft.
In network training, 2000 images are collected as the specimens, and the locations of the targets in sample images are marked. Some specimens are shown as Figure 14, Figure 15, Figure 16 and Figure 17. Figure 18 provides the recognition of targets by YOLO after training.
As seen in Table 3, when the UAV is away from the image boundary, it can be located accurately, but when the UAV approaches the image boundary or goes beyond the image range, the accuracy of the location may decrease.

3.2.2. Target Tracking

In the early stage, image tracking algorithms such as Camshift, light stream, and background subtraction were very popular, and were applied successfully in static background conditions. After 2008, such methods were gradually abandoned, with the research focus shifting to the study of image tracking with a dynamic or complex background.
Currently, OpenCV provides eight algorithms in target tracking: Boosting, Channel and Spatial Reliability Tracking (CSRT), GOTURN, KCF, Median Flow, Multiple Instance Learning (MIL), Minimum Output Sum of Squared Error (MOSSE), and Tracking Learning Detection (TLD), including the classic algorithm and the current advanced tracking algorithm.
The main contributions of the KCF algorithm are as follows: (1) Positive and negative samples are collected by using the cyclic matrix of the surrounding area of the target, and the target detector is trained by using ridge regression. The operation of a matrix is transformed into a Hadamard product of vector by the diagonalization property of a cyclic matrix in Fourier space, i.e., the dot product of an element, greatly reducing the amount of computation, improving the speed of operation, and making the algorithm meet the real-time need. (2) The ridge regression of linear space is mapped to the nonlinear space by a kernel function. In the nonlinear space, by solving a dual problem and some common constraints, the calculation can also be simplified by diagonalizing the cyclic matrix Fourier space. (3) A way to integrate multichannel data into the algorithm is presented. The histogram of oriented gradient (HOG) feature is used when the features of a targeted area are extracted. The HOG feature divides the image into smaller parts called cells. Gradient information is extracted from the cells, and a gradient orientation histogram is drawn to reduce the influence of light. By gathering the orientation histograms of several cells for block normalization, all orientation histograms of cells are connected in a series to get the features of the image.
The accelerating methods used in KCF are as follows: (1) Detection: the cyclic matrix + Fourier transform calculation response diagram are used; the original O ( N 3 ) algorithm needs only O ( n log ( n ) ) . (2) Training: The cyclic matrix property is used for training in the frequency domain. (3) Kernel regression acceleration: For a kernel function, it can also be converted to the frequency domain for training and detection, greatly improving the speed. (4) Special kernel functions are further accelerated: for a Gaussian kernel, a polynomial kernel can further use a cyclic matrix to calculate the cyclic matrix of kernel functions.
We have built the OpenCV running environment on the Jetson nano and deployed the YOLO algorithm and KCF tracker [33]. Then we prepared for the next test.

3.3. Automatic Tracking Strategy and PTZ Control

3.3.1. Principle of Visual Feedback Servo Tracking

Through image acquisition and comparison of successive frames, computer vision feedback can be realized. The difference between the target position extracted according to the next image information and the position information extracted from the previous image is used as the input signal of PTZ position control; the space movement of the moving target is converted into frame image plane coordinates, and the angle of rotation required for PTZ aiming is calculated to form the visual feedback.
As shown in Figure 19, the optical center point of the camera mounted on the PTZ is used as the reference point O e , and a space reference coordinate system O e x e y e z e is built. By means of the space reference coordinate system and image plane coordinate transformation, the coordinate of the target in the camera imaging plane, the image plane coordinate, is determined. Assuming that at moment t, the coordinate of the target object in the reference coordinate system O e x e y e z e is A ( x t , y t , z t ) , after image plane coordinate transformation, its location coordinate A ( x t 1 , y t 1 , ) in the image plane can be determined. After a very short time Δ t , PTZ does not act; the space reference coordinate system remains unchanged and the coordinate of the target object in the reference coordinate system is A ( x t + Δ t , y t + Δ t , z t + Δ t ) . After image plane coordinate transformation, its location coordinate A ( x t 1 + Δ t , y t 1 + Δ t , ) in the image plane can be determined. After calculation, within the time interval Δ t , the coordinate of the target object turns α and β relative to the x e axis and y e axis of the space reference coordinate system.
Assuming that the execution time of the PTZ action is 0, after the PTZ location adjustment, the space datum coordinate system becomes O e + Δ t x e + Δ t y e + Δ t z e + Δ t . The coordinate of the target in relative to the new space coordinate system is S t + Δ t ( x t + Δ t , y t + Δ t , z t + Δ t ) , and the image plane coordinate is A t + Δ t ( a x , t + Δ t , a y , t + Δ t ) . Assuming that before every rotation in this process, the camera coordinate system is the space coordinate system, its mathematical model can be described as shown in Equation (66):
O e + Δ t = R e + Δ t O e
where O e is the set space coordinate at moment t, i.e., the standard coordinate system; O e + Δ t is the camera coordinate after rotation at moment Δ t , equivalent to the transition coordinate system introduced for calculating the rotation. In R e + Δ t = R α × R β , R e + Δ t is the rotation matrix. Its coordinate transformation, i.e., the process of movement, is as shown in Figure 19. The target object moves from Point A to Point B, and yaw angle α and pitch angle β are adjusted through PTZ to ensure that the visual axis is aligned with the target object and achieve target tracking.
The 2-DOF PTZ angle is adjusted to ensure the coincidence of optical center and rotation center; the tracking motion of the visual axis can be broken into the rotation motion around x axis and y axis in the camera coordinate system. The matrix is shown in Equation (67):
R e + Δ t = [ cos Δ β 0 sin Δ β sin Δ β sin Δ α cos Δ α sin Δ α cos Δ β sin Δ β cos Δ α sin Δ α cos Δ α cos Δ β ]
The workflow is as follows: in coordinate system o, the starting position of the UAV is the origin of coordinates, the starting position of target is A ( x t , y t , z t ) and the detection angle of airborne camera is 120°. After a short time Δ t , the target position is A ( x t + Δ t , y t + Δ t , z t + Δ t ) . (1) The Jetson Nano collects a video stream through the UAV front-end camera. (2) When the target is found, it marks the target and sends the target frame coordinates and color images to the target tracking algorithm for initialization. (3) The color image is sent to the target tracking algorithm for iterative updating, and the next color image is re-executed in the third step. (4) According to the color image and the corresponding target frame coordinate information, the UAV flight height, speed, and attitude angle are controlled in order to enable the UAV to approach the target. The Jetson Nano detects distance via the front-end ultrasonic ranging module to keep a safe distance from the target. (5) After entering the range, the Arduino control board executes the fire control program, drives the two-degrees-of-freedom steering gear pan tilt, quickly corrects angles α and β between the collimation and the target, automatically executes the shooting command after aiming, drives the gel ball blaster unit motor to launch through the relay, and completes its task of hitting the target.
In ideal conditions, the new coordinate should be the same as the image plane coordinate at moment t. In the actual movement process, due to the extraction error of image plane coordinates in the target recognition process and the tracking error of the control system, an because of the continuous movement of the target during the tracking process, the visual feedback system suffers an upper limit of tracking speed. In order to further improve the speed and accuracy of target tracking, higher requirements are put forward for the design of a PTZ controller.

3.3.2. Anti-Windup PID Control Algorithm

In the design process of the pan tilt control system, the structural strength and response speed of the steering gear are limited; in general, this is referred to as plant input limitation. In addition, the PTZ module requires frequent switches to different modes, such as from follow mode to target attack mode, which is known as plant input substitution. Due to the existence of input limitation and displacement, the input and output of the control system are sometimes unequal, which leads to further variation in the closed-loop response of the control system, resulting in the windup phenomenon. The PID controller is widely used across various aspects of control system design. In order to eliminate static error, the windup phenomenon is inevitable in the integral part of the controller. The fast-tracking task results in higher requirements in the design of the PTZ control system. Typically, the control system takes a small signal as input in the process of debugging and operation. When the PTZ of the steering gear quickly follows and adjusts the firing angle, the control signal input is given a large range of sudden change, which is prone to large overshoots and vibrations, affecting the stability of the entire flight control system.
In view of the windup phenomenon in the PTZ control system, we have established the PTZ model of the steering gear, analyzed the influence of the structure, speed and force of the steering gear on tracking and proposed an Anti-Windup PID controller to reduce the influence of actuator saturation and improve the dynamic response performance of the steering gear PTZ. Firstly, we ignore the nonlinear effect of saturation caused by the actuator limitation of the steering gear and take the deviation between the expected position of the aim point and the actual position as the input value, integrate the saturation error, and weaken the saturation effect by adjusting the adaptive coefficient. When the pan tilt of the steering gear is adjusted slightly, the compensator does not work. When the PTZ of the steering gear is adjusted rapidly and at a large angle, the path and time information and large signal are taken as input values. The PID controller with anti-integral saturation compensation will play a role in ensuring the control performance as the system is saturated. The input video stream resolution is 1080 × 720 pixels. The center abscissa (540,360) of the frame image pixel of the video stream is taken as the given value, and the center abscissa of the target frame is taken as the output value and negative feedback, all of which form a closed-loop control loop. After the difference between the given value and the feedback value is passed through the Anti-Windup PID controller, it is sent to the Arduino control board through the serial port. From this, the angular speed of rotation is calculated in order to control the rotation of the pan tilt of the steering gear so that the target is in the center of the image.
In this simulation experiment, the Anti-Windup PID controller adopts back-calculation, and the structure is shown in Figure 20.
Anti-Windup PID controller output expression:
u n = K K e ( τ 1 s + 1 ) τ 1 ( K e s + 1 ) e + 1 K e s + 1 u s
In the determination of distance from the target, we adopted the ultrasonic ranging scheme. The threshold value is set to 10 m. When the ultrasonic device detects that it is 10 m from the target, the UAV stops moving toward it. The 10 m distance can effectively ensure the safety of the UAV, and at the same time, remain within effective expelling range. In this paper, the binocular camera is not used for video streaming and target depth information collection, because the data volume of the binocular camera is too large, and the maximum processing speed of the airborne processor Jetson Nano can only reach three frames per second. The real-time performance of the program is poor.

4. Experimental Results

The experiment is divided into five stages:
In the first stage, in Section 2.2 and Section 3.1, the back-stepping method was applied to design the attitude controller and trajectory tracking controller of quadcopters, and the Lyapunov stability of the said controllers was demonstrated. An experimental simulation based on the quadcopter model was conducted to validate the correctness of the designed controllers. To demonstrate the advanced nature of the controllers, the traditional PID controller was used as a comparable counterpart. The diagram of the trajectory tracking controller designed for the quadcopter is shown in Figure 21.
Under the Matlab2018/Simulink environment, the trajectory tracking of the designed controller was simulated, where a fixed step size of 0.001 s was adopted. The specified trajectory was given by Equation (69), and the initial values for the attitude angle, its angular velocity, position, and speed were all zero in the initial state. The following parameters for the controller were selected, as shown in Table 4.
{ x d = 0 ,   y d = 0 ,   z d = 0.2 t ;   t ( 0 , 5 ] x d = 0.5 × ( t 5 ) ,   y d = 0 ,   z d = 1 ;   t ( 5 , 10 ] x d = 2.5 ,   y d = 0.3 × ( t 10 ) ,   z d = 1 ;   t ( 10 , 15 ] x d = 2.5 0.5 × ( t 15 ) ,   y d = 1.5 ,   z d = 1 ;   t ( 15 , 20 ] x d = 0 ,   y d = 1.5 0.3 × ( t 20 ) ,   z d = 1 ;   t ( 20 , 25 ] x d = 0 ,   y d = 0 ,   z = 1 + 0.2 × ( t 25 ) ;   t ( 25 , 30 ]   ψ d = 0   r a d ,   t ( 0 , 5 ] ψ d = 0.25   r a d ,   t ( 5 , 30 ]
The external disturbance terms D t υ ( t ) and D t ω ( t ) are shown by Equation (70) and Equation (71), respectively.
d a ( t ) = [ 0.6785 cos ( 1.2 t + 30 ° ) 0.8422 sin ( 1.5 t + 50 ° ) 0.5114 cos ( 1.3 t + 20 ° ) ]
[ d t u ( t ) d t v ( t ) d t w ( t ) ] = [ 1.3187 cos ( 0.7 t + 40 ° ) 1.3562 sin ( 0.5 t + 20 ° ) 2.5716 cos ( 0.8 t + 50 ° ) ]
The simulation results are shown in Figure 22.
As can be seen from the simulation results in Figure 22, the quadcopter has fairly good performance in terms of tracking the desired trajectories under the designed trajectory tracking controller. As can be seen from Figure 22b, when tracking 3D trajectories, the maximum error is kept within 0.15 m; comparatively, the maximum error under the PID controller reaches 0.3 m. Furthermore, the average error of the designed controller is also lower than that of the PID controller. As seen in Figure 22c–f, the maximum tracking errors along the x- and y-axis are around 0.1 m, and both the maximum and average errors are lower than those of the PID controller. As seen in Figure 22g–h, the tracking error remains within 0.02 m along the z-axis—an evidently better performance than the PID controller.
As seen in Figure 22i,n, both the designed attitude controller and the PID attitude controller can effectively maintain the quadcopter’s attitude. However, the attitude controller designed in this paper can enable the three attitude angles of the quadcopter to rapidly converge towards the desired angles.
In the meantime, as seen in Equation (69), the desired trajectories of the quadcopter when t ( 0 , 5 ] s and t ( 25 , 30 ] s are straight upwards and straight downwards. Under the effect of external disturbances, the tracking errors along the x- and y-axis remain within 0.01 m, and around 0.02 m along the z-axis. These lay the foundation for quadrotor flight stability. During outdoor testing with disturbance factors like varied wind force, wind direction, and mass, the controller also delivered fairly good stability and reliability.
In the second stage, we ran a test for target tracking algorithm. The test was conducted with the selected balloon in the air and the fixed-wing model aircraft in flight. The result showed that fast and accurate tracking can be realized in airborne image processing with a velocity of around 7 FPS when the size, speed, posture, and background of the target change. As shown in Figure 23. Table 5 listed the tracking rate of different types of targets.
In the third stage, we ran a trajectory tracking MATLAB simulation experiment of the steering gear PTZ. Expected trajectories in shapes of square and Z were set up to test the performance of Anti-Windup PID controller. Compared with a traditional PID controller, the results showed that, under the large signal input with rapid changes, the overshoot of the Anti-Windup PID controller is smaller with faster shrink, and its PTZ controlling performance is better than that of the traditional PID controller, as shown in Figure 24.
In the fourth stage, we ran an indoor static test. The UAV was placed on a box with a height of 0.5 m. The target was set 1.5 m high and 8 m away from the UAV. When the target was calibrated, Jetson nano, Arduino, and the steering gear PTZ located the target within 2 s, corrected the shooting trajectory, and triggered the shooting procedure. The gel ball trajectory was scattered within the range of 10 cm. High-speed cameras had been used to shoot the target, and then the number of impact points in each target area was counted through slow-motion playback to calculate the accuracy of PTZ launch. Hit rate of indoor static test (deviation <20 cm) was 94.44%. An expected result was achieved in the experiment. Indoor accuracy test, as shown in Table 6 and Figure 25.
In the fifth stage, we launched an outdoor dynamic expelling test. As shown in Table 7 and Figure 26. The target was fixed on the DJI (DJ-Innovations, Shenzhen, China) UAV, which could move randomly in the air. The UAV we designed could follow the flight with a response speed of only 0.5 s. Meanwhile, it processed the target tracking program at high speed (the rate in testing environment was 7.2 Fps), and executed the trajectory correcting program (10 times/s) and the launching program (15 times/s). The gel ball dispersion was within 20 cm in field tests. Figure 27 is a close-up shot of the target, and Figure 28 is the gray-scale image of the target, which shows the distribution of impact points visually. The test method is the same as above. Hit rate of outdoor dynamic test (deviation <20 cm) was 82.98%. In the outdoor dynamic shooting test, fast and effective expulsion of the target UAV was achieved.

5. Conclusions and Future Work

We have designed an integrated identification, tracking, and expelling quadcopter UAV system based on computer vision, proposed a real-time image recognition, location, and tracking plan based on the YOLO and KCF algorithms, and designed corresponding target tracking and expelling strategies. We have made a prototype UAV, conducted target recognition and tracking tests, a PTZ control algorithm test, an indoor static test, and outdoor dynamic expelling testing, and assessed the design plan in different scenarios. According to the experiment, an automatic target identification and tracking system is designed based on the YOLO and KCF algorithms, and the ability to identify and track the target with high speed in a complex environment is realized. Additionally, the high-speed steering gear PTZ that is designed by the Anti-Windup algorithm is adopted to effectively ensure the ability of operating the aiming and expelling device with high speed and precision. The UAV system based on computer vision introduced in this paper can identify, track, and expel small targets and changeable targets quickly in complex environments, thus realizing the air target control with high efficiency and low cost.
We have demonstrated that the computer vision technology has great feasibility and significance in the design of an integrated identification, tracking and expelling UAV, with broad application prospects in civil fields. However, some problems still deserve further research:
  • Meteorological conditions may have a great influence on target recognition, especially the light intensity, dust, smoke, and other interference factors.
  • Based on the multiple-target and tracking studies of the YOLO and KCF algorithms, an estimation of the moving speed and trajectory of multiple targets, and the prediction of the hazard level.
  • The impact of vibration on PTZ and attack precision of targets in the operating process of the trigger mechanism. The electrically controlled simulated launch device used in this experiment has a small recoil force, so the impact of vibration is not considered for the time being. In future practical applications, the vibrations created by the target expulsion device cannot be ignored, and a damping device should be designed.
  • Unlike high-cost schemes, this paper focuses on a low-cost target-expelling scheme, using gel balls as combat ammunition. In a real flight environment, wind power, wind direction, and ammunition weight are the factors that must be considered, and an analysis of hitting points spread across different ranges is needed.
The design of the obstacle avoidance system based on multisensor information fusion has been completed and successfully tested. It will be introduced in detail in future articles. A video (Supplementary Materials) link to the whole experiment has been included at the end of this article and gives part of the obstacle avoidance test. You are welcome to click on it and check our results.

Supplementary Materials

Video of the whole experiment: https://youtu.be/IPUHHmi-Gto.

Author Contributions

L.W. and J.A. conceived the methodology; L.W. designed the experiments; L.W., L.Z. and Z.X. performed the experiments and analyzed the data; J.A. provided valuable advice and guidance; L.W.wrote the paper. All authors have read and agreed to the published version of the manuscript

Funding

This research received no external funding.

Conflicts of Interest

The authors declare no conflict of interest.

Abbreviation

UAVUnmanned Aerial Vehicle
DOFDegrees of Freedom
PTZPan/Tilt/Zoom
YOLOYou Only Look Once
KCFKernel Correlation Filter
PIDProportional Integral Derivative
RFRadio Frequency
FMCWFrequency Modulated Continuous Wave
MIMOMultiple Input Multiple Output
DOADirection of Arrival
RSSReceived-Signal-Strength
HOGHistogram of Oriented Gradient
3DThree-Dimensional
EMIElectromagnetic Interference
RBFNNRadial Basis Function Neural Network
DNNDeep Neural Network
CNNConvolutional Neural Network
R-CNNRegions with Convolutional Neural Network Features
FPSFrames Per Second
CSRTChannel and Spatial Reliability Tracking
MILMultiple Instance Learning
MOSSEMinimum Output Sum of Squared Error
TLDTracking Learning Detection
HOGHistogram of Oriented Gradient

References

  1. Gatwick Airport: Drones Ground Flights. Available online: https://www.bbc.com/news/uk-england-sussex-46623754 (accessed on 6 April 2020).
  2. Nowak, A.; Naus, K.; Maksimiuk, D. A method of fast and simultaneous calibration of many mobile FMCW radars operating in a network anti-drone system. Remote Sens. 2019, 11, 2617. [Google Scholar] [CrossRef] [Green Version]
  3. Multerer, T.; Ganis, A.; Prechtel, U.; Miralles, E.; Meusling, A.; Mietzner, J.; Vossiek, M.; Loghi, M.; Ziegler, V. Low-cost jamming system against small drones using a 3D MIMO radar based tracking. In Proceedings of the 2017 European Radar Conference (EURAD), Nuremberg, Germany, 11–13 October 2017; pp. 299–302. [Google Scholar]
  4. Lee, J.; Go, Y.-J.; Kim, S.; Choi, J.-S. Flight Path Measurement of Drones Using Microphone Array and Performance Improvement Method Using Unscented Kalman Filter. J. Korean Soc. Aeronaut. Space Sci. 2018, 46, 975–985. [Google Scholar]
  5. Zhang, Z.; Cao, Y.; Ding, M.; Zhuang, L.; Yao, W. An intruder detection algorithm for vision based sense and avoid system. In Proceedings of the 2016 International Conference on Unmanned Aircraft Systems (ICUAS), Arlington, VA, USA, 7–10 June 2016; pp. 550–556. [Google Scholar]
  6. Ganti, S.R.; Kim, Y. Implementation of detection and tracking mechanism for small UAS. In Proceedings of the 2016 International Conference on Unmanned Aircraft Systems (ICUAS), Arlington, VA, USA, 7–10 June 2016; pp. 1254–1260. [Google Scholar]
  7. Ju, M.; Luo, H.; Wang, Z.; Hui, B.; Chang, Z. The application of improved YOLO V3 in multi-scale target detection. Appl. Sci. 2019, 9, 3775. [Google Scholar] [CrossRef] [Green Version]
  8. Lan, W.; Dang, J.; Wang, Y.; Wang, S. Pedestrian detection based on yolo network model. In Proceedings of the 2018 IEEE International Conference on Mechatronics and Automation (ICMA), Changchun, China, 5–8 August 2018; pp. 1547–1551. [Google Scholar]
  9. Oltean, G.; Florea, C.; Orghidan, R.; Oltean, V. Towards Real Time Vehicle Counting using YOLO-Tiny and Fast Motion Estimation. In Proceedings of the 2019 IEEE 25th International Symposium for Design and Technology in Electronic Packaging (SIITME), Cluj-Napoca, Romania, 23–26 October 2019; pp. 240–243. [Google Scholar]
  10. Lestari, D.P.; Kosasih, R.; Handhika, T.; Sari, I.; Fahrurozi, A. Fire Hotspots Detection System on CCTV Videos Using You Only Look Once (YOLO) Method and Tiny YOLO Model for High Buildings Evacuation. In Proceedings of the 2019 2nd International Conference of Computer and Informatics Engineering (IC2IE), Banyuwangi, Indonesia, 10–11 September 2019; pp. 87–92. [Google Scholar]
  11. Zhang, R.; Yang, Y.; Wang, W.; Zeng, L.; Chen, J.; McGrath, S. An algorithm for obstacle detection based on YOLO and light filed camera. In Proceedings of the 2018 12th International Conference on Sensing Technology (ICST), Limerick, Ireland, 4–6 December 2018; pp. 223–226. [Google Scholar]
  12. Yoon, Y.; Hwang, H.; Choi, Y.; Joo, M.; Oh, H.; Park, I.; Lee, K.-H.; Hwang, J.-H. Analyzing Basketball Movements and Pass Relationships Using Realtime Object Tracking Techniques Based on Deep Learning. IEEE Access 2019, 7, 56564–56576. [Google Scholar] [CrossRef]
  13. Awad, S.; Alkashash, A.; Fatima, H.; Eltoum, I. Yolov3 Pap Test: The Use of Publically Available Neural Networks for Screening Pap Test. In Laboratory Investigation; Nature Publishing Group: New York, NY, USA, 2020; pp. 327–328. [Google Scholar]
  14. Orsag, M.; Korpela, C.; Oh, P. Modeling and control of MM-UAV: Mobile manipulating unmanned aerial vehicle. J. Intell. Robot. Syst. 2013, 69, 227–240. [Google Scholar] [CrossRef]
  15. Thomas, J.; Polin, J.; Sreenath, K.; Kumar, V. Avian-inspired grasping for quadrotor micro UAVs. In Proceedings of the ASME 2013 International Design Engineering Technical Conferences and Computers and Information in Engineering Conference, Portland, OR, USA, 4–7 August 2013. [Google Scholar]
  16. Bellicoso, C.D.; Buonocore, L.R.; Lippiello, V.; Siciliano, B. Design, modeling and control of a 5-DoF light-weight robot arm for aerial manipulation. In Proceedings of the 2015 23rd Mediterranean Conference on Control and Automation (MED), Torremolinos, Spain, 16–19 June 2015; pp. 853–858. [Google Scholar]
  17. Hua, K.C. Water Crystal Paintball Soft Bullet Gun Unboxing & Testing. Available online: https://www.youtube.com/watch?v=54Zz3q-LouI (accessed on 3 March 2020).
  18. Sangdani, M.; Tavakolpour-Saleh, A.; Lotfavar, A. Genetic algorithm-based optimal computed torque control of a vision-based tracker robot: Simulation and experiment. Eng. Appl. Artif. Intell. 2018, 67, 24–38. [Google Scholar] [CrossRef]
  19. Rabah, M.; Rohan, A.; Han, Y.-J.; Kim, S.-H. Design of fuzzy-PID controller for quadcopter trajectory-tracking. Int. J. Fuzzy Log. Intell. Syst. 2018, 18, 204–213. [Google Scholar] [CrossRef] [Green Version]
  20. Nguyen, N.P.; Hong, S.K. Fault-tolerant control of quadcopter UAVs using robust adaptive sliding mode approach. Energies 2019, 12, 95. [Google Scholar] [CrossRef] [Green Version]
  21. LOUBAR, H.; Boushaki, R.Z.; ARIBI, Y.; Abdellah, K. Altitude Back-stepping Control of Quadcopter. In Proceedings of the 2019 International Conference on Applied Automation and Industrial Diagnostics (ICAAID), Elazig, Turkey, 25–27 September 2019; pp. 1–11. [Google Scholar]
  22. Kuantama, E.; Tarca, I.; Tarca, R. Feedback linearization LQR control for quadcopter position tracking. In Proceedings of the 2018 5th International Conference on Control, Decision and Information Technologies (CoDIT), Thessaloniki, Greece, 10–13 April 2018; pp. 204–209. [Google Scholar]
  23. Talha, M.; Asghar, F.; Rohan, A.; Rabah, M.; Kim, S.H. Fuzzy logic-based robust and autonomous safe landing for UAV quadcopter. Arab. J. Sci. Eng. 2019, 44, 2627–2639. [Google Scholar] [CrossRef]
  24. Ren, B.; Ge, S.S.; Tee, K.P.; Lee, T.H. Adaptive neural control for output feedback nonlinear systems using a barrier Lyapunov function. IEEE Trans. Neural Netw. 2010, 21, 1339–1345. [Google Scholar] [PubMed]
  25. Ge, S.S.; Wang, C. Adaptive neural control of uncertain MIMO nonlinear systems. IEEE Trans. Neural Netw. 2004, 15, 674–692. [Google Scholar] [CrossRef] [PubMed]
  26. Girshick, R.; Donahue, J.; Darrell, T.; Malik, J. Rich feature hierarchies for accurate object detection and semantic segmentation. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, Columbus, OH, USA, 23–28 June 2014; pp. 580–587. [Google Scholar]
  27. Ren, S.; He, K.; Girshick, R.; Sun, J. Faster r-cnn: Towards real-time object detection with region proposal networks. In Advances in Neural Information Processing Systems; MIT Press: Cambridge, MA, USA, 2015; pp. 91–99. [Google Scholar]
  28. Girshick, R. Fast r-cnn. In Proceedings of the IEEE International Conference on Computer Vision, Santiago, Chile, 11–18 December 2015; pp. 1440–1448. [Google Scholar]
  29. Redmon, J.; Divvala, S.; Girshick, R.; Farhadi, A. You only look once: Unified, real-time object detection. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, Las Vegas, NV, USA, 27–30 June 2016; pp. 779–788. [Google Scholar]
  30. Redmon, J.; Farhadi, A. YOLO9000: Better, faster, stronger. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, Honolulu, NI, USA, 21–26 July 2017; pp. 7263–7271. [Google Scholar]
  31. Redmon, J.; Farhadi, A. Yolov3: An incremental improvement. arXiv 2018, arXiv:1804.02767. [Google Scholar]
  32. Zhang, X.; Yang, W.; Tang, X.; Liu, J. A fast learning method for accurate and robust lane detection using two-stage feature extraction with YOLO v3. Sensors 2018, 18, 4308. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  33. Howse, J. OpenCV Computer Vision with Python; Packt Publishing Ltd.: Birmingham, UK, 2013. [Google Scholar]
Figure 1. 3D modeling.
Figure 1. 3D modeling.
Sensors 20 02475 g001
Figure 2. Photo of prototype.
Figure 2. Photo of prototype.
Sensors 20 02475 g002
Figure 3. System architecture.
Figure 3. System architecture.
Sensors 20 02475 g003
Figure 4. Quadcopter force analysis diagram.
Figure 4. Quadcopter force analysis diagram.
Sensors 20 02475 g004
Figure 5. Quadcopter coordinate system.
Figure 5. Quadcopter coordinate system.
Sensors 20 02475 g005
Figure 6. Quadcopter plane: simplified structure.
Figure 6. Quadcopter plane: simplified structure.
Sensors 20 02475 g006
Figure 7. Gel ball blaster.
Figure 7. Gel ball blaster.
Sensors 20 02475 g007
Figure 8. Assembly drawing of continuous gel balls feeding device.
Figure 8. Assembly drawing of continuous gel balls feeding device.
Sensors 20 02475 g008
Figure 9. Environmentally friendly gel balls [17].
Figure 9. Environmentally friendly gel balls [17].
Sensors 20 02475 g009
Figure 10. PTZ launcher.
Figure 10. PTZ launcher.
Sensors 20 02475 g010
Figure 11. Ground station.
Figure 11. Ground station.
Sensors 20 02475 g011
Figure 12. Structural diagram of quadcopter attitude controller.
Figure 12. Structural diagram of quadcopter attitude controller.
Sensors 20 02475 g012
Figure 13. YOLO network architecture.
Figure 13. YOLO network architecture.
Sensors 20 02475 g013
Figure 14. Rotorcraft positive specimen training set.
Figure 14. Rotorcraft positive specimen training set.
Sensors 20 02475 g014
Figure 15. Balloon positive specimen training set.
Figure 15. Balloon positive specimen training set.
Sensors 20 02475 g015
Figure 16. Fixed-wing aircraft positive specimen training set.
Figure 16. Fixed-wing aircraft positive specimen training set.
Sensors 20 02475 g016
Figure 17. Target positive specimen training set.
Figure 17. Target positive specimen training set.
Sensors 20 02475 g017
Figure 18. YOLO real-time recognition location UAV. (ad) Four sets of localization experiments.
Figure 18. YOLO real-time recognition location UAV. (ad) Four sets of localization experiments.
Sensors 20 02475 g018
Figure 19. 2-DOF PTZ tracking coordinate diagram.
Figure 19. 2-DOF PTZ tracking coordinate diagram.
Sensors 20 02475 g019
Figure 20. Back-calculation anti-windup Proportional Integral Derivative (PID) structure.
Figure 20. Back-calculation anti-windup Proportional Integral Derivative (PID) structure.
Sensors 20 02475 g020
Figure 21. Structural diagram of quadcopter trajectory tracking controller.
Figure 21. Structural diagram of quadcopter trajectory tracking controller.
Sensors 20 02475 g021
Figure 22. Curve of quadcopter trajectory tracking responses. (a) 3D curve of trajectory tracking. (b) Curve of trajectory tracking errors. (c) Curve of trajectory tracking along the x-axis. (d) Curve of trajectory tracking errors along the x-axis. (e) Curve of trajectory tracking along the y-axis. (f) Curve of trajectory tracking errors along the y-axis. (g) Curve of trajectory tracking along the z-axis. (h) Curve of trajectory tracking errors along the z-axis. (i) Curve of roll angle responses. (j) Curve of roll angle tracking errors. (k) Curve of pitch angle responses. (l) Curve of pitch angle tracking errors. (m) Curve of yaw angle responses. (n) Curve of yaw angle tracking errors.
Figure 22. Curve of quadcopter trajectory tracking responses. (a) 3D curve of trajectory tracking. (b) Curve of trajectory tracking errors. (c) Curve of trajectory tracking along the x-axis. (d) Curve of trajectory tracking errors along the x-axis. (e) Curve of trajectory tracking along the y-axis. (f) Curve of trajectory tracking errors along the y-axis. (g) Curve of trajectory tracking along the z-axis. (h) Curve of trajectory tracking errors along the z-axis. (i) Curve of roll angle responses. (j) Curve of roll angle tracking errors. (k) Curve of pitch angle responses. (l) Curve of pitch angle tracking errors. (m) Curve of yaw angle responses. (n) Curve of yaw angle tracking errors.
Sensors 20 02475 g022aSensors 20 02475 g022bSensors 20 02475 g022c
Figure 23. Target tracking test: (a) balloon in the air; (b) fixed-wing model aircraft in flight.
Figure 23. Target tracking test: (a) balloon in the air; (b) fixed-wing model aircraft in flight.
Sensors 20 02475 g023
Figure 24. Simulation test of PTZ controller trajectory tracking: (a) shape of square; (b) shape of Z.
Figure 24. Simulation test of PTZ controller trajectory tracking: (a) shape of square; (b) shape of Z.
Sensors 20 02475 g024
Figure 25. Indoor static test.
Figure 25. Indoor static test.
Sensors 20 02475 g025
Figure 26. Outdoor dynamic expelling test.
Figure 26. Outdoor dynamic expelling test.
Sensors 20 02475 g026
Figure 27. Target image.
Figure 27. Target image.
Sensors 20 02475 g027
Figure 28. Target in grayscale.
Figure 28. Target in grayscale.
Sensors 20 02475 g028
Table 1. Comparison of monitoring technologies.
Table 1. Comparison of monitoring technologies.
Monitoring TechnologiesDrone SignatureLocalization/Tracking MethodDetection RangeCan it Expel Targets?Challenges
RadarMicro-DopplerDoppler-based tracking delay-based localization≤3000 mNOLow radar cross-section, low speed and altitude
AudioTime-frequency featureDOA-based localization40–300 mNOHigh ambient noise
VideoAppearance feature motion featureMotion-based tracking100–1000 mNOOcclusion indistinguishable small object
RFCommunication channelReceived-signal-strength (RSS)/DOA-based localization≤1000 mYESEMI
Table 2. Quadcopter parameters.
Table 2. Quadcopter parameters.
ParametersValuesUnits
m 1.94 kg
g 9.81 m/s2
l t 265 mm
J t r 4.92 × 10 6 kg·m2
J x x 2.37 × 10 3 kg·m2
J y y 3.51 × 10 3 kg·m2
J z z 5.31 × 10 3 kg·m2
Table 3. You Only Look Once (YOLO) real-time recognition location results.
Table 3. You Only Look Once (YOLO) real-time recognition location results.
Parametersabcd
Bounding box x coordinate0.50280.29200.74340.5055
Bounding box y coordinate0.47830.48670.46750.6494
Bounding box length0.57520.57580.43790.5634
Bounding box height0.76510.76260.76020.6964
Actual x coordinate (cm)0–30300
Actual y coordinate (cm)00010
Actual altitude (cm)100100100100
Recognition x coordinate (cm)0.0354−26.3031.210.0707
Recognition y coordinate (cm)–0.1591–0.2299–0.238710.96
Recognition altitude (cm)98.1098.16133.2102.8
Table 4. Simulation parameters.
Table 4. Simulation parameters.
Back-Stepping ControllerNonlinear Disturbance ObserverPID Controller
Λ t a = d i a g { 5 , 5 , 5 } L t υ = d i a g { 40 , 40 , 40 } K x p = 5 , K x i = 5 , K x d = 5
Λ t ω = d i a g { 10 , 10 , 10 } L t ω = d i a g { 50 , 50 , 50 } K y p = 5 , K y i = 5 , K y d = 5
Λ t p = d i a g { 1 , 1 , 0.5 } K z p = 10 , K z i = 3 , K z d = 10
Λ t υ = d i a g { 5 , 5 , 10 } K ϕ p = 5 , K ϕ i = 3 , K ϕ d = 4
K θ p = 5 , K θ i = 3 , K θ d = 4
K ψ p = 5 , K ψ i = 2 , K ψ d = 1.5
Table 5. Tracking rates of different types of targets.
Table 5. Tracking rates of different types of targets.
Target TypeBalloonFixed-Wing ModelDJI Phantom4 DJI Mavic ProDJI Mavic Air
Frame rate (Fps)6.837.176.526.146.10
Table 6. Indoor accuracy test.
Table 6. Indoor accuracy test.
Distance from Target Center (cm)0–56–1011–1516–2020+
Number of impact points32281785
Table 7. Outdoor accuracy test.
Table 7. Outdoor accuracy test.
Distance from Target Center (cm)0–56–1011–1516–2020+
Number of impact points1219262116

Share and Cite

MDPI and ACS Style

Wang, L.; Ai, J.; Zhang, L.; Xing, Z. Design of Airport Obstacle-Free Zone Monitoring UAV System Based on Computer Vision. Sensors 2020, 20, 2475. https://doi.org/10.3390/s20092475

AMA Style

Wang L, Ai J, Zhang L, Xing Z. Design of Airport Obstacle-Free Zone Monitoring UAV System Based on Computer Vision. Sensors. 2020; 20(9):2475. https://doi.org/10.3390/s20092475

Chicago/Turabian Style

Wang, Liang, Jianliang Ai, Li Zhang, and Zhenlin Xing. 2020. "Design of Airport Obstacle-Free Zone Monitoring UAV System Based on Computer Vision" Sensors 20, no. 9: 2475. https://doi.org/10.3390/s20092475

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop