Ardupilot assisted RC plane with video link and telemetry to ground stationStill gathering project ideas and parts for an RC airplane that would have Ardupilot as autopilot and some form of a telemetry with laptop ground station at distances NOT MORE THAN 300-500 meters in radius, probably mostly up to around 200 meters. My primary focus is auto-take-off, auto-landing, small scale precision navigation.I have many considerable hurdles to come over due to some serious gaps in my knowledge of just about everything related to flying an RC aircraft, coding, airborne telemetry systems, and anything more than basic electronics. However, with the help of this forum, other sources I will eventually overcome these temporary shortcomings. I want to thank everybody for their hard work and making the results of their work available for those like me who do not have at this time much to bring to the table. Without you, this hobby and interest would not be reachable for many like me.Let me go to my current plan, which I am sure will adapt due to costs, my capabilities, available information, and more realistic objectives.Features:- Around 1 meter wingspan electric airplane- Minimum 6 Channel radio TX/RX- Autopilot with stabilizer and waypoints- Forward looking, or close to 180 tilt, or FPV video link up to 300-500 meters- Telemetry link (300-500 meters) to laptop ground station with videoincorporated on screen (OSD for video link not necessary)- Air speed sensor- Altimeter or range sensor (0-5 meters) with high resolution of .1m or less- Altimeter (5-and above) with resolution of .5-1m- RPM sensor for engine(s), or fans/prop- Current/voltage sensor for ESC system- GPSObjectives:- Stabilized flight (autopilot)- Return home, pattern following via waypoints (autopilot, GPS)- Take-off and landing assist or auto (autopilot, GPS, altimeter, range sensor, air speed)- Crash sensing emergency parachute deployment manually or automatic- (GPS, altimeter,range sensor, air speed, RPM, current/voltage, acclerometer)- Manual control and /or monitoring plane via video and telemetry data from ground stationParts/system status:- Purchased ($199 new): 4ch F-22 Nitroplanes electric dual ducted fan with 4ch Tx/6chRX,1300mh 3S lipo, dual 18A ESC , 3 servos(decided to use slower and easier to control planeuntil I learn to fly RC)- Purchased ($159 new) //still being shipped//: 4ch J3 Super Cub, 1010mm wing span,brushless 1750kv, 3S Lipo 1250mh, 25 ESC, 3 servos, with 4ch Tx/Rx- Ordering ($25 new): Ardupilot 328 (will have 2.2 version software) (as autopilot)- FTDI basic brake out ($14 new): for Ardupilot and for any FTDI connection- Purchased ($40 used): FMA Copilot system with Z sensor (for autopilot)- Purchased ($65 new): Parallex Propeller based development boards from Ebay (for possibleOSD, other onboard control, sensors, onboard telemetry-interface, etc? still not sure what I dowith it: http://www.futurlec.com/P8X32_Controller.shtml- Purchased ($45 new): 2EA 2200mah 3Lipos (for longer flight)- Ordering or making ($5 or $20 new) : Attopilot current/voltage sense board- Has already: 1.6 ghz Atom laptop with composite video-in USB adapter ($25 new)- Purchased ($35 new): 800mw 1.2GHZ video transmitter with camera and receiver (video link)- Ordering ($60 new): 5HZ GPS, LS20031- Not decided yet: XBee Pro 50mw ($32-42ea) for telemetry and possibly for control- Ground Station: hoping to use Jordi’s system once done can be used standalone (withoutLabview) and with Ardupilot and Xbee- Not decided yet: range sensor ($28) Maxbotix EZ-4 sonar (0-6m) or Sharp IR proximity sensor($15) (0-3m) or SCP1000 ($27) barosensor (for take-off and landing assist)- Not decided yet: Altimeter SCP1000 ($27) barosensor (altimeter and/or take-off and landingassist)- Deployable parachute: no plans yet, but will deploy when computer via sensors senseunrecoverable dive or total loss of control resulting in unrecoverable dive- IR TX/RX pairs ($5 new) RPM sense- Air speed sensor: 0-100Mph) have several free Freescale and Motorola pressure sensor samples (for take-off and landing assist)- Accelerometer: (0-4g?) have several free Freescale and Motorola samples (for take-off andlanding assist input, and input for parachute deployment)How will I pull it all together? Good question. But I hope to find the pieces of the puzzle and learn how to connect them into a single working platform. That’s the fun part! And in the process, I hope to learn to fly RC and may pick up some C++ and Spin coding too :)Feel free to comment and suggest. Appreciate your input and I hope I can assist others if help needed.
You need to be a member of diydrones to add comments!
I ended up getting a Cessna 206T with the option to add flaps. Same size as the SuperCub but with much much more interior space for electronics. This will be my primary plattform for ArduPilot, while the SuperCub is being used to learn to fly and test the ArduPilot electronics, etc.
I have maidened the SuperCub this weekend and was also my very fist flight. I promptly crashed it soon after lifting it in the air. No worries, had it glued black together, and added a carbon fiber hollow tube inside the wing for support which is also used as the air speed sensor's path to the pitot tube in the wing tip.
I can't really call it a maiden flight, since the plane just lifted into the air, stalled out and crashed back down. That's all. Several problems I need to avoid next time. The biggest was: the wind. The wind was quite strong, and several gusts almost tipped over the plane while it was still on the ground. Not smart. Also, being a tail dragger, I had to hold the elevators up, so when I lifted the elevators too high with full power the plane rocketed into the air at a very steep angle and into the strong wind. No wonder it stalled. Also, I have the FS8 CoPilot installed which forced me to turn it off before this first flight, because it kept the elevators down during take-off as it compensated for being on a taildragger. I figured, one less variable to manage.
Anyways, all these are part of a learning curve... :)
Well, since I have never flown an airplane before, I put in some sim time at the computer with a piper 3 model. I still can't "visualize" controling well when the plane is heading in my direction, but feel comfortable to try in real now.
Completed my SuperCub with FS8 Copilot and Z sensor. I decided to buildthis plane first, instead of the F-22 I already have in a box, so I can learn to fly on a trainer first. Also, I think tuning a simple traditional trainer model is easier than an advanced fighter. I built the SuperCub with ArduPilot in mind, so replacing the Fs8 with ArduPilot should be fairly smooth.
The maiden flight of the SuperCub and FS8 will be hopefully tomorrow, if the weather cooperates. Don't know what are the odds that I will crash on my first try, but I am prepared. Hope will still have a plane and electronics left in order to rebuild :)
ArduPilot: Deciced to order the Ubox instead of the LS20031 GPS, being shipped now. Both the main board and shield are built, and all other parts are in. Now studying the ArduPilot code (a flow chart would really be helpful), and already made the necessary changes in the headerfile. Caculated stall speed, turn speed and made the appropriate settings there. I am taking my time in working through all the testings (NE test, controls, sensor verifications, etc) . Also studying the significance of the PID loops' components and how they interact with eachother and on their respective controls in order to be able to tune the piper-like SuperCub.
OK, let's pray I will still have a plane to fly tomorrow after my first ever flight :)
Well after some wild goose chase of trying to use with ArduPilot with a PING))) look-alike sensor that only does sense movement and goes High/Low, I decided to make another "big" investment in parts. I think after this purchase I will be set for a while for my humble but ambitious project.
On the way... SCP1000 breakout board (anyone wants a discount SCP1000 sensor?), Sharp IR sensor (long range), Xbee Pro 900 wire and another RP SMA, 12dbi (2.4 GHZ, assume works with 900Mhz too) antenna from Ebay, Maxbotix EZ-4 sonar. This should keep me busy for a while.
Now I just wish ArduPilot code 2.2 would be out already so I can actually use my LS20031 GPS! While I am waiting, I will try to test these sensors, try to learn how to add them to the main program, etc...
This may be hard to answer, but thanks anyway. Would GPS heading data alone be accurate enough to help line up the plane with a runway, let's say 50 meters long and the plane is 50 meters out (using the start and end of the runway as waypoints to line up for landing and speed is about 5-10 m/s) ? Or you MUST have a compass?
OK, I may be a little behind everybody else, but slowly and surely made some progress with ArduPilot setup after receiving most of the components needed.
Thanks for the various codes posted along the way of setting up ArduPilot, using the Sparkfun FTDI 3.3V USB board I was able to test:
- my X Y Z sensors with the test code. Worked great, so far only used my hands inside the room.
- Set up my 5hz Locosys GPS so it can be parsed correctly, and did the parsing test. Again, thanks to Jordi’s code. Since my EM406 GPS JST connector cable has not arrived yet, I had to “hack” the ArduPilot board by tracing the onboard GPS connector’s pins. There is a TX and RX pin right next to a GND and Vout in the digital pin row that also connects to the GPS onboard connector. Thanks to Reto’s post on an Ebay 5DC to 3.3DC board (5ea for $10) I was able to drop to voltage down to 3.3V for the Locosys GPS.
If anyone is reading this: Is there any modification needed in the ArduPilot code if I want to use the Locosys GPS instead of the EM406 after I have already set up the Locosys GPS to parse? Is it plug-and-play once I got the GPS Tx/board RX matched up?
(Should I be concerned about this with the Locosys GPS?: “Note that ArduPilot puts the EM406 into binary mode, which disables the red LED on that module, so it will not blink.”)
Next, I will try to do the “NE test”. I need to get my unassembled airplane in some ready state where I can put inside all the semi-permanent circuit boards, sensors, wires for the walk test. If it passes this test too, I will load the latest ArduPilot 2.1 code, do the ground test, learn to fly, and then test the rest of the code in the air. The learning to fly part may take a little while
So far my main purpose of this setup is to help me stabilize flight while still being a rookie flyer, and the GPS (UAV mode) is not that much of a concern. I want to use the GPS and the waypoints feature to allow me to bring the plane back for a safe landing by helping me line the plane up with the runway.
I have a 1m wingspan SuperCub (4ch electric), so based on what I read here, I will need to tweak the code to match up my airplane’s characteristics.
It seems that this far along the learning curve, the biggest challenge may be making sure that my 6ch radio transmitter (soon to be modified 7ch) can turn manual, fly-by-wire, waypoint codes, etc, “on” and “off” remotely while in the air. It seems that there are some posts about how to do these….
JUST A BIG THANKS TO THOSE WRITING THE CODES: I could not have gone this far without your work!
Hi Tom - OK great to hear you have already discovered FMS; I think it's a great training aid.
Here's the J3Cub model file (Not the same as a SuperCub as you will see ).
Also attached is a doc file giving you the details of the Futaba conversion.
Firstly - the motor mounting is probably fine. The motor will be deliberately offset by around 2 degrees both downwards and to the right. This is done to compensate for motor torque and to improve flying characteristics. Best to leave it alone.
Secondly, why not learn to 'fly' on a simulator. Try FMS , it's excellent and it's free. Download it from here -
If you want the proper J3 Cub in Cub Yellow I can send you the zip file.
Finally you need a lead to link the Tx to your PC via the sound card. I think the 6ch Futaba has a Buddy socket already so just a bit of simple wiring is required - lots of details on the SmartPropoPlus site.
And away you go - lots to learn but a far cheaper option. It's what I did and I now happily fly my 1.3m wingspan J3 Cub using an old Futaba FP-T5N (to which I added two further channels to accommodate the FMA co-pilot, Ardupilot and camera.
Last week some items arrived. The 4 CH Supercub came in. It's RTF, but will need some work. The motor shaft is mounted about 5 degrees off the center line. One of the alerions portrudes about 1/8 inch over the wing's surface, need to relocate the hinges. Still not bad for $160 for a brushless set up.
Received my ArduPilot 328, FTDI 3.3V, LS20031, SCP1000. Since last time I messed with electronic components, I either got taller or the compontns smaller! Sparkfun did't send me any magnifier with the order! The SCP1000 seems like an impossible task to solder, it's much smaller than the picture at Sparkfun. Need to steady my hands with some whisky first.... I am too cheap for paying for a development board. Next need to find a tried out SCP1000 schematics and C code that I can add to the ArduPilot program and work it in the code to augment and stabilize the GPS altitude reading/control. A minor obstacle is that I know about 1% in C programming.
Received 800mw video link, which I tested and worked in the house for at least 50 feet with a battery, and later I promptly powered up with VAC and burnt it up :( Ordered a new transmitter. Will let you know actual urban and line-of-sight range later.
I was able to make some headway on ArduPilot. Soldered all the headers, and ready to download the code. Need to check if I can test its functions without a GPS for now. Missed ordering a micro JST 6-pin GPS connector (ordered today), I figured I wing it somehow. No way I can get around it!
I was able to creatively rearrange some of the crystals and receivers that came with the new planes and use my old Futaba Conquest FP-T6NFK transmitter with a broken 6ch switch (got a new one on Ebay today) and use it wiht a new 6ch generic WFLY receiver 1/5 of the size of my old late 80's FP-R127DF receiver.
Things to do:
- Continue ArduPillot assembly and testing
- Learn C code so I can adapt the SuperCub and later the F-22, and also to be able to add my own sensors (this is the hard part)
- Fix up the SuperCub for flying
- Learn to Fly (ambitious, huh?)
- Once happy with flying, autopilot set up, etc will add Xbee telemetry link set and start adding sensors with eventual goal of autolanding.
Replies
(copy photo of same type of model plane)
I ended up getting a Cessna 206T with the option to add flaps. Same size as the SuperCub but with much much more interior space for electronics. This will be my primary plattform for ArduPilot, while the SuperCub is being used to learn to fly and test the ArduPilot electronics, etc.
I have maidened the SuperCub this weekend and was also my very fist flight. I promptly crashed it soon after lifting it in the air. No worries, had it glued black together, and added a carbon fiber hollow tube inside the wing for support which is also used as the air speed sensor's path to the pitot tube in the wing tip.
I can't really call it a maiden flight, since the plane just lifted into the air, stalled out and crashed back down. That's all. Several problems I need to avoid next time. The biggest was: the wind. The wind was quite strong, and several gusts almost tipped over the plane while it was still on the ground. Not smart. Also, being a tail dragger, I had to hold the elevators up, so when I lifted the elevators too high with full power the plane rocketed into the air at a very steep angle and into the strong wind. No wonder it stalled. Also, I have the FS8 CoPilot installed which forced me to turn it off before this first flight, because it kept the elevators down during take-off as it compensated for being on a taildragger. I figured, one less variable to manage.
Anyways, all these are part of a learning curve... :)
Completed my SuperCub with FS8 Copilot and Z sensor. I decided to buildthis plane first, instead of the F-22 I already have in a box, so I can learn to fly on a trainer first. Also, I think tuning a simple traditional trainer model is easier than an advanced fighter. I built the SuperCub with ArduPilot in mind, so replacing the Fs8 with ArduPilot should be fairly smooth.
The maiden flight of the SuperCub and FS8 will be hopefully tomorrow, if the weather cooperates. Don't know what are the odds that I will crash on my first try, but I am prepared. Hope will still have a plane and electronics left in order to rebuild :)
ArduPilot: Deciced to order the Ubox instead of the LS20031 GPS, being shipped now. Both the main board and shield are built, and all other parts are in. Now studying the ArduPilot code (a flow chart would really be helpful), and already made the necessary changes in the headerfile. Caculated stall speed, turn speed and made the appropriate settings there. I am taking my time in working through all the testings (NE test, controls, sensor verifications, etc) . Also studying the significance of the PID loops' components and how they interact with eachother and on their respective controls in order to be able to tune the piper-like SuperCub.
OK, let's pray I will still have a plane to fly tomorrow after my first ever flight :)
On the way... SCP1000 breakout board (anyone wants a discount SCP1000 sensor?), Sharp IR sensor (long range), Xbee Pro 900 wire and another RP SMA, 12dbi (2.4 GHZ, assume works with 900Mhz too) antenna from Ebay, Maxbotix EZ-4 sonar. This should keep me busy for a while.
Now I just wish ArduPilot code 2.2 would be out already so I can actually use my LS20031 GPS! While I am waiting, I will try to test these sensors, try to learn how to add them to the main program, etc...
Thanks for the various codes posted along the way of setting up ArduPilot, using the Sparkfun FTDI 3.3V USB board I was able to test:
- my X Y Z sensors with the test code. Worked great, so far only used my hands inside the room.
- Set up my 5hz Locosys GPS so it can be parsed correctly, and did the parsing test. Again, thanks to Jordi’s code. Since my EM406 GPS JST connector cable has not arrived yet, I had to “hack” the ArduPilot board by tracing the onboard GPS connector’s pins. There is a TX and RX pin right next to a GND and Vout in the digital pin row that also connects to the GPS onboard connector. Thanks to Reto’s post on an Ebay 5DC to 3.3DC board (5ea for $10) I was able to drop to voltage down to 3.3V for the Locosys GPS.
If anyone is reading this: Is there any modification needed in the ArduPilot code if I want to use the Locosys GPS instead of the EM406 after I have already set up the Locosys GPS to parse? Is it plug-and-play once I got the GPS Tx/board RX matched up?
(Should I be concerned about this with the Locosys GPS?: “Note that ArduPilot puts the EM406 into binary mode, which disables the red LED on that module, so it will not blink.”)
Next, I will try to do the “NE test”. I need to get my unassembled airplane in some ready state where I can put inside all the semi-permanent circuit boards, sensors, wires for the walk test. If it passes this test too, I will load the latest ArduPilot 2.1 code, do the ground test, learn to fly, and then test the rest of the code in the air. The learning to fly part may take a little while
So far my main purpose of this setup is to help me stabilize flight while still being a rookie flyer, and the GPS (UAV mode) is not that much of a concern. I want to use the GPS and the waypoints feature to allow me to bring the plane back for a safe landing by helping me line the plane up with the runway.
I have a 1m wingspan SuperCub (4ch electric), so based on what I read here, I will need to tweak the code to match up my airplane’s characteristics.
It seems that this far along the learning curve, the biggest challenge may be making sure that my 6ch radio transmitter (soon to be modified 7ch) can turn manual, fly-by-wire, waypoint codes, etc, “on” and “off” remotely while in the air. It seems that there are some posts about how to do these….
JUST A BIG THANKS TO THOSE WRITING THE CODES: I could not have gone this far without your work!
http://forums.parallax.com/forums/default.aspx?f=25&p=2&m=3...
Here's the J3Cub model file (Not the same as a SuperCub as you will see ).
Also attached is a doc file giving you the details of the Futaba conversion.
Hope it works out.
J3 Cub.zip
Adding Channels to Futaba Tx.doc
Firstly - the motor mounting is probably fine. The motor will be deliberately offset by around 2 degrees both downwards and to the right. This is done to compensate for motor torque and to improve flying characteristics. Best to leave it alone.
Secondly, why not learn to 'fly' on a simulator. Try FMS , it's excellent and it's free. Download it from here -
http://n.ethz.ch/~mmoeller/fms/index_e.html
You want the Standard Version 2.0 Alpha 8.5 (I am assuming that you have a PC and not a Mac).
You will also need a utility called SmartPropoPlus - download it here -
http://www.smartpropoplus.com/BlueAndGrey/Download.htm
Then get an FMS model of the Piper Cub - there are many to be found on the web but try the Hobby Zone Super Cub version to be found at
http://gunnerson.homestead.com/files/fms_models.htm
If you want the proper J3 Cub in Cub Yellow I can send you the zip file.
Finally you need a lead to link the Tx to your PC via the sound card. I think the 6ch Futaba has a Buddy socket already so just a bit of simple wiring is required - lots of details on the SmartPropoPlus site.
And away you go - lots to learn but a far cheaper option. It's what I did and I now happily fly my 1.3m wingspan J3 Cub using an old Futaba FP-T5N (to which I added two further channels to accommodate the FMA co-pilot, Ardupilot and camera.
Best of luck.
Received my ArduPilot 328, FTDI 3.3V, LS20031, SCP1000. Since last time I messed with electronic components, I either got taller or the compontns smaller! Sparkfun did't send me any magnifier with the order! The SCP1000 seems like an impossible task to solder, it's much smaller than the picture at Sparkfun. Need to steady my hands with some whisky first.... I am too cheap for paying for a development board. Next need to find a tried out SCP1000 schematics and C code that I can add to the ArduPilot program and work it in the code to augment and stabilize the GPS altitude reading/control. A minor obstacle is that I know about 1% in C programming.
Received 800mw video link, which I tested and worked in the house for at least 50 feet with a battery, and later I promptly powered up with VAC and burnt it up :( Ordered a new transmitter. Will let you know actual urban and line-of-sight range later.
I was able to make some headway on ArduPilot. Soldered all the headers, and ready to download the code. Need to check if I can test its functions without a GPS for now. Missed ordering a micro JST 6-pin GPS connector (ordered today), I figured I wing it somehow. No way I can get around it!
I was able to creatively rearrange some of the crystals and receivers that came with the new planes and use my old Futaba Conquest FP-T6NFK transmitter with a broken 6ch switch (got a new one on Ebay today) and use it wiht a new 6ch generic WFLY receiver 1/5 of the size of my old late 80's FP-R127DF receiver.
Things to do:
- Continue ArduPillot assembly and testing
- Learn C code so I can adapt the SuperCub and later the F-22, and also to be able to add my own sensors (this is the hard part)
- Fix up the SuperCub for flying
- Learn to Fly (ambitious, huh?)
- Once happy with flying, autopilot set up, etc will add Xbee telemetry link set and start adding sensors with eventual goal of autolanding.