"Ten thousand dollars?!?! It's just a piece of foam!"
If you've uttered those words, this post is for you.
We will not debate the value of quality or workflow simplicity contained in that $10,000. What we will do is demonstrate how to make a "cheap" consumer fixed-wing drone generate high resolution orthomosaics with a simple, repeatable workflow.
Tiny violins from here on out.
If you are starting with nothing, it will cost a little over $1800 to assemble all of the required hardware.
The finished hardware setup.
Parrot Disco: $1,199
Hero5 Black: $390
Taranis w/ Rx: $237
Once you get the Disco and power it up for the first time, remember that it is just a WiFi access point running Linux. You can telnet and ftp to it like a normal network device.
When you're connected via WiFi, the Disco will be at 192.168.42.1
The goal here is to replace the brains of CHUCK with APM:Plane firmware. The primary advantage is increased flexibility in autonomous flight control and planning.
Let's take a look at the directory structure inside CHUCK.
I used this guide to get this plane up and running with APM:plane.
In short, there are only three things you need to do to make Disco run the APM flight code. (double check your file permissions when you write these files!):
1) Upload the latest stable arduplane kernel to the /data/ftp/internal_000/APM directory. I used FTP to upload the file.
2) Create the start_ardupilot.sh script. I used vi to create mine in the same APM directory.
3) Modify the existing /etc/init.d/rcS_mode_default boot script to support the APM kernel.
Your Disco is now ready for persistent boots into the APM:plane firmware. Let's finish setting up the hardware.
Connect the Taranis receiver and GoPro. The receiver plugs in via the servo connector wire (see above image), and you'll need to dig out some foam to fit the Hero5. There is nothing to damage in this section of the plane so be careful, but don't worry about hitting anything.
Some extra foam was removed on this installation to accommodate other sensors.
We chose the Hero5 Black for three reasons:
1) Self contained power system
2) Internal geo-referencing of images
3) Internal intervalometer
When considering other sensors, remember that losing any one of those features can significantly increase the complexity of the installation.
Once connected via Wifi, open a UDP connection in Mission Planner to verify correct operation of the vehicle.
The mavlink connection will open, and you will get live updates in mission planner.
Next you should compare your parameters with this known good parameter file.
Once you write those parameters to the vehicle, you are ready to check all of your surface responses. Here's how I normally do it:
1) In manual mode, check for normal control surface response in pitch and roll.
2) Switch to Fly-By-Wire A and check for proper surface corrections to roll and pitch attitude of the vehicle.
3) Still in Fly-By-Wire A mode, check for proper control surface output to transmitter input.
If you are not seeing proper control surface response, I would start by looking at the ELEVON_OUTPUT parameter. I use setting number 2. (Here's a great video from Mark Harrison if you need elevon help! https://www.youtube.com/watch?v=yvlCbs1NeC4)
When your control surfaces check out, you're ready to go for a maiden flight.
My typical maiden:
Everyone handles maiden flights differently, but here are a few tips for this Disco configuration with APM:
1) I use 3 modes; Manual, Fly-By-Wire A (FBWA) and Return-To-Launch (RTL).
2) Launch in FBWA mode at 3/4 throttle. Any of the normal wing launching methods will work.
3) Get "three mistakes high" and try manual mode. You will need to trim the vehicle
4) Once those two modes are working, try RTL.
With a successful RTL, you're ready for an AUTO mission.
Create your polygon in Mission Planner, right click inside the polygon and go to AutoWP -> Survey Grid.
I used the Hero4 camera model, and increased the sidelap to 80% to generate my pattern.
The AUTO takeoff and landing works very well with this configuration. Do not be afraid to try it. Landing only requires two additional waypoints. LAND at 0 altitude where you want the plane to stop, and one waypoint before it about 200m away at 30m altitude.
Upload your mission to the vehicle, and then download it back to your ground-station to confirm accuracy.
When you're ready for your first AUTO flight, here are a few things to keep in mind:
1) Don't forget to turn on the camera! I used a 2 second timelapse, and it was way too many pictures. 700 images that were culled to 150 to produce the final orthomosaic. The GoPro WiFi was on and did not seem to affect my range checks. The voice activation is actually useful, "GoPro start a timelapse" was all it took to get going.
2) If you want telemetry throughout the flight, you'll need a WiFi adapter with an external antenna. Your laptop wifi antenna will not stay connected throughout the flight.
3) I keep the same three modes on the transmitter and put the vehicle into AUTO from the groundstation.
4) Once armed and in AUTO, you shake the vehicle to activate the motor and AUTO launch. Throw it into the wind and it will be on its way.
5) The vehicle is extremely well tuned. This mission was flown in 10-12mph winds on the ground.
6) It takes practice to nail AUTO landings. Be ready to take over control on long or short landings.
Ok, you've got your vehicle back after your successful mapping run. What next?
Remember that this is not a "smart" distance based capture. You need to go through your images, and cull the ones where the vehicle is turning, or has a lot of water in it, etc....
Then send it to your favorite orthomosaic tool!
For this example, I used Pix4D Desktop. I used 100% default settings on the 3D Maps profile. Full processing took about 2 hours, and it came out great for this sensor!
And a closer in view of the ortho.
From here, there's a lot of room to explore. Larger capacity batteries, higher quality RGB imaging sensors, multispectral imaging sensors, atmospheric sensors, extended telemetry range or leveraging the on-board OEM RGB sensor would all be great extensions to this platform.
We will see how long the airframe holds up; but Disco is a consumer product with readily available and inexpensive spare parts. You will not break the bank with, "Two is one and one is none."
In summary, you don't need $10,000 to create large area, high spatial resolution maps with a fixed wing drone. A relatively small amount of money and basic maker skills can get you a cutting edge mapping platform from three boxes of consumer products.
Please let me know if anyone else tries this! Good luck!
Comments
Any of your implementers have an update on this project? I am getting ready to try something similar using FX61 airframe and would love to benefit from any new updates to this.
After operating the expensive eBee a few times with work, i decided to build a copy. Starting with some of the information you and others have put together, I decided on the Disco Airframe. I bought all the spare parts , Wings, Central body, motor, and servos. (~400.00). I had a PixFalcon and all other gear ready to go so I went to work. I installed all the equipment and also used a Git2P (GoPro Clone) that allows PWM triggering of the camera and attached are the results. Maiden flight will be next weekend. I am using the stock pitot tube and it is setup as a status light too using an external LED from the PixFalcon.
i understand that the hero is in auto shutter mode and clicks every 2 secs. the images are geo-tagged so every picture has lat, long and height. now how do you add roll and pitch angle of the aircraft at the time of shutter click to every picture. i understand that it is essential to have roll and pitch of the camera at point of shutter press to create ortho-mozaic using pix4D software. can u please clarify this point. i want to get into aerial survey and want clear my doubts. i already have a ranger fitted with pixhawk.
Ok, since you're aware of these challenges I'm sure you'll have great success. Great solution on #3, the beta of MP also has a servo trim option for the auto modes. Getting a USB in there is a pain, there were all sorts of options, but we put the project on hold because of the other challenges. Let me know if you find a way.
Your comments are spot on HDP.
1) I'm flying at sea level in ideal temperature conditions.
2) I've also seen L/R elevons that off one step from each other.
3) I tried two different elevon steps, as neutral trim was only achievable once the Taranis was in "Coarse" trim adjustment mode.
4) She did OK on takeoff in 12knots the other day. Definitely climbed straight up for a bit before it got the nose on the horizon.
I'm interested to see if it holds up.
Have you tried getting any data off of the USB port? ie: USB OTG cable to 3DR radio?
Something like that may help us disable the wifi.
Great guide. We've given up on this after finding the Disco fails to take off at high altitude and / or hot temperatures. Coast is Ok mostly. It's elevons sometimes are misaligned (1 out of 4 we found) and aligning them is hard because the servo horn has huge steps. Also, if caught in a gust while launching, it's elevons are unable to compensate as they're already fully deflected during launch, causing wild banking and crashes. Then, there's the 2.4 clash between the onboard equipment and results in reduced range, no matter how we configure it.
That said, others had more success.
hello John,
Very interesting as a solution for mapping, I have developed a solution that is close to yours and I am convinced that we can make good quality mapping for a reasonable cost;
www.uav40.com my web site.
I've flown 120g on it with no problems. I'm sure it can take more with the stock power system.
APM is a more stable experience in AUTO. I've used the FreeFlight app to plan a lawnmower pattern, and the Parrot flight stack was giving me 90deg roll twitches while navigating. It did not inspire confidence.
This mission had wind gusts to 14knots. You can see how well it tracked. It just crabbed into the wind and did it's thing.
Here's an extended battery that people have used.