Difference between revisions of "User:VAMK"
Allan Ojala (talk | contribs) |
|||
(61 intermediate revisions by 2 users not shown) | |||
Line 78: | Line 78: | ||
#GPS module | #GPS module | ||
#Base station AC4790 | #Base station AC4790 | ||
===Configuration of the AC4790=== | |||
While operating the AC4790 in broadcast mode works, it is probably better to configure the modules in addressed mode. | |||
To do this, put the MAC address of one modem as destination on the other, and vice versa. Also choose the option Unicast Only, which would make the modems immune to broadcast packets. | |||
This works very well, and upon moving a way-point in the GCS, the response was much quicker than in broadcast mode. | |||
The images below show the current configuration on my modems. | |||
[[Image:airborne.png |thumb|center| Airborne configuration.]] | |||
[[Image:gcs.png |thumb|center| GCS configuration.]] | |||
(With thanks to Mr. Helge Walle for providing this information and screen shots) | |||
==Software== | ==Software== | ||
Line 83: | Line 98: | ||
All of the programs were run on Mac OS 10.5 and virtualized Ubuntu 8.04 on VMWARE Fusion 2.0. | All of the programs were run on Mac OS 10.5 and virtualized Ubuntu 8.04 on VMWARE Fusion 2.0. | ||
A VMWare image containing Paparazzi as well as Wine+U-Control is available [http://robotics.puv.fi/paparazzi/Paparazzi.tar.gz here]. It is based on Ubuntu 8.04 LTS, but has most of the standard included tools and | A VMWare image containing Paparazzi as well as Wine+U-Control is available [http://robotics.puv.fi/paparazzi/Paparazzi.tar.gz here]. It is based on Ubuntu 8.04 LTS, but has most of the standard included tools and software removed. (user:paparazzi password:paparazzi) | ||
====Linux==== | ====Linux==== | ||
Line 106: | Line 121: | ||
keystroke "cd /Applications/FlightGear.app/Contents/Resources" | keystroke "cd /Applications/FlightGear.app/Contents/Resources" | ||
keystroke return | keystroke return | ||
keystroke "./fgfs.sh --fdm=null --native-gui=socket,in,30,,5501, | keystroke "./fgfs.sh --fdm=null --native-gui=socket,in,30,,5501,udp" | ||
keystroke return | keystroke return | ||
end tell | end tell | ||
on error | on error | ||
display dialog "Error: could not launch FlightGear. Is it installed? Please download and install FlightGear to Applications folder." buttons {"OK"} default button 1 | display dialog "Error: could not launch FlightGear. Is it installed? \ | ||
Please download and install FlightGear to Applications folder." | |||
buttons {"OK"} default button 1 | |||
set download_url to "http://www.flightgear.org/Downloads/binary.shtml" | set download_url to "http://www.flightgear.org/Downloads/binary.shtml" | ||
open location download_url | open location download_url | ||
Line 117: | Line 134: | ||
The run this open Script Editor from /Applications/AppleScript copy paste above code and compile and run. To save it as an executable you must "Save As" and click the "Run Only" to true. | The run this open Script Editor from /Applications/AppleScript copy paste above code and compile and run. To save it as an executable you must "Save As" and click the "Run Only" to true. | ||
=== | ===Video Plugin to GCS=== | ||
*In this chapter I explain how to set up a video pluing to the paparazzi Ground Control Station window. | |||
[[image:VideoPluingInGCS.png]] | |||
*What you will need: | |||
<ul> | |||
<li>MPlayer</li> | |||
<li>live555MediaServer</li> | |||
</ul> | |||
*The easiest way to obtain mplayer is to get it with apt-get. I don't recommend using Applications->Add/remove file menu or building from source. I tried both and neither worked. | |||
<strong>Installing MPlayer</strong> | |||
*Here's what you need to do: | |||
<ol> | |||
<li>Open a terminal window.</li> | |||
<li>$ sudo apt-get install mplayer</li> | |||
<li>$ password</li> | |||
<li>$ y</li> | |||
<li>After it's installed. Close terminal and open it again.</li> | |||
<li>Usuge: $ mplayer <filename></li> | |||
</ol> | |||
<strong>Installing live555</strong> | |||
*Open up your favourite web browser and paste this to the address field: | |||
*http://www.live555.com/liveMedia/public/ | |||
<ol> | |||
<li>Download and extract the package for example to your Documents folder. I recommend using the file explorer to navigate to the folder and right click on the package and choose "extract here"</li> | |||
<li>Open a terminal window if not already open.</li> | |||
<li>Type "cd " and then highlight the extracted folder in file explorer and drag it to the terminal and drop it</li> | |||
<li>Now it should say in the terminal: "~$ cd Documents/live"</li> | |||
<li>$ ./genMakefiles linux</li> | |||
<li>$ make</li> | |||
</ol> | |||
*These is now install procedure so you have to "cd" to the "path-to-live/live/mediaServer" folder and type: $ ./live555MediaServer. | |||
*Putting media to be streamed is simple as copying them to the "mediaServer" folder under "live" folder. | |||
*to quit the app push Ctrl+C | |||
*Example run: | |||
<pre> | |||
paparazzi@Paparazzi:~/Documents/live/mediaServer$ ./live555MediaServer | |||
LIVE555 Media Server | |||
version 0.3 (LIVE555 Streaming Media library version 2009.11.27). | |||
Play streams from this server using the URL | |||
rtsp://192.168.128.136:8554/<filename> | |||
where <filename> is a file present in the current directory. | |||
Each file's type is inferred from its name suffix: | |||
".aac" => an AAC Audio (ADTS format) file | |||
".amr" => an AMR Audio file | |||
".m4e" => a MPEG-4 Video Elementary Stream file | |||
".mp3" => a MPEG-1 or 2 Audio file | |||
".mpg" => a MPEG-1 or 2 Program Stream (audio+video) file | |||
".ts" => a MPEG Transport Stream file | |||
(a ".tsx" index file - if present - provides server 'trick play' support) | |||
".wav" => a WAV Audio file | |||
See http://www.live555.com/mediaServer/ for additional documentation. | |||
</pre> | |||
*Copy/paste the url rtsp://192.168.128.136:8554/ ( Shift + Ctrl + V ) to a text editor and append your streamed file name to it. | |||
*For example: rtsp://192.168.128.136:8554/fair.mpg | |||
*You will need this information later on. | |||
<strong>Configuring Paparazzi</strong> | |||
*Open Paparazzi Center | |||
*Locate the following from the lower left corner of the window | |||
[[Image:Paphome.png]] | |||
*Navigate to the HOME folder and find the "conf" folder. Under the conf folder locate the "control_panel.xml" file and open it in your favourite editor. HINT: make a copy of your working xml file before editing it if you are uncertain about editing xml files. | |||
*Now you must check in which session you want the video to be shown in. You choose it from the Paparazzi Center: | |||
[[Image:Session_name.png]] | |||
*And now in the editor where you opened the xml file find the following tag ( in my case the session name is "vamk" ): | |||
<session name="vamk"> <!-- in your case vamk is replace by your session name --> | |||
*Now add a new child to the tag <program name="GCS">. And remember to comment what and when you edited. | |||
<pre> | |||
. | |||
. | |||
. | |||
<section name="sessions"> | |||
<session name="vamk"> | |||
<program name="GCS"> <!-- 2010-4-1 Allan: Added new child element "arg" --> | |||
<!-- parameters are provided in the "constant" attribute value --> | |||
<arg flag="-mplayer" constant="rtsp://192.168.128.136:8554/fair.mpg"/> | |||
</program> | |||
<program name="Server"/> | |||
<program name="Data Link"> | |||
<arg flag="-d" constant="/dev/ttyUSB0"/> | |||
<arg flag="-s" constant="57600"/> | |||
</program> | |||
</session> | |||
. | |||
. | |||
. | |||
</pre> | |||
*the tag "program" will probably be a single line tag before you edit. So before: | |||
<pre> | |||
<program name="GCS"/> | |||
</pre> | |||
*And after: | |||
<pre> | |||
<program name="GCS"> <!-- 2010-4-1 Allan: Added new child elemen "arg" --> | |||
<!-- parameters are provided in the "constant" attribute value --> | |||
<arg flag="-mplayer" constant="rtsp://192.168.128.136:8554/fair.mpg"/> | |||
</program> | |||
</pre> | |||
*now save changes. | |||
*Next go to folder "gcs" under the conf from where you opened the "control_panel.xml". | |||
*Edit file "horizontal.xml" | |||
*make this: | |||
<pre> | |||
<!DOCTYPE layout SYSTEM "layout.dtd"> | |||
<layout width="1024" height="768"> | |||
<rows> | |||
<widget size="500" name="map2d"/> | |||
<columns> | |||
<rows size="375"> | |||
<widget size="200" name="strips"/> | |||
</rows> | |||
<widget size="400" name="aircraft"/> | |||
<widget name="alarms"/> | |||
</columns> | |||
</rows> | |||
</layout> | |||
</pre> | |||
*Look like this: | |||
*Remember: make your own comments to the changes you make. | |||
<pre> | |||
<!DOCTYPE layout SYSTEM "layout.dtd"> | |||
<layout width="1424" height="768"> <!-- 2010-1-2 Allan: changed width to 1424 from 1024. --> | |||
<rows> | |||
<widget size="500" name="map2d"/> | |||
<columns> | |||
<rows size="375"> | |||
<widget size="200" name="strips"/> | |||
</rows> | |||
<widget size="400" name="aircraft"/> | |||
<widget name="alarms"/> | |||
<widget size="400" name="plugin"/> <!-- 2010-1-2 Allan: added this line for the video plugin in GCS. --> | |||
</columns> | |||
</rows> | |||
</layout> | |||
</pre> | |||
*Now save the file. Close your editor and Paparazzi Center. Start you live555 media server. | |||
*Reopen Paparazzi Center and execute your session and the video should be visible in lower right corner of the GCS. | |||
=Log= | =Log= | ||
Line 246: | Line 401: | ||
Other activities: | Other activities: | ||
*Remaking a piece of C-code that handles the mode changes. | *Remaking a piece of C-code that handles the mode changes. | ||
==6.th August== | |||
*planning and testing a flightplan | |||
==7.th August== | |||
*Solving the "Low-Battery" -warning I think it is fixed now. | |||
*Received the parts for MY OWN RC plane from Karkkainen | |||
==8.th August== | |||
*Build my own RC plane: Parkfun Scout PF-205 | |||
*I ordered it for my own personal amusement and for training purposes. | |||
===Parkfun Scout PF-205=== | |||
[[Image:Parkfunscout.jpg|thumb|center|Parkfun Scout]] | |||
*Ready to fly plane. Completely factory assembled( except redder and elevator plane) with all electronics installed. | |||
*The package came with all the necessary parts: | |||
** 4 - channel Parkfun PF-4X radio ( no batteries included ) | |||
** 4 - channel receiver | |||
** 4 servos | |||
** Li-Po battery 11.1V 1350 mAh | |||
** Automatic balance Li-Po charger | |||
** Powerful brushless engine and an ESC | |||
** USB flightsimulator interface cable | |||
** FMS flightsimulator | |||
<table border="1"> | |||
<th>Technical Specifications</th> | |||
<tr><td>Wingspan</td><td>1180mm</td></tr> | |||
<tr><td>Length</td><td>830mm</td></tr> | |||
<tr><td>Weight (according to manual - feels much heavier)</td><td>580g</td></tr> | |||
<tr><td>E-motor</td><td>Brushless 180W</td></tr> | |||
</table> | |||
I put it together in about an hour.<br/> | |||
Price: 185€ + 7€ shipping to home door<br/> | |||
Delivery time: 2 days<br/> | |||
From: [http://www.karkkainen.com/ karkkainen]<br/> | |||
The simulator is OK and the plane was very fast easy to put together. The package included everything so no time wasted googling every place for the best bargain etc. | |||
==11.th of August== | |||
===Test at Vaasa Airport=== | |||
Condistions: Clear but wind more than 6 m/s. Too strong wind to fly. Will try on again on 13.th. What I wanted to test was my own plane first and then then the SIG on manual but since the wind was so strong I just tested the GPS accuracy and sensors.<br/> | |||
<strong>Results:</strong> | |||
*GPS Accuracy: 5.8 m | |||
*IR sensors more accurately (guessing) on the field than at home but settings still neeed fixing. | |||
TODO: | |||
*Fix IR settings | |||
*Fix critical battery level warning (I thought it was OK but on the field it was proven otherwise). | |||
By the way the reason why the Parkfun plane it said to be so light is because the value from the manual only means the fuselage weight without any other parts like: engine and battery etc. | |||
==23.Rd of August== | |||
*Flying Parkfun Scout at Vaasa Airport. The wind was very quite strong and the plane when flying at full throttle towards the wind just levitated in the air. | |||
=Trouble= | |||
*SIG proved to be too light | |||
*I have made contact with people from Joensuu University who have used RC airplanes to take pictures of forests. We have exchanged experiences and they promised us to deliver us a new fuselage which they have used succesfully. | |||
*Here is a [http://www.joensuu.fi/mekri/valikko/index_7.html link] to their research site web page. | |||
==13.th of September== | |||
*Lovely weather at the airport, almost entirely calm | |||
*We flew the Parkfun Scout | |||
*The balance point was still too back | |||
*Going to fix balance point and fly again on next Tuesday if the weather is good enough | |||
*We got a couple new members to the local club | |||
==The New Plane== | |||
A certain researcher at [http://www.joensuu.fi/mekri/valikko/index_7.html Mekri] research center in eastern Finland accidentally noticed my log and made a proposal about cooperation about researching UAVs. The have doing aerial photography for several years now and have come up with their own design. The proposal came just days after we realized that the SIG was too light to fly windy weather. | |||
The basic idea in this model is simple. A 32 mm PVC pipe with wings, v-tail and cargo space made out of material called EPP. All flaps are made out of balsa wood. EPP is easy to fix and modify. The availability of the material is really bad at the moment in Finland because the only factory burned down and ordering it from abroad is too expensive. The PVC pipe is virtually in-breakable the wings again will break on crash. The engine is located in the back and uses a folding propeller therefore providing better cover for the engine and the propeller axle. We have kicked power up a notch and we are using two 2.2 Ah Li-Po batteries. The parts were bought from mostly SIL shop. Notice you get 10% discount if you are a member of SIL. The most important part of the membership is the insurance. Servos were bought from HobbyLinna the rest the spinner kit and the propellers were from Kärkkäinen.<br/> | |||
Dimensions | |||
*Wingspan: 156 cm<br/> | |||
*From nose to end of prop adapter about 115 cm | |||
*Parts: | |||
Electric engine: DualSky XM3548CA-4T 390/650 W | |||
*KV=1080RPM | |||
*2-3 lipo | |||
*Max. eff. current 35 A, Burst current 44 A | |||
*Propeller: 9x6 - 12x6 | |||
*weight: 165 g | |||
*Glow class: .25 class | |||
*axle diam. 5mm, prop adapter 6mm | |||
DualSky 60 A ESC | |||
*Supported highest motor speed: 210000 RPM(2 poles), 70000 RPM(6 poles), 35000 RPM(12 poles) | |||
*Smooth and accurate speed control, excellent throttle linearity | |||
*Extreme low resistance, super current endurance | |||
*XMotorTM optimized timing advance. | |||
*High rate (8 KHz) switching (PWM) | |||
*Cutoff can be programmed for motor stop or reduced power | |||
*Brake/No Brake operation. Stop folding props cold or let fixed props freewheel | |||
*Full protection features: Low-voltage cutoff protection / over-heat protection / throttle signal lost protection | |||
*3 startup modes: Normal / Soft / Super-Soft startup, can be used for both fixed-wing aircraft or helicopter models | |||
*Throttle range can be configured, fully compatible with all market available transmitters | |||
*Microprocessor and BEC(Battery Elimination Circuit) use separate voltage regulator IC , with good anti-jamming capability | |||
*Suitable for Lipo and NiCd/MH batteries | |||
*Lipo cut-off selectable 2.5 , 2.75 or 3.1 v per cell (default 2.75) | |||
Batteries | |||
*2200 mAh 16C 3s1p 11,1 v | |||
*Dimensions: 21 x 33 x 100 mm | |||
*Weight: 167 g | |||
Servos | |||
*HITEC HS-81MG | |||
Propeller | |||
*Aeronaut cam carbon 11*8 | |||
<div class="inline"> | |||
[[Image:Propholderproblem.JPG|thumb|left|Problem]] | |||
[[Image:Holkki 2.JPG|thumb|left|Solution]] | |||
[[Image:Motorpreinstall.JPG|thumb|left|Result]] | |||
</div> | |||
In the picture serie you can see that folding propeller holding fork inner diameter is larger than the prop adapter outer diameter, so I had to cut a piece of metal pipe with inner radius 6 mm and outer 8 mm, Luckily I happened to find that from home. The wooden cylinder that holds the motor in place and goes inside the plastic tube had to be heavily modified. The hole that goes through lengthwise had to be largened, I needed to drill two new holes for the screws that hold to wood inside the plastic tube. Also two of the tracks on the sides of the wooden piece had to deepened and then a metal piece had to done in order for the screws to have something hold on to. Also the four 3 mm screws that hold the engine had to changed for shorter ones and their heads modified so that the wooden would fit inside the tube. Actually the wood would hold on to the plastic with just one screw because the engine pushes itself inside the tube but two are used just to be sure. Also notice the larger half of the engine moves with the propeller fork. | |||
<div> | |||
[[Image:Motormounting_2.JPG|thumb|center|Backside of the wooden cylinder]] | |||
[[Image:Withtail_2.JPG|thumb|center|Tail with engine in place and wires connected]] | |||
[[Image:Overview_2.JPG|thumb|center| Overview of the new plane]] | |||
</div> | |||
==10th of October== | |||
*Solderer connectors and did smoke test. Result: works very well - no smoke | |||
[[Image:Batteriesinplane_2.JPG|thumb|center|Batteries fitted inside the plane]] | |||
==11th of October== | |||
*Programmed the Hitec Radio for vtail | |||
[[Image:Vtail-lsright.png]] | |||
[[Image:Vtail-lsleft.png]] | |||
[[Image:Vtail-rsup2.png]] | |||
[[Image:Vtail-rsdown2.png]] | |||
[[Image:Wing-rsleft2.png]] | |||
*Notice! I corrected the last picture on the right. Now it's better when they're all viewed from behind. | |||
*The manual was a bit unclear so here it is simplified: | |||
<ol> | |||
<li>Turn on radio</li> | |||
<li>Press both edit buttons</li> | |||
<li>Press the edit "down" button eight times</li> | |||
<li>Press both data buttons</li> | |||
<li>Prss both edit buttons. The "ELVN" ( elevator mix will be automatically disabled ).</li> | |||
</ol> | |||
*The channel 1 that goes to the wing servos had to be reversed. | |||
*To do this | |||
<ol> | |||
<li>Turn on radio</li> | |||
<li>Press both edit buttons</li> | |||
<li>Press the edit "down" button four times</li> | |||
<li>Use the cursor buttons to select the your wanted channel</li> | |||
<li>Prsss both data buttons. There will now be a short small text saying "rev" instead of "nor".</li> | |||
<li>Press both edit buttons.</li> | |||
</ol> | |||
*I also had to disconnect all servos on first power-up in order to let them move to their default position without damaging flap hinges. One of the servos moved about 45 degrees on first power up. | |||
==13.th of October== | |||
*Adjusting balance point with two bults. | |||
[[Image:Middlelayer_2.JPG|thumb|center|Middle layer above batteries]] | |||
[[Image:Toplayer_2.JPG|thumb|center|Top layer holds the weights in place]] | |||
*Didn't fly yet. I'm going on Thursday morning with one of local club members to the airport. | |||
==12.th of October== | |||
Finishing details. Made holes for the ESC on/off -switch and the receiver antenna. Trimmed servos and put a drop of glue on one side to hold them in place but allowing them to be detached if needed. I taped to the all of the wing outer edges to prevent it from being scratched and adding a little bit of extra support. Still need to make the balance point closer to the nose because now while the plane has an engine at the back the back is quite heavy of course. Planning to take it airborne tomorrow evening and of course take video. | |||
==15.th of October - First Flight== | |||
*At 11 O'clock in the morning at Vaasa airport we flew the plane. It flew for about a minute before a piece of the wing came around a disc that holds the wing to the fuselage and the plane dove nose first to a dirt road. Components were left undamaged. | |||
*Damage: Wing and nose | |||
*TODO: Fix wing and nose. Make a larger disc to distribute the weight to a larger on the wing. | |||
[[Image:Wingdamage_2.JPG|thumb|center|Cause of the crash.]] | |||
[[Image:Nosedamage_2.JPG|thumb|center|Nose damage.]] | |||
Check out [http://www.youtube.com/watch?v=sUoWQQwAE34 Video here]. You can see the crash at 2:35. It's not a very good video because my camera sucks and it's so difficult to point it when you can't see thing you want to shoot from the screen. Will need to borrow a better one from someone. | |||
==November== | |||
===Second test flight=== | |||
*Flight was done in light wind and rain. Visibility about 50 m. | |||
*Everything else worked fine except the wing turned in mid air and had to land almost right away. | |||
*Controls were much better than last time. Now the EPA ( End Point Adjustment ) was set to 50% for all servos. | |||
*The newly reinforced held very well ( except for the part that holds it against the wing ). We had reinforced it with two about 3 mm wooden laths widthwise inside the wing. | |||
*Didn't dare to take out my loaned video camera out in the rain. I noticed that the EPP material gets wet very quickly in rain and in order to fly in rain it should coated with some lacquer. | |||
*All parts are intact. I'm very pleased with its flying properties now. | |||
===Third Test Flight=== | |||
*15.th of November | |||
*http://www.youtube.com/watch?v=RDv25I9-Ygg | |||
*Crashed for an unknown reason after two minutes before that it flew well. | |||
*Some damage on the wing. Engine OK, servos to be tested. | |||
===16.th of November=== | |||
*Tested servos and for my relief they worked as they are supposed to | |||
*Glued pieces back to the wing what we found from the ground | |||
*A couple of small 1*1 cm pieces we didn't find I shall replace from the spare EPP material tomorrow when the glue on the bigger pieces dry into place | |||
===Fourth Test Flight=== | |||
*OK weather. Cloudy almost no or very little wind. | |||
*http://www.youtube.com/watch?v=gCs0WnG39As | |||
*Good flight and nice landing. No damage. | |||
===Fifth Test Flight=== | |||
*Hard wind about 5 m/s | |||
*We now had our engine pitch fixed. It no longer points upwards but is straight. | |||
*One test flight first and then we took it down and adjusted some of the push rods and flew again. Both flights on manual without paparazzi electronics. | |||
*The plane now flies straight unlike it used to fly, bouncing up and down. | |||
*Both Landings on snow and ice covered runway. No damage on anything. | |||
*The plane is now trimmed crudely. As good as you can get in that weather. | |||
=Activity 2010 Winter= | |||
*I have been flying my trainer at home on the Finnish achiplelago ice. So far I have managed to get two flight hours in total. One flight is roughly 10 minutes. | |||
*Also I have been writing my thesis and made a couple of vidoes with a mini camera boarded under the Parkfun trainer plane. | |||
[http://www.youtube.com/watch?v=uoRIP0VD5wA Video 1] | |||
[http://www.youtube.com/watch?v=TXfM_oaZBpA Video 2] |
Latest revision as of 03:55, 5 December 2011
Vaasan Ammattikorkeakoulu - Vaasa University of Applied Sciences
Introduction
This page is part of a final thesis project made for Vaasa University of Applied Sciences. The idea in this project was to implement the Paparazzi hard and software to an RC airplane. The project began in June 2009.
The project is sponsored by WRD Systems
Hardware
The Plane
After a long period of choosing the plane, the Sig Kadet was chosen to be the one. Below are listed some characteristics why it was chosen.
- Big wing area (easier to control)
- Powerful electric engine (ability to take up extra payload)
- Light (fly weight about 700g)
- Semi-ready built (no balsa work)
In the process of choosing the plane the following properties of the plane had to be decided such as following just to name a few:
- plane type
- engine type
- engine size
There are several matters that needed to be taken into consideration when choosing the plane type. Different types of planes have different weight, dimensions, fuselage size, manoeuvring capabilities, maximum pitch angle, stall speed, wing tip design and so and so on... Just like there are thousands of different kinds of real airplanes, there also are thousands of different kinds of model airplanes available.
These model airplanes come in many types and sizes ranging in weight from a few hundred grams to several kilograms and in dimensions from a half meter wing tip size to even one meter. Some of the model are so called "ready-sets" these come with comfort of not having to build it yourself but have the down of being difficult to customize the others are semi-ready or DIY -models. We were glad to notice that there was plenty of room inside the plane to fit extra payload (the Paparazzi electronics). What we were looking for was an easy to build and fly aeroplane with enough power and space to carry some payload, the payload being the Paparazzi autopilot hardware that weighs about 300g.
Making decisions in purchasing an aeroplane is a win-lose situation. On all situations where you win there is always a downside where you lose. For example: a bigger engine brings power and speed but adds weight and either the fuel tank or the battery takes space also you can't fit a big engine in a small plane, more wing area brings more up-thrust and stability but adds air resistance thus hindering speed and losing power to win the drag.
If we had been looking for an airplane for just for flying that would have been easy but the choice was difficult because we needed the ability to carry payload and none of the RC models are designed to carry extra payload. Even if you can fit with extra payload and your plane being able to carry it, the balance point will be different from what the manufacturer has designed and if you started correcting it with extra balance weights you lose power because the plane has become heavier. It is not so disastrous if the extra weight is located near the nose of the plane but if you are forced to place it near the back then the plane becomes unstable. Adding extra payload to an already heavy plane doesn't have such a huge effect on balance than it would have on a light plane. For example: if you add 300g to a 3kg plane the new weight 10% greater than the original but if you had put the same weight in a 700g plane the new weight is about one and a half times as big as the old weight.
Choosing the radio controller is much simpler because they all basically work the same way and the only difference is the number of channels it can use. When choosing a radio controller, especially with Paparazzi in mind, make sure to buy a controller which has at least one more channel than the manufacturer recommends.
You can find SIG manufacturer site here.
Engine Type Comparison
Pros for electric engines:
- simple starting and stopping - can be turned on and off in mid air by just adjusting the throttle
- no dangerous liquids needed
- less noice than in combustion engines
- less vibration than in combustion engines
Cons for electric engines:
- useally less powerful than combustion engines
- charging the batteries needs much controlling especially Li-Po which also need a special charger
- charging takes more time than refueling a combustion engine
- different kinds of batteries need a different charger
Pros for combustion engines:
- powerful
- refueling is a quick procedure compared to charging batteries
Cons for combustion engines:
- vibration
- unable to restart engine while airborne
- hassle with fuel mixing and starting
Radio
- Hitec 6 Optic Sport
The receiver is also from Hitec, it's a HFS-05MS.
In order to use this one with Paparazzi, the PPM signal can be easily obtained as shown here:
Battery
- Li-Po 1300 mAh 11V.
Why Li-Po? "Li-Po batteries are light and small and have large storing capacity. As rule of thumb Li-Po batteries have four times the capacity compared to same sized and weighed Ni-Mh batteries".
Electronics
- TWOG autopilot
- Vertical infra-red sensor
- Horizontal infra-red sensor
- USB programming interface
- Base station USB/Serial interface
- HITEC HFS-05MS receiver
- Telemetry datalink AC4790
- GPS module
- Base station AC4790
Configuration of the AC4790
While operating the AC4790 in broadcast mode works, it is probably better to configure the modules in addressed mode. To do this, put the MAC address of one modem as destination on the other, and vice versa. Also choose the option Unicast Only, which would make the modems immune to broadcast packets.
This works very well, and upon moving a way-point in the GCS, the response was much quicker than in broadcast mode.
The images below show the current configuration on my modems.
(With thanks to Mr. Helge Walle for providing this information and screen shots)
Software
Used Programs and operating systems
All of the programs were run on Mac OS 10.5 and virtualized Ubuntu 8.04 on VMWARE Fusion 2.0.
A VMWare image containing Paparazzi as well as Wine+U-Control is available here. It is based on Ubuntu 8.04 LTS, but has most of the standard included tools and software removed. (user:paparazzi password:paparazzi)
Linux
Mac
Simulation Example
In the screenshot you can see a Paparazzi GCS run on Ubuntu in a virtual machine and Flight Gear run on Macintosh. The navigation signal is broadcast in the local area network using UDP.
The reason why there's no land under the plane is that there were no landscape textures loaded into the Flight Gear at that moment.
How to Launch Simulation
Check the Paparazzi Wiki here.
Here's is an Applescript shorcut for Mac users to launch Flight Gear to see the simulation.
tell application "Terminal" to activate try tell application "System Events" keystroke "cd /Applications/FlightGear.app/Contents/Resources" keystroke return keystroke "./fgfs.sh --fdm=null --native-gui=socket,in,30,,5501,udp" keystroke return end tell on error display dialog "Error: could not launch FlightGear. Is it installed? \ Please download and install FlightGear to Applications folder." buttons {"OK"} default button 1 set download_url to "http://www.flightgear.org/Downloads/binary.shtml" open location download_url end try
The run this open Script Editor from /Applications/AppleScript copy paste above code and compile and run. To save it as an executable you must "Save As" and click the "Run Only" to true.
Video Plugin to GCS
- In this chapter I explain how to set up a video pluing to the paparazzi Ground Control Station window.
- What you will need:
- MPlayer
- live555MediaServer
- The easiest way to obtain mplayer is to get it with apt-get. I don't recommend using Applications->Add/remove file menu or building from source. I tried both and neither worked.
Installing MPlayer
- Here's what you need to do:
- Open a terminal window.
- $ sudo apt-get install mplayer
- $ password
- $ y
- After it's installed. Close terminal and open it again.
- Usuge: $ mplayer <filename>
Installing live555
- Open up your favourite web browser and paste this to the address field:
- http://www.live555.com/liveMedia/public/
- Download and extract the package for example to your Documents folder. I recommend using the file explorer to navigate to the folder and right click on the package and choose "extract here"
- Open a terminal window if not already open.
- Type "cd " and then highlight the extracted folder in file explorer and drag it to the terminal and drop it
- Now it should say in the terminal: "~$ cd Documents/live"
- $ ./genMakefiles linux
- $ make
- These is now install procedure so you have to "cd" to the "path-to-live/live/mediaServer" folder and type: $ ./live555MediaServer.
- Putting media to be streamed is simple as copying them to the "mediaServer" folder under "live" folder.
- to quit the app push Ctrl+C
- Example run:
paparazzi@Paparazzi:~/Documents/live/mediaServer$ ./live555MediaServer LIVE555 Media Server version 0.3 (LIVE555 Streaming Media library version 2009.11.27). Play streams from this server using the URL rtsp://192.168.128.136:8554/<filename> where <filename> is a file present in the current directory. Each file's type is inferred from its name suffix: ".aac" => an AAC Audio (ADTS format) file ".amr" => an AMR Audio file ".m4e" => a MPEG-4 Video Elementary Stream file ".mp3" => a MPEG-1 or 2 Audio file ".mpg" => a MPEG-1 or 2 Program Stream (audio+video) file ".ts" => a MPEG Transport Stream file (a ".tsx" index file - if present - provides server 'trick play' support) ".wav" => a WAV Audio file See http://www.live555.com/mediaServer/ for additional documentation.
- Copy/paste the url rtsp://192.168.128.136:8554/ ( Shift + Ctrl + V ) to a text editor and append your streamed file name to it.
- For example: rtsp://192.168.128.136:8554/fair.mpg
- You will need this information later on.
Configuring Paparazzi
- Open Paparazzi Center
- Locate the following from the lower left corner of the window
- Navigate to the HOME folder and find the "conf" folder. Under the conf folder locate the "control_panel.xml" file and open it in your favourite editor. HINT: make a copy of your working xml file before editing it if you are uncertain about editing xml files.
- Now you must check in which session you want the video to be shown in. You choose it from the Paparazzi Center:
- And now in the editor where you opened the xml file find the following tag ( in my case the session name is "vamk" ):
<session name="vamk">
- Now add a new child to the tag <program name="GCS">. And remember to comment what and when you edited.
. . . <section name="sessions"> <session name="vamk"> <program name="GCS"> <!-- 2010-4-1 Allan: Added new child element "arg" --> <!-- parameters are provided in the "constant" attribute value --> <arg flag="-mplayer" constant="rtsp://192.168.128.136:8554/fair.mpg"/> </program> <program name="Server"/> <program name="Data Link"> <arg flag="-d" constant="/dev/ttyUSB0"/> <arg flag="-s" constant="57600"/> </program> </session> . . .
- the tag "program" will probably be a single line tag before you edit. So before:
<program name="GCS"/>
- And after:
<program name="GCS"> <!-- 2010-4-1 Allan: Added new child elemen "arg" --> <!-- parameters are provided in the "constant" attribute value --> <arg flag="-mplayer" constant="rtsp://192.168.128.136:8554/fair.mpg"/> </program>
- now save changes.
- Next go to folder "gcs" under the conf from where you opened the "control_panel.xml".
- Edit file "horizontal.xml"
- make this:
<!DOCTYPE layout SYSTEM "layout.dtd"> <layout width="1024" height="768"> <rows> <widget size="500" name="map2d"/> <columns> <rows size="375"> <widget size="200" name="strips"/> </rows> <widget size="400" name="aircraft"/> <widget name="alarms"/> </columns> </rows> </layout>
- Look like this:
- Remember: make your own comments to the changes you make.
<!DOCTYPE layout SYSTEM "layout.dtd"> <layout width="1424" height="768"> <!-- 2010-1-2 Allan: changed width to 1424 from 1024. --> <rows> <widget size="500" name="map2d"/> <columns> <rows size="375"> <widget size="200" name="strips"/> </rows> <widget size="400" name="aircraft"/> <widget name="alarms"/> <widget size="400" name="plugin"/> <!-- 2010-1-2 Allan: added this line for the video plugin in GCS. --> </columns> </rows> </layout>
- Now save the file. Close your editor and Paparazzi Center. Start you live555 media server.
- Reopen Paparazzi Center and execute your session and the video should be visible in lower right corner of the GCS.
Log
Thursday 11.th June 2009
- Obtained all plane parts including radio and chargers
- Visited Vaasan lentokerho (Vaasa flight club) for final advives about what I should take special care when building the plane.
List of items:
- Atala-RC fly battery 11V 1300mAh
- Graupner "Ultramat" Ni-Mh and Li-Po fly battery charger with cell balancer feature
- Hitec Optic-6 Sport radio ( included 3 HS-55 micro servos )
- 1 micro servo HS-55
- SIG Kadet
- Graupner fly battery contactors
Friday 12.th June 2009
- Started constructing the plane
Assembled
- wings
- ailerons
Saturday 13.th June 2009
- installed two servos on wings
- installed two servos inside the fuselage
I had to extend cabels of one of the servos on the wings
Sunday 14.th June 2009
- assembled elevator
- cut pushwires to correct lengths, bend pushwire ends and connected them to servos.
Monday 15.th June 2009
Installed:
- receiver
- engine
- engine controller
- propeller
- cowling
The plane was now finished. The constructing took about 40 hours. Most of the time went to fecthing tools, reading the manual and waiting for the epoxy glue to dry,
Tuesday 16.th June 2009
Showed the newly build plane to members of the flight club. They noticed the battery connectors should be have reverse for safety reasons. I had soldered male to battery which should have been in the wires of the engine controller.
Wednesday 17.th June 2009
- re-soldered battery connectors
- smoke test
Results: no smoke, radio works. engine runs one servo did not work. Noticed that there didn't come wires or adapters to connect the battery to the charger.
Thursday 18.th June 2009
- Solved lack of wires or adapters problem with sacrificing test leads from a multimeter and modifiying their heads to fit the Graupner connectors.
- Solved why one of the servos did not move. The reason why it did not work was that its channel (channel 5) where it was connected had to be programmed from the radio for it work.
Saturday 20.th June 2009
- Further programming the radio.
Monday 21.st June 2009
- Meeting with supervizing teacher.
- Shortened one of the pushwires on wings.
- Test flight
- Investigated damage
- broken engine axel
- busted cowling
- scracth in propeller
- Order spareparts from SIG.
- engine
- cowling
- propeller
- started doing this Wiki.
Result: Landing in high grass broke axel and cowling also damaged propeller.
Tuesday 23.rd June 2009
- improved battery connector insulation
- simulator training for two hours
Wednesday 24.th June 2009
- Documention
Thurday 25.th June 2009
- Simulator training.
Friday 26.th June 2009
- Gave the plane to supervzing teacher for Paparazzi electronics installation.
Tuesday 30.th June 2009
- Simulator training
Wednesday 1.st July 2009
- Meeting with supervizing teacher at Technobotnia
- Build a wooden swing to test IR sensors.
- Started writing a C demo about #define macro dangers.
Thurday 2.nd July 2009
- Taking and uploading photos to wiki.
- Finished the C demo.
- Flight club meeting.
Friday 3.rd July 2009
- Prepared virtual machine for IR testing.
Saturday 4.th July 2009
- Setup IR test site outside
Test cancelled due rain.
Sunday 5.th July 2009
- Planned placement of circuits into the plane
Monday 6.th July
A rainy day, not possible to do tests outside.
- Improved testing board by making better fastening for circuits.
Tuesday 7.th July
- First proper IR test day.
Results: Tilting the horizontal IR circuit didn't seem to have any effect. The vertical sensors seem to work. Plan: Check IR settings from XML file configuration.
Wednesday 8.th July
- Parts from SIG arrived
- Mounted a modified propeller adapter to old broken axel and installed new propeller on it. Improvisation was the name of the game because I received a brushed engine instead of a brushlees engine.
- The new cowling did not have ready holes for the axel and so I had to drill cut holes for it and for the fastening screws.
- Discovered the reason for IRs not having any effect: the zero level was not set properly.
- Followed the tuning guide for checking the zero level.
- Tried building and uploading with new settings. Problem: the system stopped responding and started complaining that the system is "lost".
Thursday 9.th July
- After a new build and upload the system was still "lost".
- After several trials and errors and discussing in paparazzi IRC chat room I discovered the reason for the build failure.
- Before every new build a clean must be executed. I failed to do this and so the build did not work.
Thursday 16.th July
- Fastening various paparazzi circuits to the plane. No glue used all parts can taken unfastened with a screwdriver.
Friday 17.th July
- Noticed that not all wires were all long enough to reach their fastening places when trying to put all pieces together.
18.th July - 1.st August
- I took part in IPEAI - The Intensive Programme on Embedded and Ambient Intelligence in Kiel Germany.
4.th August
- Meeting with supervizing teacher
- I made some changes to XML the day before but could not execute anything. Problem was that I lacked the needed processes from the seession and that's why it didn't do anything.
- Earlier I wanted to extend the sensor wires but was no-go because if we had extended the wires the signal from the sensors would have suffered. Now I will have to make a tower for the sensors like in here.
- Personally I don't like the idea of a tower because of aerodynamic, aesthetics and balance reasons. Well it can't be helped so tower it is.
Building of the "tower":
- The tower is made of 25 mm diameter white plastic pipe and on top of it is the horizontal sensor.
- I maneged to put the vertical sensor to the side after the wing where originally planned.
- Also I noticed I will need an extral level above the two servos inside the fuselage to place the circuit board so that it won't short circuit from the pushwires.
- I tried to build it from balsa. The tower was good and the balsa was very easy to work with but the problem was where to route wires back inside the plane :).
5.th August
- Rebuilt the tower from yesterday ( it wasn't straight ).
- The yellow tapes on the sensors are expensive special tape with very high resistance. Protects the circuits from static discharges while working with them.
- The vertical sensor snaps into place in the plastic holder.
- The horizontal sensor is attached to the top with double nylon string. Sounds silly to attach with string but it fealt very sturdy and it can be taken away if needed.
Other activities:
- Remaking a piece of C-code that handles the mode changes.
6.th August
- planning and testing a flightplan
7.th August
- Solving the "Low-Battery" -warning I think it is fixed now.
- Received the parts for MY OWN RC plane from Karkkainen
8.th August
- Build my own RC plane: Parkfun Scout PF-205
- I ordered it for my own personal amusement and for training purposes.
Parkfun Scout PF-205
- Ready to fly plane. Completely factory assembled( except redder and elevator plane) with all electronics installed.
- The package came with all the necessary parts:
- 4 - channel Parkfun PF-4X radio ( no batteries included )
- 4 - channel receiver
- 4 servos
- Li-Po battery 11.1V 1350 mAh
- Automatic balance Li-Po charger
- Powerful brushless engine and an ESC
- USB flightsimulator interface cable
- FMS flightsimulator
Technical Specifications | |
---|---|
Wingspan | 1180mm |
Length | 830mm |
Weight (according to manual - feels much heavier) | 580g |
E-motor | Brushless 180W |
I put it together in about an hour.
Price: 185€ + 7€ shipping to home door
Delivery time: 2 days
From: karkkainen
The simulator is OK and the plane was very fast easy to put together. The package included everything so no time wasted googling every place for the best bargain etc.
11.th of August
Test at Vaasa Airport
Condistions: Clear but wind more than 6 m/s. Too strong wind to fly. Will try on again on 13.th. What I wanted to test was my own plane first and then then the SIG on manual but since the wind was so strong I just tested the GPS accuracy and sensors.
Results:
- GPS Accuracy: 5.8 m
- IR sensors more accurately (guessing) on the field than at home but settings still neeed fixing.
TODO:
- Fix IR settings
- Fix critical battery level warning (I thought it was OK but on the field it was proven otherwise).
By the way the reason why the Parkfun plane it said to be so light is because the value from the manual only means the fuselage weight without any other parts like: engine and battery etc.
23.Rd of August
- Flying Parkfun Scout at Vaasa Airport. The wind was very quite strong and the plane when flying at full throttle towards the wind just levitated in the air.
Trouble
- SIG proved to be too light
- I have made contact with people from Joensuu University who have used RC airplanes to take pictures of forests. We have exchanged experiences and they promised us to deliver us a new fuselage which they have used succesfully.
- Here is a link to their research site web page.
13.th of September
- Lovely weather at the airport, almost entirely calm
- We flew the Parkfun Scout
- The balance point was still too back
- Going to fix balance point and fly again on next Tuesday if the weather is good enough
- We got a couple new members to the local club
The New Plane
A certain researcher at Mekri research center in eastern Finland accidentally noticed my log and made a proposal about cooperation about researching UAVs. The have doing aerial photography for several years now and have come up with their own design. The proposal came just days after we realized that the SIG was too light to fly windy weather.
The basic idea in this model is simple. A 32 mm PVC pipe with wings, v-tail and cargo space made out of material called EPP. All flaps are made out of balsa wood. EPP is easy to fix and modify. The availability of the material is really bad at the moment in Finland because the only factory burned down and ordering it from abroad is too expensive. The PVC pipe is virtually in-breakable the wings again will break on crash. The engine is located in the back and uses a folding propeller therefore providing better cover for the engine and the propeller axle. We have kicked power up a notch and we are using two 2.2 Ah Li-Po batteries. The parts were bought from mostly SIL shop. Notice you get 10% discount if you are a member of SIL. The most important part of the membership is the insurance. Servos were bought from HobbyLinna the rest the spinner kit and the propellers were from Kärkkäinen.
Dimensions
- Wingspan: 156 cm
- From nose to end of prop adapter about 115 cm
- Parts:
Electric engine: DualSky XM3548CA-4T 390/650 W
- KV=1080RPM
- 2-3 lipo
- Max. eff. current 35 A, Burst current 44 A
- Propeller: 9x6 - 12x6
- weight: 165 g
- Glow class: .25 class
- axle diam. 5mm, prop adapter 6mm
DualSky 60 A ESC
- Supported highest motor speed: 210000 RPM(2 poles), 70000 RPM(6 poles), 35000 RPM(12 poles)
- Smooth and accurate speed control, excellent throttle linearity
- Extreme low resistance, super current endurance
- XMotorTM optimized timing advance.
- High rate (8 KHz) switching (PWM)
- Cutoff can be programmed for motor stop or reduced power
- Brake/No Brake operation. Stop folding props cold or let fixed props freewheel
- Full protection features: Low-voltage cutoff protection / over-heat protection / throttle signal lost protection
- 3 startup modes: Normal / Soft / Super-Soft startup, can be used for both fixed-wing aircraft or helicopter models
- Throttle range can be configured, fully compatible with all market available transmitters
- Microprocessor and BEC(Battery Elimination Circuit) use separate voltage regulator IC , with good anti-jamming capability
- Suitable for Lipo and NiCd/MH batteries
- Lipo cut-off selectable 2.5 , 2.75 or 3.1 v per cell (default 2.75)
Batteries
- 2200 mAh 16C 3s1p 11,1 v
- Dimensions: 21 x 33 x 100 mm
- Weight: 167 g
Servos
- HITEC HS-81MG
Propeller
- Aeronaut cam carbon 11*8
In the picture serie you can see that folding propeller holding fork inner diameter is larger than the prop adapter outer diameter, so I had to cut a piece of metal pipe with inner radius 6 mm and outer 8 mm, Luckily I happened to find that from home. The wooden cylinder that holds the motor in place and goes inside the plastic tube had to be heavily modified. The hole that goes through lengthwise had to be largened, I needed to drill two new holes for the screws that hold to wood inside the plastic tube. Also two of the tracks on the sides of the wooden piece had to deepened and then a metal piece had to done in order for the screws to have something hold on to. Also the four 3 mm screws that hold the engine had to changed for shorter ones and their heads modified so that the wooden would fit inside the tube. Actually the wood would hold on to the plastic with just one screw because the engine pushes itself inside the tube but two are used just to be sure. Also notice the larger half of the engine moves with the propeller fork.
10th of October
- Solderer connectors and did smoke test. Result: works very well - no smoke
11th of October
- Programmed the Hitec Radio for vtail
- Notice! I corrected the last picture on the right. Now it's better when they're all viewed from behind.
- The manual was a bit unclear so here it is simplified:
- Turn on radio
- Press both edit buttons
- Press the edit "down" button eight times
- Press both data buttons
- Prss both edit buttons. The "ELVN" ( elevator mix will be automatically disabled ).
- The channel 1 that goes to the wing servos had to be reversed.
- To do this
- Turn on radio
- Press both edit buttons
- Press the edit "down" button four times
- Use the cursor buttons to select the your wanted channel
- Prsss both data buttons. There will now be a short small text saying "rev" instead of "nor".
- Press both edit buttons.
- I also had to disconnect all servos on first power-up in order to let them move to their default position without damaging flap hinges. One of the servos moved about 45 degrees on first power up.
13.th of October
- Adjusting balance point with two bults.
- Didn't fly yet. I'm going on Thursday morning with one of local club members to the airport.
12.th of October
Finishing details. Made holes for the ESC on/off -switch and the receiver antenna. Trimmed servos and put a drop of glue on one side to hold them in place but allowing them to be detached if needed. I taped to the all of the wing outer edges to prevent it from being scratched and adding a little bit of extra support. Still need to make the balance point closer to the nose because now while the plane has an engine at the back the back is quite heavy of course. Planning to take it airborne tomorrow evening and of course take video.
15.th of October - First Flight
- At 11 O'clock in the morning at Vaasa airport we flew the plane. It flew for about a minute before a piece of the wing came around a disc that holds the wing to the fuselage and the plane dove nose first to a dirt road. Components were left undamaged.
- Damage: Wing and nose
- TODO: Fix wing and nose. Make a larger disc to distribute the weight to a larger on the wing.
Check out Video here. You can see the crash at 2:35. It's not a very good video because my camera sucks and it's so difficult to point it when you can't see thing you want to shoot from the screen. Will need to borrow a better one from someone.
November
Second test flight
- Flight was done in light wind and rain. Visibility about 50 m.
- Everything else worked fine except the wing turned in mid air and had to land almost right away.
- Controls were much better than last time. Now the EPA ( End Point Adjustment ) was set to 50% for all servos.
- The newly reinforced held very well ( except for the part that holds it against the wing ). We had reinforced it with two about 3 mm wooden laths widthwise inside the wing.
- Didn't dare to take out my loaned video camera out in the rain. I noticed that the EPP material gets wet very quickly in rain and in order to fly in rain it should coated with some lacquer.
- All parts are intact. I'm very pleased with its flying properties now.
Third Test Flight
- 15.th of November
- http://www.youtube.com/watch?v=RDv25I9-Ygg
- Crashed for an unknown reason after two minutes before that it flew well.
- Some damage on the wing. Engine OK, servos to be tested.
16.th of November
- Tested servos and for my relief they worked as they are supposed to
- Glued pieces back to the wing what we found from the ground
- A couple of small 1*1 cm pieces we didn't find I shall replace from the spare EPP material tomorrow when the glue on the bigger pieces dry into place
Fourth Test Flight
- OK weather. Cloudy almost no or very little wind.
- http://www.youtube.com/watch?v=gCs0WnG39As
- Good flight and nice landing. No damage.
Fifth Test Flight
- Hard wind about 5 m/s
- We now had our engine pitch fixed. It no longer points upwards but is straight.
- One test flight first and then we took it down and adjusted some of the push rods and flew again. Both flights on manual without paparazzi electronics.
- The plane now flies straight unlike it used to fly, bouncing up and down.
- Both Landings on snow and ice covered runway. No damage on anything.
- The plane is now trimmed crudely. As good as you can get in that weather.
Activity 2010 Winter
- I have been flying my trainer at home on the Finnish achiplelago ice. So far I have managed to get two flight hours in total. One flight is roughly 10 minutes.
- Also I have been writing my thesis and made a couple of vidoes with a mini camera boarded under the Parkfun trainer plane.