3D Robotics


ben Boughtan has a great post on Ag Maps Online about his experience using Pixhawk and a Penguin UAV for crop mapping: 

Built with a 3DR Pixhawk (APM:Plane 3.0.2), Finwing Penguin 2815 fixed wing air frame, S100 Canon camera and RFD900 Radio (excellent Australian product), my budget agricultural unmanned aerial vehicle (aUAV) has kept me busy and learning lots in any spare time over the last few months.

In my last post, Unmanned Aerial Vehicles (UAV) in Precision Agriculture, I outlined the main components of a UAV for precision agriculture focusing on a fixed wing platform for collecting high resolution paddock scale data. In this followup post I will attempt to log some of my experiences. Note that this is just a learning experience – there are many commercial UAV options available for agriculture that are less time consuming and provide similar or better results right away.



I needed a fixed wing platform that is readily available, cheap, with potential for long battery life, stability in the air and plenty of space for electrical components. I chose the Finwing Penguin. With the standard 2815 Finwing motor, 60 amp electronic speed controller (ESC), 9×6 propeller combined with a 4400Mha 3 cell Lipo battery I was only able to achieve about 20minutes flight time or enough to map about 40ha at 12m/s. I have a CXN engine mount which enables me to go to a 10″ prop which some of the gurus recommend. I could also increase my battery capacity and battery cell count to get longer flight time.

The Penguin is rather unique in its class as it has inbuilt landing gear. This consists of a pair wheels at the front and a single wheel at the back. I think this assists in preserving the plane when there is nowhere soft to belly land. The landing gear also allows you to take off like a traditional plane rather than hand launching. After making weight or centre gravity (CG) changes I will often take off from the ground. The downside is that these wheels to block up with mud quite easily if you land in a wet paddock.

The wings (including tail wing) come off for transport. I usually remove the main wings but leave tail wing in place as it is quite hard to get on and off due to awkward wiring and attachment arrangement.

The Penguin UAV does come with a pre-cut hole to install a down facing camera but it does not suit to place the camera top facing forward which is desirable. It was also very awkward to get the camera in and out as I had the Pixhawk autopilot installed above the camera position. I decided to go at the plane with a hacksaw and build a camera mount that would allow the camera to be installed from underneath the plane and also enough space to mount the camera top face forward.

S100 down facing camera mount and landing gear

S100 down facing camera mount and landing gear

Finwing Penguin UAV wings off for transport

Finwing Penguin UAV wings off for transport

UAV Finwing Penguin internal shot

UAV Finwing Penguin internal shot

Autopilot, GPS & Radio modem

As far as autopilot is concerned 3DR Pixhawk with APM:Plane 3.0.2 was the best option. At first I had issues getting my plane to fly well but once I upgraded to version 3.0.2+ the autotune feature changed the game altogether. This allowed the APM to adjust the PID settings in the plane as I manually flew it around. It works really well! During my latest flight I had an 8km/h cross wind that the APM was able to fly against successfully.

The GPS is a Ublox LEA-6M. It works well considering the price point. I did not attempt autonomous landing which is when GPS accuracy is more important. This GPS is able to get a fix within seconds of start-up and generally no issues throughout flight.

I initially used the 3DR radio modems but had all sorts of problems keeping a solid connection with my GCS. I decided to bite the bullet and buy a quality radio modem that should last me a long time and exceed all my range requirements. The RFD900 Radio pair is compatible with 3DR equipment and slotted in quite well. I did have to manufacture a cable to connect it to the Pixhawk and it took a bit of searching to figure which wires went where but I got it sorted within an hour or so. The RFD900 did have some driver issues on Windows. I had to install an old driver before I could get Mission Planner connected to the Pixhawk through RFD900. This all equates to time spent mucking around… BUT once working this product is excellent and I always have strong telemetry signal.

UAV actual flight path exported to Google Earth

UAV actual flight path exported to Google Earth

Ground Control Station (GCS)

The Mission Planner software which runs on the ground station laptop allowing you to program the UAV and monitor it in flight is very good -  especially the Auto Waypoint Survey Grid feature. This allows you to draw the area you want to on the map. Simply load in a photograph from the camera you will be using and the target elevation. From this information is draws a flight path with your desired overlap.

Footprints Survey Grid

Mission Planner: Footprints Survey Grid

Mission Planner: In Flight Data

Mission Planner: In Flight Data

Ground Control Station

Ground Control Station

Sensor & Image Processing

Canon S100 is my sensor of choice as it is a great balance of quality, price functionality and size. I started with a Canon D10 but many of the photos came out under exposed. The S100 has a larger sensor and inbuilt GPS so it is a better choice for aerial mapping. The downside to the S100 is that the lens protrudes from the camera which exposes it to damage in a rough landing.

With UAV aerial mapping you need a way for the camera to trigger every few seconds on its own. With a Canon camera it is easy using the Canon Hack Development Kit (CHDK). This updates the camera firmware, allowing you to use intervalometer scripts to trigger camera every few seconds. CHDK also offers what seems like unlimited settings for the camera. It seems difficult to find a complete set of settings to use with CHDK, but for my next flight I will try using the DroneMapper documentation to setup CHDK.

In my last flight approximately 30% of my photos came out blurry. I discarded the worst of the photos but still had to use some poor quality photos to ensure the map had no blank spots. This is probably due to a combination of camera settings, camera mount and propeller slightly out of balance.

Using desktop software trial of Agisoft Photoscan I was able to product a 40ha orthomosaic. The application works surprisingly well considering all images are taken at slightly different angle and are only provided with one GPS point for each photo. It is a very computer intense process and if I was to do a significant amount of processing would need to upgrade my computer. Alternatively I could use DroneMapper, but my dataset did not meet their requirements because I had to cull some images. I hope to try DroneMapper next time.

UAV imagery : Suntop Wheat

UAV imagery : Suntop Wheat

I took my data a step further and set up a web server to host the data as tiles. You can check it out here. How to store and share data collected by UAVs is something I have been thinking about. An orthomosaic for a single paddock can be several gigabytes and take a powerful computer to view in its raw form. The web seems like a good way to display data having a server store the data and only send bits of the image that the end user requests as they zoom in and move around.

The S100 can be modified to collect NDVI data – check here for example.

Always learning the hard way

This is my second flying UAV. My first was a Finwing Penguin as well. I spent a couple days putting my plane together and all the components. It is a nervous time flying your brand new plane for the first time. The first time out my plane few OK in manual mode but since I am a very ordinary pilot I like to use assisted flying modes. I changed to Fly By Wire mode and due to a APM setting (that I had to set) the autopilot had reversed the elevator sending it crashing into the ground. This snapped the plane in half and bent up the fuselage. Thankfully this durable foam returns to shape when you put it in boiling water and the pieces can be glued back together, reinforced with carbon fiber and fiberglass tape. Now I follow the suggested checks in the APM:Plane instructions more closely.  I’ve had no crashes since but have landed in mud which can be painful to clean out of the landing gear.

Fuselage post crash on maiden flight

Fuselage post crash on maiden flight


Putting together this UAV I have learned how all the components of a UAV fit together, challenges faced by the commercial suppliers, and a better understanding of the enormous potential on offer. I think the biggest challenge is not the UAV platform itself but collecting high quality consistent data that can be quickly processed and given a useful, profitable application. The setup I have discussed here not including laptop or the countless hours of time comes to about AU$1200. Obviously for mapping large areas on a consistent basis, a commercial UAV would be preferred or even essential.

UAV Finwing Penguin: Clocked up some hours

UAV Finwing Penguin: Clocked up some hours

E-mail me when people leave their comments –

You need to be a member of diydrones to add comments!

Join diydrones


  • I'm flying an almost identical setup, but using a Skywalker 2014 instead. I'm getting a consistent cross-track error of about 5m to the right of each flight line. The result is that flight lines are unevenly spaced, i.e. alternately closer/further apart.  From the "actual flight path" photo you posted, I think I see the same thing in your flight. Have you noticed this too? Any idea the cause?

  • @Dan: took off on maiden flight in manual from ground and flew about 30 seconds then snapped to stabilize, then FBWA. Next I would ground takeoff and hand launch in stabilize then change to FBWA. Not saying this is correct - just what eventually worked for me.

    Re "level": My Pixhawk actually sits on two carbon rods that run across through the fuselage. (Ill see if I can find a better pic). I just ran all Initial Setup configs in the Mission Planner essential setup section which includes setting plane level.

  • @Ben - thanks, hope you enjoy your time here! Let me ask you this, did you fly for a while in Manual prior to using stab and FBWA, or did you just go for it in those modes? Also, did you have to tweak "level" on the pixhawk, or was the level plane of the bottom of the payload compartment good for achieving level flight?

  • Lol, @Jack

  • @dan: I can share params with you but I just used defaults for first flight, then used the excellent auto tune feature. No manual setting of PIDs. I learnt to fly manual on aerosim first. Wont be able to share param for a couple months as I am off to USA today.
  • Ag is dead.  The future is follow me mode.

  • Developer

    Nice article. We are using Gigapan to host our orthomosaics, its a really good service and speed. 

    All made with Pixhawk as an autopilot, this one below is from a octocopter at 30m altitude. (A crop with many genetic variations of corn)

    Gigapan Link:  http://www.gigapan.com/gigapans/7ec3eac110c0e889bce2c51909def3fa

    Plantação Milho
    Área de uma Plantação Milho de cerca de 15ha, realizada para verificação e contagem de plantas. Resolução de 2cm/pixel em uma imagem total de 674 Mpi…
  • Ben, this is great! I am working on a Penguin-based setup as well. And, like you, I jammed mine up pretty hard the first time flying it - nose dived into the ground trying to fly it manually. I have since gone back to basics and learned to fly on a more forgiving platform, and am back at the Penguin now.

    Would you be so kind as to share your .param file? Would really like to compare.


This reply was deleted.