I want to share some of the latest results I achieved with using ardupilot and my X8-wing for aerial mapping. Below you can see a picture of the X8-wing with the ardupilot and camera (canon ixus 220HS with CHDK). I started off with the standard PID settings which worked well. Basically add some more control to the nav-roll P value and you are good to go.
An example of the flight pattern flow, along with the position of the images taken:
These positions was generated with the georeference tool in Missionplanner, based on the tlog file and image information. However, as my xbee module sometimes loses some packages in its connection with the groundstation, the tlog files are not really useful as I am losing valuable sync information. That’s why I am using the inflight log files to sync with the images. One side note to those using an interval script to trigger the camera: as you are limited to the 1sec accuracy of your camera clock, it’s possible to make some serious mistakes in camera position/attitude. Below you can see an example of the roll information recorded in 10hz and averaged over an 1 sec interval, and you see what I mean.
Next thing I will be investigating in is in the servo triggering. Anybody using a setup with this device: http://store.diydrones.com/ProductDetails.asp?ProductCode=BR-0007-01
Then the processing. I uploaded a set of 17 images with the synced XYZ information to dronemapper.org to generate an orthomosaic. Very user-friendly website, fast and reliable processing. After 2 hours I already had my ortho along with a DEM and point cloud. I realize that the output is only as good as the input, which needs some improvements on shutter time speed, image sync and GCP’s , but I am already very satisfied with the results.
[EDIT: Comparison with Pix4D was removed because different input was used: hopefully I'll be able to redo the comparison with the same imagery selected as input]
"Absolute" accuracy with google earth (I know, we should not use it as a reference..) is in the order of 5m
If we zoom in, you can see that linear structures were reconstructed quite successfully.
However, there are some problem areas in which the merging process created artefacts:
thanks for the great post Dries!
I'm very interested in the servo triggering you've mentioned. The Bramor UAV seems to use a similar connection on their cameras. Great work on the pictures, looking forward to seeing your next samples.
@Dries: the articats may be due to the photogrammetry process that you used. Pix4 takes a full autonomous process so it´s normal. It does well his job but this bugs are normal. This is relate to the cutlines and DEM that the program uses to make the orthophoto.
Have you think to shoot the camera using a 5V pinout message from Ardupilot?
great pic. I m waiting for your new sample.
Here are some additional accuracy checks and information:
Full reports are downloadable..
|Test Case||RMSE X (m)||RMSE Y (m)||RMSE Z (m)||CE90 (m)|
|1 - Camera Tags||8.4||6.7||27.6||14|
|2 - Falcon Tags||4.5||9.2||27.7||6.4|
|3 - 6 GCP||0.17||0.18||1.9||0.35
I'm building a model like yours.
What is the speed of this model? Do you have problems between the trigger signal and the opening of the shutter? I use a quadricopter for mapping. Flying to 5 m / s I have delay between the trigger signal and the shutter opens. The board sends the signal to the camera but the shot is not instantaneous. I think what this can affect in a model that fly faster than 10m / s. Please any help is welcome.
Brian Christal replied to Dave Williams's discussion "Using AUX pins as relays for CHDK" on DIY Drones
Chasing the camera delay from CAM trigger message to shutter open is futile. Feedback from the camera to the autopilot is required. It's being addressed here:
++ Feedback CAM
ArduCopter: added support for simple digital pin