AERIAL SURVEYING UAV BASED ON OPEN-SOURCE HARDWARE AND SOFTWARE

In the last years the functionality and type of UAV-systems increased fast, but unfortunately these systems are hardly available for researchers in some cases. A simple and low-cost solution was developed to build an autonomous aerial surveying airplane, which can fulfil the necessities (aerial photographs with very-high resolution) of other departments at the university and very useful and practical for teaching photogrammetry. The base was a commercial, remote controlled model airplane and an open-source GPS/IMU system (MatrixPilot) was adapted to achieve the semi-automatic or automatic stabilization and navigation of the model airplane along predefined trajectory. The firmware is completely open-source and easily available on the website of the project. The first used camera system was a low-budget, low-quality video camera, which could provide only 1.2 megapixel photographs or low resolution video depending on the light conditions and the desired spatial resolution. A field measurement test was carried out with the described system: the aerial surveying of an undiscovered archaeological site, signed by a crop-mark in mountain Pilis (Hungary).


INTRODUCTION
The use of UAVs (Unmanned Aerial Vehicles) in geomatics and photogrammetry was increased rapidly in the last few years, as well as the development of mathematical algorithms and sensors to achieve the more and more precise navigation and stabilization of UAVs.We can find examples for high-end systems, e.g.WeControl in Switzerland or MAVinci in Germany and very successful research projects (Eisenbeiss, 2004 andGruen et al., 2010), but these systems are hardly available for researchers in some cases.As we can see the slowly increasing tendency of the open-source software in the field of GIS, we can find a similar tendency in the development of UAV control systems.The goal of this paper is to present a brief overview about the available open-source control systems, to describe the building of an UAV, based on one of these systems and the first results of a field test, which was carried out with this low-cost system.

Open-source control systems
The common properties of these systems are the freely distributed and modifiable software and hardware and the selfestablished community around them.The developing process can be really fast in this way, because in some cases (e.g.bad weather conditions for flying) the testing of a new feature is not possible by the programmer but other people can install this feature, test it in real conditions and give feedback to the programmer.
The first and oldest system is the Paparazzi which originally developed at ENAC University, in France.It is completely open-source because the firmware and all other program, like ground control station distributed on Ubuntu Linux OS (the current version on Mac OS X, too).The most advantages of the Paparazzi are the small circuit board which consists of the microcontroller, the GPS and the input/output ports, and the simple, easy-to-understand ground control station with built-in specific flight performance commands, such as Take-off, Land or Eight Figure and Survey Path.The main disadvantage of the older electronic boards was the lack of an accurate Inertial Measurement Unit while the stabilization of the airplane was performed by thermal sensors (thermopiles).These sensors perceive the position of the horizon, based on the different thermal radiation of the terrain and the sky.The accuracy of these sensors highly depends on the environment, because the relief (e.g.hills) and obstacles on the horizon (e.g.skyline of populated areas) can cause some inaccuracy in their measurement method.The newer versions of the main boards consist connectors for independent IMU units and make the stabilization possible without the use of thermopiles but it can be difficult to build other electrical components into a small or medium sized model airplane without interference.The price of the hardware is another disadvantage while the Paparazzi system is the most expensive from the discussed open-source systems.The project has a very detailed website with all necessary information about the installation and the configuration (Paparazzi, 2011).
The other and younger systems are developed in the USA.The first one is the ArduPilot family which consists of the older ArduPilot and the newer ArduPilotMega systems.The ArduPilot was based on the Arduino compatible ATMega328 processor and supported less input/output ports and less features.The current version is the ArduPilotMega with the ATMega2560 processor with extended memory and more ports (I2Cs, more servo ports).Firmware were written for both of two hardware but the ArduPilotMega firmware has more feature, such as in-flight settings tuning, real-time waypoint modification via two way telemetry (DIYDrones, 2011).To compute the orientation of the aircraft, it uses an independent IMU unit (ArduIMU) and different type of GPSs (uBlox GS407 or MediaTek MT3329 units) for navigation.With the telemetry units (XBee modules), it can send the data almost real-time to a GCS (Ground Control Station), which runs on our notebook.The current version of the firmware supports airplanes, traditional helicopters and multirotor platforms.The early version of the ArduPilot used the same sensors (thermopiles) for the stabilization than Paparazzi but later it became possible to connect the main board to an IMU unit.The current version of this system uses an independent IMU for the stabilization.The main board and this unit compose a side-by-side electric part.The disadvantage of this construction is the bigger size and in some cases this composition can be installed only on the outer part of the airplanes, not inside the plane which increase the chance to destroy the electric components during emergency landings.Detailed descriptions and manuals can be found on the 'official' website of the project (DIYDrones, 2011).
The other project is slightly different because it uses a PIC microcontroller and different orientation algorithm than the previous ones.The system was built around the UAV Development Board, a small circuit board with the controller, gyroscopes and accelerometers (MatrixPilot, 2011).The detailed description can be seen in a later chapter of this paper.

THE UAV PROJECT
At the beginning of the project, the main goal was a low-cost platform which can capture aerial images with onboard sensors and demonstrate the capabilities of an open-source firmware.One another goal was to fulfil the necessities of other research at the university which rely on high-resolution aerial photographs.To these purposes, the development of the discussed UAV-system was begun half years ago.

The platform
While the author wasn't experienced model pilot, the selected platform had to be an easily controllable and repairable fixed wing airplane with high payload capacity.A commercial model airplane (Easy Star) developed and manufactured by a German firm (Multiplex GmbH), fulfilled these requirements and several successful examples can be found where this model airplane was the used platform (Aber et al., 2010 andDIYDrones, 2011).Other advantage of the fixed wing solution, compared to helicopters or multirotor platforms, was the longer endurance time above the target area (Eisenbeiss, 2004 andBendea et al., 2007).
The platform is characterized by a traditional configuration: fixed wing glider airplane, rear-mounted horizontal and vertical stabilizers but driven by a pusher, electric motor, placed on the top of the fuselage to avoid the breaking of the propellers in case of crash landing.Due to this configuration, it is more resistant to weather conditions, such as wind and gusts than other platforms.After some test flights without payload, the original wings were replaced by the bigger wings of an other model airplane (Easy Glidermanufactured by the same company) to increase the area of the wings (Figure 1.).The original wing size was equal to 24 dm 2 and with this improvement the surface of the wings, as well as the payload capacity and gliding capability, was nearly doubled (41,6 dm 2 according to the manuals, printed by Multiplex GmbH).

Navigation and stabilization system
The used navigation and stabilization system is the result of an open-source project which created the hardware and the firmware also.The airplane equipped with the UAV Development Board (UDB) hardware (Figure 3.) which consists of a dsPIC30F4011 controller, an MMA7260 three axis accelerometer and two dual axis IXZ500 gyroscopes, thus it can be a three axis IMU (MatrixPilot, 2011).With some input/output ports, it can be a 'bridge' between the RC receiver and the servos, and provide connections with other devices, such as GPS and XBee telemetry units or a small onboard data logger (OpenLog).The compact design is its main advantage, while this board is the smallest among the discussed hardware and it consists all necessary electric components to function as an inertial measurementcontroller unit and this is also the cheapest one.The board is designed by William Premerlani (MatrixPilot, 2011).The physical dimensions of the unit are equal to 70×38×25 mm and the weight is only 16 g, thus it is very easy to build into model airplanes.It was necessary to replace the built-in Lithium-Polymer accumulator by an external power source to avoid in-flight shutdowns.The FlyCamone-2 was mounted on the left wing of the airplane to avoid obstacles (e.g.fuselage) in the line-of-sight of the lens (Figure 5).It has several recording mode, e.g.continuous video, endless photo capturing mode with an interval of four seconds.The head of the camera with the lens is steerable manually or with a servo, thus capturing of oblique photographs is very easy in this way.It is possible to buy a small accessory, a small holder for the camera.With this holder the camera is easily mountable on different surfaces, such as the wings or fuselage of a model airplane.On the holder four electrical pins were installed, two pins for charging the camera and two pins for triggering it with a spare channel on the transmitter.The head of the camera with the optics is turnable with the help of a servo, installed to the end of the holder.During the field test the head was fixed in vertical position to take near-vertical photographs or videos.

FIELD TEST
The first real test flights were carried out near an undiscovered archaeological ruin near Piliscsév (Hungary) in mountain Pilis during a field trip which originally was organised this June for tectonic measurements.
The presence of different nations (e.g.Romans, Gepids and Avars) from different ages is well-known in this area for the Hungarian researchers but the investigated place was undiscovered until now.During the field trip a sharp crop-mark was recognized on a meadow near the town and its surveying became very important because of the agricultural using of the meadow and the possible short lifetime of the crop-mark.
After the rough identification of the crop-mark's coordinates on topographic map sheets, the waypoints and the settings of the flight were performed and uploaded into the memory of the microcontroller.The maximum flying height was set to 80 m above the ground due to the low resolution of the camera.The trajectory of the UAV consisted of four waypoints, distributed on the approximate corners of the crop-mark.The flight was performed in automatic mode, except the take-off and the landing processes.
Due to the poor light conditions which caused blurry photos, it had to change the camera mode to video recording to perform sharp video.As the description mentions, the best methods to stitch aerial photos are the Planar Motions because these methods try to minimize the perspective distortions on the images during the mosaicing process.
The stitched image was georeferenced with ground control points (GCPs), measured with a handheld Garmin map60Cx GPS during the field test, in ER Mapper 2010.The error of the GPS measurement was 5 m due to the clear visibility of the GPS satellites while the meadow, where our crop-mark is located, lies near plough-lands on flat terrain.This precision is sufficient for later archaeological surveys while the used methods (e.g.ditches) don't require geodetic precision.The GCPs are located on the corner points of the crop-mark, six points were measured totally.
The Ortho and Geocoding Wizard tool of the ER Mapper was used to georeference the mosaic.After the import of the image, the used projection system (UTM34) and the mathematical method (Linear Polynomial) were parameterized.After the identification and marking of the control points, the georeferenced image with 7 cm spatial resolution was exported in GeoTIFF format.Due to the used method, the nonprofessional GPS and the production method of the photos, the maximum absolute error of the georeferenced image reaches the 1.5 m.The pattern of the error vectors is irregular, the bigger values can be seen on the central and south-western part of the image and the vectors become shorter towards the north-eastern corner.
The original, georeferenced image shows the crop-mark and the meadow in true-colour but in this case, it is hard to distinguish the plants of the crop-mark and the grass on the meadow.To enhance the visibility of the crop-mark, a false-colour version (Figure 7) was created with the help of the 'Edit Transform Limits' menu of the ER Mapper 2010 program.The lower (under 75) and higher (above 175) intensity values of the red layer were filtered, the blue and green layers remained in the original state.Complex archaeological research didn't begin recently but the author hope that the georeferenced mosaic will be a helpful base to the research.

CONCLUSIONS AND FUTURE WORKS
In this paper a brief overview about the open-source UAV hardware and software was presented, as well as the building of a small fixed-wing UAV based on one of these systems and a result of its first field test.
The community based development of the firmware results a fast and reliable development method and facilitates the debugging for users who aren't experts in programming or electronic engineering.
Despite of the non-professional precision of the hardware, the discussed system can stabilize and navigate an airplane along a defined trajectory which is optimized to photogrammetric surveys (e.g. the flight route of an image block).Currently the precision of the navigation depends on the onboard GPS unit, not on the used algorithm, thus it is necessary to do research in this part of the hardware.
The main research topics will focus on the sensors and the orthorectification process in the near future.The results of the used camera are promising from the method point-of-view but the resolution and the limited access to the inner orientation parameters decrease its usability during the data process.The next planned camera will be a light (below the payload capacity of the airplane) compact digital camera with higher resolution and known parameters of the lens.The other main future goal is its mechanical or electronic shooting using the built-in trigger feature of the MatrixPilot firmware.
Other developments are also planned in the data workflow because the used abridging method isn't enough precise and causes high relative and absolute errors compared to the spatial resolution of the photos.

Figure 1 .
Figure 1.The 'Easy Star XXL' model airplane It can be easily transportable in cars because of the removable wings and usable by one operator (the ideal case two operators) on the field.The main technical data are shown in Table2.

Figure 3 .
Figure 3. UAV Development Board v3 Photo: Sparkfun Electronicswww.sparkfun.comThe firmware (MatrixPilot) is programmed by Peter Hollands and the other members of the MatrixPilot Team.It is easily downloadable from the website of the project (http://code.google.com/p/gentlenav/)under the terms of the GNU General Public License.The current version which runs on the most of UDBs is the MatrixPilot v3.1.The basic function of the code is the stabilization or automatic navigation (controllable by the operator) of the airplane along a predefined trajectory (up to 400 waypoints).Some additional feature of the firmware: it supports different type of airframes, such as traditional and V-tail airplanes or delta-wings (helicopter and multirotor code is still under development).It can stabilize a camera if servos are installed on the camera pod and with an additional servo it is also possible to trigger the camera on a predefined coordinate or continuously between two waypoints along the flight route.The main disadvantage of the code is the handling of the waypoint's coordinates.First of all, it has to be written in geographic formats above the WGS84 ellipsoid and if the trajectory changes, it has to re-upload the entire code into the memory of the microcontroller, not only the waypoints.(MatrixPilot, 2011)2.3CameraThe current camera is the modified version of the FlyCamOne-2 pocket camera (Figure4.).

Figure 5 .
Figure 5.The camera under the left wing The technical properties are shown in Table6.

Figure 7 .
Figure 7.The false-colour mosaic of the crop-mark Green: plants of the crop-mark; Red: grass and soil

Table 2 .
Technical specifications of the airplane

Table 6 .
Technical specifications of the pocket-camera The recorded video was transformed from the original 23 frame per second resolution into only 0.5 frame per second resolution with the open-source VirtualDub program.Later the frames of the transformed video was exported into image sequence, each image was saved in JPEG format (limitation of the program) with maximum resolution and minimal compression.The produced, almost 200 JPEG files were imported into the Microsoft Image Composite Editor (ICE), where it is possible to choose among different stitching methods: "Rotating Motion: Use this option when you stand in a single position and rotate your camera about a fixed point.This is how you should shoot most panoramic scenes.The other motions are for less common stitching tasks.Planar Motion 1: This option computes the best overlap between the images, without performing any skewing or perspective distortion (allowing only translation, rotation, and scaling of the images).Planar Motion 1 is useful for stitching together multiple overlapping flat-bed scans of a large document.It can also be useful if you want to achieve a panography effect (although ICE doesn't have all of the blend modes that you might want for panography).Planar Motion 2: This option is like Planar Motion 1, but allows skew in addition to translation, rotation, and scaling of the images.This setting is probably the least useful, but can be used if Planar Motion 3 gives poor results.