Designing and Implementing a Low-cost Unmanned Aerial Vehicle Based on BeiDou/GPS

1College of Information Technology, Shanghai Ocean University, Shanghai 201306, China 2Key Laboratory of Fisheries Information, Ministry of Agriculture, Shanghai 201306, China 3Shanghai Academy of Spaceflight Technology, Shanghai 200233, China 4Guizhou Earthquake Agency, Guiyang 550001, Guizhou, China 5TITANE Team, French Institute for Research in Computer Science and Automation (INRIA), Sophia Antipolis Méditerranée, France


Introduction
Unmanned aerial vehicles (UAVs) are commonly used in various fields owing to their flexibility and affordability. (1) Applications include land and resource planning, (2) pine disease monitoring in farms, (3) and disaster assessment. (4,5) Accompanying the growth in the low-cost micro-UAV market, demand for tilt photography 3D reconstruction is on the rise. (6) Tilt photography uses texture information from a building's roof and four sides/figures obtained by a camera to match and model the features and thus produce a 3D model of the figure. (7) Despite its high precision, (8) the traditional tilt photography equipment carried by manned aircraft is expensive, has poor emergency response capability, and is also susceptible to the weather. (9) A UAV tilt camera system has the advantages of low-altitude flight, fast execution cycle, simple operation, and affordability. Additionally, its operation is not affected by clouds, haze, rainfall, or detailed features near ground level. Therefore, in recent years, considerable research has been conducted on these systems. As early as 2003, UC Berkeley's BEAR (Berkeley Aerial Robotic) project team developed a small unmanned helicopter, which realized autonomous takeoff, hovering, obstacle avoidance, and landing. (10) Many universities worldwide have conducted similar studies, achieving autonomous formation flight and autonomous landing.
In recent years in China, consumer UAVs have achieved unprecedented progress. The most representative company is Da Jiang Innovation (DJI) Company in Shenzhen, which was founded in 2006 and was originally focused on helicopter flight control products. After multiaxis flight control trial tests, the Phantom-4 UAV was launched in 2013, and subsequent models were gradually launched, rapidly gaining 70% of the UAV market. (11) UAVs are now widely applied in terrain mapping and 3D reconstruction. (12) Most existing research into UAVs has focused on the control for high-cost UAVs. (13) For example, SensFly eBee and Trimble UX5 are the two most popular hybrid wing aircraft in the world. However, their prices are much higher than $10,000. On the other hand, UAV tilt photography takes advantage of the compactness, lightness, and affordability of UAVs. Yet, it still has many disadvantages: although a multirotor UAV can take off and land vertically, it is not energy-efficient, and its endurance time and range are limited. Helicopter energy efficiency has improved, but the capital and maintenance costs of the complex mechanical structure are high. Fixed-wing UAVs have advantages in carrying capacity and range but require specific take-off and landing conditions. In addition, marked position changes during rotation cause the GPS antenna to tilt, reducing positioning accuracy. (14) For this study, we designed and implemented low-cost UAV hardware and software systems. The proposed micro-UAV body is based on a foam structure with structural enhancement to carry motion cameras and a flight controller, and to meet endurance requirements. By using a ground station and a flight controller based on ArduPilot, the route optimization configuration problem can be solved, and BeiDou/GPS integrated positioning obtains a more reliable positioning constellation and ensures positioning accuracy when the altitude angle is wide. The major improvements of the proposed aircraft are twofold. 1) Micro-vortex generators are set at the vertex trailing edge of the wings to prevent the airflow separation from affecting the lift generation and the steering moment of the rear rudder during low-speed flight. In addition, adjusting the lowest airspeed limit of the flight control and reducing the motor speed response rate according to the wing adjustment effect can improve the energy utilization rate. 2) We modify the center of gravity of the aft by adding part of the battery to the aft fuselage cabin, we adjust the fuselage to a statically indeterminate state, and we modify the default flight control parameters to adapt to the adjustment. These changes increase the sensitivity of control and reduce the energy cost.
The contents of this paper include the following: (1) Analysis of the UAV flight control system. We use the extended Kalman filter (EKF) method to reduce noise, fuse multisensor data, and calculate the UAV heading direction. The results are improved and the UAV becomes more stable.
(2) Analysis of BeiDou/GPS integrated navigation technology. A BeiDou and GPS integrated navigation chip realizes integrated positioning. When there is a poor signal, signals from additional satellites are obtained. This allows a higher positioning accuracy and a more stable flight. (3) Design and production of a low-cost fixed-wing UAV. Its fuselage is made of a foam material and strengthened with carbon fiber rods. The UAV is driven by a single propeller driven by a motor. It is equipped with a carbon fiber photography system with two cameras and a single-chip microcomputer controller for controlling exposure synchronization. The higher flight efficiency of the fixed-wing aircraft allows longer flight times.

General framework
The framework of our proposed UAV system is shown in Fig. 1. It consists of three main parts: the ground station, the UAV flight controls and fuselage, and the load assembly. The ground station includes the software for flight control and parameter adjustment, UAV route planning, and status display, as well as the laptop/ground station computer box to install the data transmission module for the operation software. We selected the low-cost and open-source flight control software ArduPilot (15) and the compatible Pixhawk flight control board for the UAV flight controls. We customized the synchronous exposure control for the compatible imaging load based on ArduPilot flight control software. We also selected a BeiDou-compatible GPS receiver module and modified the configuration. This allowed us to incorporate satellite data from both BeiDou and GPS. This improved the positioning effect in China. The fuselage and the load assembly include a modified foam body fitted with the fuselage and loading chamber, and the key parts are reinforced with carbon fiber rods or a carbon fiber sheet. It costs 1000 RMB for the air control parts (flight control, sensors, and control devices), 400 RMB for the body of the aircraft, and 600 RMB for the battery. The total cost of the aircraft is 2000 RMB.

UAV selection
UAV models have various aerodynamic characteristics and thus can achieve different mission objectives. The primary considerations for the model selection in this study were endurance and low manufacturing and maintenance costs. We adopted a fixed-wing aircraft model in consideration of the carrying capacity and endurance at a low cost.
Fixed-wing UAVs are characterized by a long endurance/long range relative to the weight and high carrying capacity relative to the voltage. This is because the flight mode of fixedwing UAVs consists primarily of the fuselage's forward motion generated by the power, and the lift is generated by the air disturbance caused by the pressure difference between the upper and lower surfaces of the wing and the air viscosity effect. During movement, fixed-wing UAVs are the most energy-efficient, with optimal endurance and carrying capacity. In addition, owing to flight direction continuity, the altitude control is more stable in straight-line navigation. This makes fixed-wing UAVs suitable for carrying high-precision load equipment. However, they have the following disadvantages: (1) Under the same weight, the turning radius of a fixed-wing UAV is wider than that of other models, and when the control algorithm is poor, the height fluctuates when turning with a small radius. This affects the trajectory height stability and the safety of aerial photogrammetry flight. (2) Fixed-wing UAVs need to maintain set speeds during take-off and landing. They need to take off with the help of manpower or additional auxiliary equipment when there are on-site limitations. There are several ways of accomplishing this, including being thrown by the operator, using a special catapult, or using a solid rocket booster. (3) There are also requirements for ground facilities and site spaces when landing through landing gear/belly taxiing landing or barrier net/barrier cable impact deceleration, or recovery with a parachute after power off. Therefore, fixed-wing UAVs are more suitable for professional uses, such as long-distance and long-duration military investigation or forestry, surveying, and mapping. In order to reduce costs, the body is constructed primarily of foamed plastic. There are several carbon fiber rods inside the wing to strengthen its roots and tail. The blade diameter is 11 inches, the maximum thrust is 2.3 kg, and the full-load thrust/weight ratio of the machine is about 0.5.
Large-span, detachable-wing models allow a reduced stall speed, as well as shortened takeoff and landing distances, thus allowing their use at particular sites. At the same time, the low resistance and the corresponding thrust efficiency ratio at low speeds are utilized in full, and lithium-ion batteries with high energy densities (energy/mass ratio) but low discharge rates are utilized so as to prolong the endurance time.

Body and power design
We adopt a cheap aircraft model training machine for the fuselage, in which the body is constructed from foamed plastic with carbon fiber rods inside to strengthen the wing roots and tail. In addition, because the aircraft body will carry loads larger than the original design (model) weight, the landing gear axle base is reinforced with thick wood pieces.
A brush-free motor powers the aircraft model and the matched brush-free electronic governor. A Langyu X2820 KV920 motor (920 rpm/V), a Haoyingfeiteng 60 A electronic governor, and a 14.8 V 17 Ah lithium battery are used in the aircraft. With the use of low-cost, large-capacity batteries, a lighter weight can be achieved at the expense of internal resistance (large current discharge capacity). The battery pack weighs only 1 kg, and the capacity of the high-performance battery for aircraft models with the same weight and voltage is only 10 Ah. Because of the fuselage structure, the maximum thrust is 2.3 kg and the thrust/weight ratio is 0.5.
The operating surface is a standard operating surface (two pieces of main wing aileron, horizontal tail elevator, and vertical tail rudder) plus a standard aileron in addition to a flap aileron. The flap aileron mixed control is modified to the configured flight control. At the end of take-off and landing, the lift is generated by flap lifting at a low speed, the landing front flap is turned to the maximum extent, and the gas production flow is separated. The architecture has the function of a deceleration plate, i.e., to reduce the landing speed.
For the fine tuning of the airframe center of gravity, the traditional aircraft layout has the airframe center of gravity in front of the main wing lift point to ensure that the airframe can naturally enter the nose-down state to recover speed and gain control in a stall state. However, in order to obtain a heading moment, the horizontal tail is in the tail-down or neutral state and provides no lift to the airframe. In order to improve the endurance, some of the functional parts of the UAV are moved to the tail position during the assembly process, as shown in Fig. 2. This ensures that the fuselage's center of gravity falls behind the wing's lift point (the first third of the wing's chord length) and that the torque is very high in front of half of the wing chord. Throughout the static instability, the fuselage's center of gravity is behind the lifting point, resulting in an unbalanced movement that makes the fuselage gradually enter the lifting state. In order to counteract this movement, a continuous horizontal upward force is applied to the tail (similarly, the horizontal tail generates a downwash air flow and generates a lift force). The wing length of the UAV is 2.4 m and its weight is 4-6 kg depending on the weight of the battery.
In order to install the imaging load, a portion of the foam cavity in the original model is cut off, and the shell is cut into two open hatch covers. Also, the cabin is adjusted to dig out a space that can hold the camera and its accessories. In order to prevent damage to the fuselage structure caused by damage to the belly shell, the fuselage structure is weakened. This causes stress concentration during flight. For structural reinforcement, two carbon fiber sheets are added to form a T-shaped structure embedded at the center of the hatch cover opening, and the T-shaped structure facilitates the subsequent fixation of the hatch cover and internal equipment.

Flight control system
The flight control system adopts the ArduPilot open-source flight control software. Its main hardware is Pixhawk flight control, which is compatible with BeiDou/GPS, an airspeed meter, an external electronic compass, and a battery sensor. At the same time, it outputs to the actuator flight control on the UAV to calculate the aircraft's current position and altitude, and controls the UAV to perform automatic tasks at preset path points (Fig. 3).
The Pixhawk flight control system is a single circuit board. It is equipped with a main processor (STM32F4), a coprocessor (STM32F1), an inertial measurement unit (IMU), a magnetic sensor, and an air pressure altimeter. The IMU and magnetic sensor are composed of three devices: a six-axis gyro (MPU6000), a three-axis gyro (L3GD20H), and a tri-axial accelerometer (LSM303D).
The IMU measures the fuselage's movement trends, i.e., linear acceleration and angular velocity, through the inertial elements inside the device. This flight control system consists of two groups: MPU6000 and a combination of L3GD20H and LSM303D. They respectively provide the three-axis angular velocity and acceleration, and can be set to different sampling frequencies to prevent the resonance effect and provide backup. The electronic compass produces the actual aircraft direction by observing the earth's magnetic field and correcting the angular velocity solution to calculate any cumulative altitude error. The system consists of a three-axis electronic compass and an external electronic compass in the flight control circuit board. The two components serve as backups for each other, and the electronic compass can be installed outside of the enclosure, preventing interference from the fuselage's circuitry (especially the power circuit of the UAV).
The barometer calculates the current height by measuring the air pressure in the engine room. The height of the flight is not affected by the current signal conditions (when the GPS signal conditions are poor or there is a change from a sheltered position to an unsheltered position, for example, when taking off from an opening in a jungle or the foot of a mountain, the positioning error is large, especially if the elevation error is large). However, the barometer is also affected by air flow changes during the flight. Thus, the air flow around the flight control system needs to be relatively static, but it must also be ensured that the flight control system is connected to the air outside the cabin. Therefore, the aircraft's altitude control system preferentially obtains the altitude information from the barometer.
An airspeed tube (pitot tube) obtains the body's current moving speed relative to the atmosphere, so as to ensure sufficient air flow through the wing to maintain maneuverability and the required lift. The working principle is that one of the two measuring tubes (or a double-layer measuring tube) faces the forward direction of the machine body; the other one is perpendicular to the forward direction of the machine body and faces multiple directions to prevent interference from translation components. The pressure difference between the two tubes is measured, and the dynamic pressure is equal to the total pressure (stagnation pressure) minus the machine body's static pressure. Then, the machine body's speed relative to the atmosphere is deduced from the dynamic pressure.
The battery sensor measures the battery's voltage and the output current to measure the current consumption of the battery and calculate the remaining power, so that the aircraft returns when the battery voltage reaches the preset threshold, preventing damage to the battery or a crash due to a low power.

Construction and installation of tilt camera load
In order to maximize the imaging range and obtain the top and side textures of objects on the ground within the cost constraints, two GoPro motion cameras are combined to improve the image baseline to the air height ratio and elevation accuracy.
In terms of installation, owing to the fuselage's limited volume and the installation of several carbon fiber rods to strengthen the fuselage structure, a traditional combination camera cannot capture the inner side of the UAV body. However, by using the camera's wide-angle lens with a wide field angle and a suitable inclination angle, the images of the two cameras can overlap. Therefore, the two cameras are installed on opposite sides of the belly in an outward direction. Each camera is embedded in the slot on the inner side of the belly compartment cover, so that the camera tilts downward and deviates (approximately) 60° from the positive direction (estimated from a triangular rule with angles greater than 45°). The GoPro camera has a wide-angle lens with distortion. Therefore, the wing appears in the photos taken by the forward installation, such that the top edge of the two cameras is inverted downward and the lens is close to the bottom of the fuselage.
The distance between the lenses of the two cameras is about 5 cm on the body's x-axis; the horizontal distance between the CMOS center points of the two cameras (i.e., the focus on the CMOS plane with the lens optical axis) on the body's y-axis (width) is about 3.5 cm, and the height difference on the z-axis is less than 1 cm (the x-axis is the forward flying direction, the y-axis is perpendicular to the x-axis and lies on the horizontal plane of the body, and the z-axis is normal to the earth's horizontal plane when the body is horizontal).
The camera's synchronous control uses a GoPro motion camera, triggers the shutter contact, receives the flight control's trigger signal through single-chip microcomputer programming, and sends the pulse to the trigger interface of the two cameras to complete a synchronous shooting. The shutter's trigger position is automatically generated according to the route's flight altitude and operation range when the waypoints are planned.

System Software Design and Implementation
This system's software consists primarily of flight control software and ground station software.

Flight control software
The software component of the UAV system is divided into flight control software (airborne) and ground station software. The data communication between them is realized through serial port transmission. The flight control software runs on the flight control processor, collects the sensor information, and controls the UAV. At the same time, it uses a wireless data transmission module to communicate with the ground station to obtain the new path point task and return the current flight status data. As shown in Fig. 4, the flight control software includes four parts: altitude calculation, navigation, control, and ground data communication.
Altitude estimation is calculated from sensor data to realize fuselage altitude control. Because the IMU adopts a low-cost MEMS, it has a low sensor accuracy. If only inertial sensor information is used, the error of the estimated altitude will increase over time. Therefore, an altitude and heading reference system (AHRS) is adopted to obtain the altitude. Unlike in a professional UAV, the AHRS not only obtains the IMU's inertial sensor information, but also adds the electronic compass's three-axis magnetic field direction information, so as to ensure a more reliable fuselage altitude during motion. However, this also causes the AHRS to rely on the surrounding magnetic field. If the magnetic field is orthogonal to the gravity field, the altitude and heading measurement effect is improved. If it is parallel, for example, at high latitudes, then the error of the course angle will increase; the closer the UAV is to the geomagnetic pole, the greater the error, and ultimately the altitude cannot be measured. Therefore, the effect of the magnetic field on the internal circuit and equipment for flight control must be considered before their installation.
For navigation, the UAV's altitude, heading, and speed need to be managed. By analyzing the positioning and navigation results given by the BeiDou/GPS positioning module, the position, height, and ground speed in the geodetic coordinate system are obtained; the receiver height is inputted into accelerometers and barometers to obtain a more accurate body height estimation; the obtained ground velocity and the airspeed meter are combined to estimate the airspeed tube's error and correct it (to an extent); and the heading of the aircraft in the ensuing control cycle is given by comparing the positioning coordinates with the current target position. The track navigation algorithm's default configuration is Crosstrack and PID. After configuration, the L1 adaptive algorithm can be enabled to obtain a higher route control accuracy. However, it needs to be turned on after the adjustment of basic parameters and the continual manual adjustment of L1-related parameters to ensure an effective and feasible navigation.
Through the combination of BeiDou and the GPS multi-constellation system, the low-cost UAV system in this paper can employ more visible satellites at high elevation angles and ensure the positioning accuracy when the fuselage is tilted for maneuver.
The principle of combined positioning is similar to that of a single system, so the basic process of BeiDou/GPS integrated positioning also includes determining satellite positions, establishing pseudo-range equations, correcting various delay errors, and solving the user position. However, the BeiDou and GPS systems use their own independent clocks. The ms- order difference between the clocks multiplied by the speed of light results in a pseudo-distance deviation of 105 m and the Newton iteration may not converge when calculating the user position. The two systems also have different coordinate systems: the BeiDou system adopts the CGCS2000 coordinate system and the GPS system adopts the WGS84 coordinate system. Their reference ellipsoids are similar and, among their parameters, only oblateness is slightly different. The oblateness of CGCS2000 is 1.47 × 10 −11 larger than that of WGS84. When an accuracy of less than 5 cm is acceptable, coordinate system conversion is not required.
The pseudo-range observation equations of GPS and the BeiDou second-generation satellite (BeiDou II) are as follows: The subscripts GPS and BDS represent GPS and BeiDou II, respectively, ρ is the pseudorange observation value decoded on the L1 or B1 carrier, r is the geometric distance from the satellite to the receiver, c is the speed of light, and δ t is the clock difference between the receiver and the positioning system. The clock difference between GPS and BeiDou II exists in different time benchmarks. I and T represent the ionospheric and tropospheric delays, respectively, and ε ρ is the observed noise in the pseudo-range. In the calculation of the satellite position, the calculation methods of MEO and IGSO in BeiDou II are the same as those in the GPS satellite, while the GEO satellite adopts a special matrix and corrects the influence of the relativistic effect. The commonly used Klobuchar and Saastamoinen models are used to estimate the ionospheric and tropospheric delays, respectively.
To improve the interoperability between the BeiDou system and other systems, we add the time synchronization parameters of the BeiDou and GPS systems into the navigation message in the space signal control interface file of the current BeiDou satellite navigation system. Therefore, in this paper, the time from the unified time refers to the GPS system time (GPST). Before synchronization, the time benchmark common to the two systems should be unified. Both systems are based on UTC, but the starting epoch is different. Currently, GPST is 16 leap seconds ahead of UTC and the BeiDou time is 2 leap seconds ahead of UTC.
The control part is responsible for controlling the units of the fuselage, such as the ailerons on its main wing, the elevator on the horizontal tail, the rudder on the vertical tail, and the brushless motor's electronic governor. It also manages the status of each functional unit, such as whether to put the navigation module in the take-off or automatic mode, and obtains the updated data from other functional units, such as altitude, heading angle, and speed. This determines the rudder surface control and fuselage's throttle power, and the operation is corrected under limited conditions to ensure flight safety.
The control part starts by sending zero signal to each controlled component after startup. This prevents the body's actuator from performing any action, thus ensuring the safety of the personnel and equipment on the ground. Then, it conducts a status check. After the examination of the state, all functions, such as altitude calculation, navigation, and other procedures, and the check mark positions of the relevant sensors return to normal values. The safety lock is released and enters a normal state. The state management's flight control system is directly reflected in the control part. In the automated driving mode, the control system takes over UAV control. The ground station cannot operate the rudder surface or the throttle. The flight control system operates according to the current path points from the navigation program. It automatically switches back to the return mode when the waypoint list is completed or when the battery sensor power is very low in the auxiliary driving mode. In this mode, the ground station can maintain fuselage operation under the limited conditions according to the settings. This includes the limited pitch and roll angle, the limited maximum lifting speed, and the throttle control above the preset minimum flying speed. The flight control system software uses PID to control the fuselage altitude under the default configuration. The imaging load control queries the position and altitude information returned by the navigation part after each sensor data fusion in the operation process. This drives the camera's on-off and imaging load shutter control when the position and altitude meet the imaging requirements. The flight control system also records the shooting position, height, and AHRS parameters. Through PWM, SBUs, CAN, and other buses, the devices can control the communication with various equipment while monitoring the flight power to enter the return state when the voltage is very low.
The open-source MAVLink protocol (16) is used for data communication to the ground to verify the data package and various standard function communications: returning the aircraft's current flight status, adjusting the parameters, updating the path waypoint list, and changing the flight status. MAVLink is compatible with various data transmission media, such as serial ports and network sockets. In this system, the wireless serial port module is used for implementation; MAVLink packet's verification mode is CRC16, and the verification information is stored in two bytes at the end of the packet.

Ground station software
The ground station software has three main functions, namely, flight status display, route planning, and flight control parameter adjustment, as shown in Fig. 5. The flight status display includes the UAV's current altitude ball, a panel that can be configured to display six optional parameters, and an optional online map provided by a service provider, which can map the flight path and the pre-path point track during flight control. Route planning can set the operation area and automatically generate a path point track. It can also set the route interval and photo density according to the flight height, camera field angle, camera pixel resolution, target ground object resolution, and other parameters. Flight control parameter adjustment covers all flight control parameters, including the functional parameters of various sensors and the related parameter settings of peripheral devices. GPS parameters of the navigation module, such as the installed GPS protocol type, satellite system, and baud rate, are used to configure the GPS module during initialization. At present, this system adopts a u-blox LEA-M8P positioning module, which can receive BeiDou and GPS satellite signals simultaneously, and can input the datum station measurement data in the format of either u-blox or RTCM. It can also conduct differential positioning through an external input. In addition, by configuring the system to store the original data, it can make the flight control save the original observation data output by the receiver to a memory card for post-processing positioning and obtain a more accurate post-processing tracking. Moreover, if the ground station has a GPS positioning module that can output the original observation data, and the UAV's GPS module can receive the original observation data from the reference station, it can also conduct differential positioning. Additionally, the communication transmission protocol between the ground station and the UAV flight control can send the original ground station observation data to the flight control and forward it to the BeiDou/GPS connected to the flight control. The RTK positioning result can be calculated from the ground station observation data through the online RTK algorithm and improves the UAV's positioning accuracy. However, note that this is dependent on the reliability of the communication link between the ground station and the UAV. If a long distance cannot be guaranteed, the positioning accuracy can only be improved in the takeoff and landing stages. The aerial survey track for the operation still needs to be saved in the memory card as default parameters for post-processing.

Experimental field
Each aerial experiment was conducted twice. The experimental field was divided into an aerial test area and a test/landing area. In the first experiment, the aerial survey area was a school building, around which an area 800 m long and 900 m wide was photographed. The track followed by the UAV is shown in Fig. 6(a) and the planned range was 61 km (for testing the maximum endurance). The second aerial survey area was by the shore of an artificial lake near the school and the nearby coast. The track is shown in Fig. 6(b) and the planned voyage was 38 km. The test/landing area was a triangular grass field outside the school with sides of 400, 600, and 700 m. The UAV took off from this area before the experiment, then entered the automatic route mode after completing the status check. The weather conditions of the two experiments are shown in Table 1.

Experiment preparation
Experiment 1: Before the experiment, we had only flown the UAV on a simple automatic flight route over the grass field. This experiment was the first test of a long-distance aerial survey. Therefore, an automatic flight route was first used to circle the grass field to check the status of the UAV devices. The UAV then passed through the aerial survey area at a speed of 15 m/s to test the communication status. Next, it circled predetermined buildings in the aerial survey area. Then, it returned to the starting point, the speed was changed to 25 m/s, and the UAV started to capture images along the aerial survey route. Owing to the high density of the shooting route, we selected a planning strategy consisting of four intermediary routes between the round-trip routes. This was performed because if a route is completed and cut into the adjacent round-trip route (parallel, turning 180°), the aircraft will not be on the scheduled route. Moreover, the course will not be aligned and the UAV will still be in the state of turning or course correction, compromising the aerial survey imaging. Furthermore, a large turning space is required during route planning. This increases the turning distance and power consumption and reduces the voyage's distance. Experiment 2: The flight route was set so that the UAV flew from the take-off point to the shore of the artificial lake, took photos, then proceeded to the nearby coast for shooting. The fuselage setting was adjusted after referring to the results of the first experiment and subsequent test data analysis: the center of gravity of the fuselage and the cruise speed were adjusted to improve flight efficiency.

Experiment 1
In the first experiment, when the flight distance on the automatic route was 21.5 km, i.e., before completing the original preset route of 61.2 km, a voltage lower than the preset protection value triggered the return flight. In the second experiment, the automatic route of 38 km was completed. Under low-voltage protection conditions, the ground test voyage was estimated to be about 8 km.
The route's accuracy was assessed using two criteria: the control error on the horizontal plane and the altitude control error. Owing to the large effect of atmospheric disturbance, three of the completed aerial survey tracks were selected, as shown in Fig. 7. The direction of the three routes was from the right side to the left side of the figure. There were eight large offsets in total, whose measured values are shown in Table 2. The maximum offset distance was for Point G (52.8 m), which is also the starting point of the straight route. As shown, this was not in the correct position at the beginning of the track (the flight direction was corrected to that along the route). The offsets of the last part of the track, such as at Points A, B, and C, were caused by the crosswind disturbance and the overshoot after correction.
The altitude control error was greater than the horizontal control error. The altitude was fixed at 200 m, but the highest point of the actual flight path was 222 m with the lowest point at 156 m, a variation of 66 m. The main reason for this error was the decrease in height during turning. Another cause was that the fuselage center of gravity moved forward (i.e., the nose was biased) owing to the tilt while the fuselage was turning. Thus, the elevator rudder on the horizontal tail produced less momentum to counteract the sinking of the nose (as in the turning moment when the fuselage is tilted). As a result, the fuselage took the center of gravity as the fulcrum, and the lifting force pushed the nose down, making the fuselage drop slightly. As the lifting force decreased, the thrust also produced a component in the descent direction, shifting the fuselage into a downward state in the later stages of turning. Before returning to the normal flight state, the airframe's height continued to decrease. This affected the airframe's turning  efficiency. After referring to the day's wind direction, it was speculated that the main reason for this was that the wind direction at that time led to the downwind state in the turning process, and then the downward movement caused the airframe to increase speed to maintain height. This caused the turning to lag and the UAV to overshoot the preset route position. One of the tracks in the first experiment is shown in Fig. 8. The green strip in the figure is the extension line from the actual track to the ground, whose direction is from the right side to the left side of the figure, and the white line is the preset route. As shown, the altitude and horizontal coordinates of the track deviate from those of the route. When turning into the route, the turning is insufficient. After crossing the route, the track is corrected so that it returns to the route, but after overshooting, the UAV body continues to vibrate slightly, which also causes a wide range of altitude changes of the body. As shown in Fig. 9, with the exception of the large variations in the roll and yaw angles caused by insufficient steering at the starting position  and being in the steering state, in the following approximate straight-line route, the pitch angle ranges from −10 to 9°, the roll angle ranges from −11 to 1°, and the yaw angle ranges from 320 to 340°. It was estimated from the day's wind direction that the UAV was flying into a headwind with little interference from crosswind, and that the vibration was more severe when crosswind interference occurred. The above airframe track and altitude records showed that the airframe altitude was unstable. In this state, aerial photographing needs to be conducted at a high frequency to ensure image overlapping.

Experiment 2
The second experiment was based on the experience acquired from the first experiment. In the second experiment, the center of gravity and altitude control parameters for the body were adjusted to optimize the route's accuracy. Moreover, because the route was long and straight, it was less affected by course adjustment. The main factor that caused the deviation of the track was atmospheric disturbance, and the maximum deviation was controlled within about 10 m. For a turn of about 113°, the maximum track deviation after completing the turn was 8.25 m. Track migration caused by crosswind disturbance was also controlled.
A section of the track in the second experiment is shown in Fig. 10. In the figure, green lines are extension lines from the track point to the ground, the white line indicates the designed route, the direction of the track is from right to left, and the green indicator indicates the preset course. Figure 10 shows that the track's elevation and horizontal coordinates almost overlap with the route, and there are only small fluctuations in some areas.
The small fluctuation in body trajectory is also reflected in the body altitude, as shown in Fig. 11. In the approximate straight-line route after turning, the pitch angle ranges from 2 to 5°, the roll angle ranges from −3 to −1°, and the yaw angle ranges from 161 to 163°. According to the day's weather records, there was a tailwind with some crosswind. However, the altitude oscillation caused by the crosswind disturbance was suppressed and the track deviation was controlled.

Conclusions
The UAV tilt camera system designed and implemented in this study uses BeiDou/GPS positioning to obtain a more reliable positioning constellation. This reduces the positioning error caused by the insufficient antenna direction gain due to changes in fuselage motion and altitude. The proposed system also has a low cost owing to the popularization of current consumer UAV/models and other related materials used to transform the model into a flight platform for aerial measurement. Therefore, this system is expected to reduce the cost of aerial measurement. Throughout the testing and adjustments, we improved the stability and endurance of the flight platform so that it can meet the basic requirements of aerial testing. For the large-scale acquisition of aerial images, each sortie by the flight platform has a longer range/ coverage than it would have using a multirotor aircraft. This will reduce the number of field operations as well as the personnel workload.
We have developed a low-cost fixed-wing UAV with a flight time of about 90 min and an operating range of about 70 km. The aircraft body is constructed from foam and supplemented by carbon fiber rods. It is powered by a single propeller driven by a motor. The high efficiency of this fixed-wing aircraft prolongs the flight time. The stability and endurance of the UAV were improved by adjusting the flight control parameters and the center of gravity of the fuselage through two flight tests. The flight control system utilizes the affordable open-source Pixhawk hardware, as well as firmware and ground station software from ArduPilot, which is compatible with the hardware. The hardware and software of the system are customized according to the system control requirements. We built a UAV system with a tilt camera load consisting of two GoPro motion cameras at an angle of 90° to each other and made a load cabin in the belly of the UAV where the cameras were installed, along with a single-chip microcomputer controller for controlling