On January 9 my partner, Gus Calderon and I, completed a successful aerial survey mission that covered abut 900 Meters by 650 Meters.  The results was a very high resolution picture of the area.

The aircraft:  Graupner Kadett

Motor:          Extreem Flight 2814T/820

Prop:            APC 13 x 6.5

ESC:            Hacker X-55

BEC:            Castle Creations 10 Amp

Servos:         4 ea.  Hitec HS65MG

GPS:            MediaTek

Telem:          XBee 

Battery:         Turnigy 3300 mAh nano-tech 25-50c

Autopilot:      APM1 Version 2.27 (Loaded via Mission Planner)

GCS:             Mission Planner Version 1.1.17

                     Mission Planner's 'Draw Polygon' and 'Grid' were used to generate the waypoint file. 

Camera:        Canon SD1100is with CHDK control (via relay through the camera's USB port)

Shutter:         1/1000 sec.

Aperture:        f/2.8

Focal Length: 6.2 mm

ISO:              320 

Stitch software:   ICE  (Microsoft Image Composite Editor)  PTGui was also used but it requires a lot of manual intervention.  It can give better picture placement than ICE.

Some stats:

The plane flew at 100M AGL, 10M/sec ground speed.

The flight lasted 17 min. and used 65% of the battery capacity.

There were 13 passes, 25 Meters apart.  The camera was turned on at takeoff an took a picture every 2 sec. for about 24 exposures per row.  556 exposures total.

The really good results:

APM did a very good job of controlling the aircraft.  (Look at the .kml flight path.)

The Kadett performed flawlessly.  Great payload capacity, strong, spacious structure, good endurance, has a short turn radius, and it is a very pretty airplane.

Resolution of the pictures is so good that the placement of irrigation valve covers (1.5 foot square or less) could be identified.

The not so good (but fixable) results:

The spacing of the rows was too close, we got too many pictures.  A lot of hand picking of the images was required to render the final stitched picture.

The camera took pictures every 2 seconds (set by the internal capability of the camera).  That was too many.  A bit too much overlap.  We used every other row for the stitch.  That was 7 rows of 24 pix or 168 images.

The big problem:

The APM directed the Kadett very well.  The Mission Planner provided a very easy way generate the waypoint file.  The XBees kept us informed about critical aspects of the flight.  Log files were generated and saved.  Thanks to all members of the development team. A job very well done.


There is little or no payload management capability with the current APM/Mission Planner system.

I have managed to turn the relay on and off in the past but it doesn't work with APM V2.27. (I submitted issue 479)  


In March, I submitted issue 292   'Add a command TRIGGER'

To trigger a camera shutter or any other event driven payload (water drop, parachute, etc.) please add a TRIGGER command.
It should have these characteristics:

Use either the relay or a servo
Configurable active state (relay on or off to trigger - servo on pulse width and off pulse width)
If servo - assignable channel
Assign time the trigger event is active (in ms.)
Choose if trigger is to be repeatable
Choose and set the repeat interval (every x seconds or every y meters)

The TRIGGER event should be logged for both the onboard log file and the GCS stream
The TRIGGER event should be able to be fired from the GCS

In October there was this reply:

Comment 4 by project member amilcar....@gmail.com, Oct 11, 2011
Part of it has now been implemented in the "APM_Camera" git branch:
-Use either the relay or a servo
-Configurable active state (relay on or off to trigger - servo on pulse width and off pulse width)
-Assignable servo channel
-Assign time the trigger event is active (in ms.) (via define only)
-The TRIGGER event should be able to be fired from the GCS

What is not implemented yet:
-Choose if trigger is to be repeatable
-Choose and set the repeat interval (every x seconds or every y meters)
-The TRIGGER event should be logged for both the onboard log file and the GCS stream

Please note:

APM_Camera is not in the git directory and is not in the latest arduino sketch file set.


The existing DO_RELAY and DO_SERVO commands do not work if instantiated through the Mission Planner. 


Even with no APM control of the camera we were able the get these results.

The waypoint file generated by the Mission Planner

The flight path as captured via the Mission Planner .tlog and converted to .klm

The survey picture stitched with ICE.

Again,  a big thanks to the development team. 

Views: 8464


Reply to This

Replies to This Discussion

Nice job man.

I intend to do something like this too.
If you want to generate a 3D mesh (without precision of course) the way is to send pictures to the site http://www.hypr3d.com/, and they automatically and for free, make the 3D mesh.

Look what the site could do with my pictures taken by a Bixler, without any autopilot http://www.hypr3d.com/models/4f0e0fd99cf4a8000100004b

All of what you have said is not implemented is implemented and so is what Amilcar said.
The camera code I created a year ago which had all the trigger you want has grown, morph and become more refined than I could have hoped for thanks to other members of the dev team. The camera code will be pushed out as some as final testing has been completed.
Please be patient.
If you wish to do the trigger calls as you suggested feel free to look at my previous code incarnations to find easy methods. Also the code is in the APM git it's just not the main one. Excellent results with your plane.
Just confirming that you did not have a magnetometer nor airspeed? How long did stitching/processing take? Also, didn't you have a telemaster, how does the kadet compare to the telecaster? Nice job!


Yes, no magnetometer or airspeed.

Stitching with ICE took 20+ minuets.

Kadett is smaller, easer to transport, had more cabin space, and is more efficient in the air than the Telemaster.


I applaud your camera code efforts.  I have been hoping the basic relay and servo mavlink commands would have been operational by now.

I will be patient - hoping for it to be all sorted out by the time the APM 2 board and code is released.

nice job, I also I have some problems after several months of work, I could not use the command (DO_REPEAT_SERVO)  to activate the camera automatically, I'm doing it manually via RC .    http://www.youtube.com/watch?v=iITNOluOS4c&context=C3cd1bc8ADOE...

Congratulations for the mission Irvin !

Same problem here, we haven't been able to use the the DO_SET_SERVO command with ArduPlane 2.28.

Here is the post : http://diydrones.com/forum/topics/do-set-servo-command-on-arduplane...

Thank you for sharing your information and insights!


What was your goal or objective in this aerial survey, just a simple mosaic or did you have a specific purpose in mind?

At that altitude, you should have some good parallax and I imagine you could make some impressive stereo images out of those.  Did you plan on georectifying the images for more detailed surveying?


Thanks again for sharing, I'm always interested to see the reasons other people use aerial photography.


Our goals were to develop equipment and capabilities to do 'aerial photo survey' work.  We had not yet determined specific applications.

During test flying at our local city park a Parks and Recreation employe enquired about our activities.  Turns out that he had tried small helis (with little luck) but was still interested.  We told him of our efforts to do aerial survey work and that we were making progress.  He said that he was the irrigation supervisor and that it sure would be nice to have a picture of the park fields so he could show his workers where the irrigation valves are now.  These covers are about 1 ft. X 2 ft.

We have almost done it!  Here is the mosaic of our latest flight.  The area is about 450M X 300M

Here is a blow up of an area (30M X 25M) showing some valve covers.  They are the small white squares in the grass.

If I can improve the stitching (using PTGui) we will have the mosaic printed on a 16" X 20" foam board.


Thanks for posting such a helpful article. I am truly amazed at your results. Since I already own AutoPano Giga, I think I will give it a try for stitching instead of purchasing PTGui

I have some questions.

1. Can you recommend any other suitable aircraft or is the Graupner Kadett the best available? The $600 price seemed a bit high, but, since it is ARF and Graupner's great reputation, that may not be so bad. I found an construction article and it appears to be very easy to get it into the air.

2. Are you mounting your camera facing straight down from the belly of the aircraft? I am waiting for my APM2 to complete my quadracopter but it looks like I may have to order another one to build a survey aircraft.

3. Do you think it is possible to mount a large sensor camera like a 5D2 or 7D on this aircraft?


Thanks for the kind words.  BTW - we have added the airspeed sensor.  I have tried AutoPano.  It might be a bit better than PTGui.

We flew the large Electro-Telemaster before and found the Kadett was better.

We are going to try a Multiplex Cularis motor glider as our next airframe.  We are hoping for less roll during the photo passes.  Another very good airframe is the Multiplex Mentor.  It is about the same size as the Kadett.

The camera is mounted straight down in the cabin area just forward of the wing LE.

The 5D2 and 7D are very heavy.  You do want the high pixel count (21megapixel) but I don't think the extra features of the EOS line are necessary.  We are getting the S100 for our next camera.  It too has a 21megapixels but weighs only 7oz vs 1.8 lbs for the 5D2 and 7D.

Remember - you only need the focus fixed at infinity, ISO as high as the application allows, and the shutter speed as fast as the light level will allow.  With our current camera (Canon SD1100) we use ISO @ 320, Shutter speed @ 1/1000.

Good luck with your efforts.


The Cularis looks incredibly stable from this video. It really looks like the way to go. 

Reply to Discussion


© 2019   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service