Another Quad copter with a twist

Hi, new guy etc etc. 8)

Trying to make a quad with a twist, it will use a laptop (Intel Atom) motherboard running WinXP. The reason for using XP and a std PC interface is that it is easily and cheaply put together (GPS modules via BT, webcam via USB, Internet via USB Dongle, USB Arduino, etc)

I hope I have caught some attention. The goal is to make a drone/robot which is not limited by wireless or Radio controlled transmitters. This project theoretically can fly/hover anywhere where I can receive a 3G signal! The catch is that 3G is not stable, so it will need to have all the backup functionality of auto hover and auto landing if no signal is recovered from the internet.

So my 1st question to all you smart Arduino-ers, has anyone made a real-time code/interface to connect a joystick to a PC, that PC connects to the Arduino via its USB cable, so that it all runs in real time.
The second question is, I need that data sent to the laptop via the internet. So I will need to write/find an application which can run the joystick on my PC at home, which will (via the internet) send the commands to the Arduino connected to the Quad's laptop.

Cutting a corner, I would be happy enough to use a mouse via PC-Anywhere to send data to the Arduino if that made it much easier. I plan on connecting to the laptop via skype and/or remote-user in order to have GPS and video running locally on the Quad's laptop...

Thanks for reading my madness. XD (PS, 80% of the components are already in my possession)

You'll have to start selecting the language you'll use to develop the software that will run in the "master" PC. Sure you can do this with any low level programming language (like C/C++), Java, and maybe with something like Processing too (I'm not sure if it will work in real time, but most probably will). It depends on your software development skills, and the tools you have access to.

Software is not my strong point, note the plea for help on this forum... From what I can imagine, I only need to get the Joystick controls to work via a '3rd party' software, whilst the rest can run locally on the machine using 'off the shelf' applications. I'm not looking for a fancy software on the 'master' to run like a dashboard style interface or anything like that, simply to get the signals from my joystick to the Quad's laptop via remote-PC or some kind of uplink.

As far as tools go, I have Arduino :* and lots of help files :wink:

Need some help please with getting basic 5ch joystick (left, right, up, down, throttle) commands sent via the internet, anyone up for the challenge?

Need some help please with getting basic 5ch joystick (left, right, up, down, throttle) commands sent via the internet, anyone up for the challenge?

Sounds like a UDP setup might be best for the internet transport. You will need to find/develop applications to both send and receive this type of communication on your bot and pc. You may want to do a google search for drones and drone forums to see what others have done.

I wish you luck on your project, but I think you may run into a problem, unless you carefully research things before-hand. That problem? Flight time.

Basically, while motors for building a quad-copter are fairly powerful, I am hesitant to say whether you can pack enough battery power to run the motors and the laptop motherboard (while carrying all the other weight) - and still lift everything; it's the classic chicken-egg robotics issue - more weight means more battery power (amp-hours) needed, which translates into more weight.

Now - I haven't done the research and calculations - so my fears may be completely unfounded. If so, then great for you!

But I would suggest you take a inventory of everything you want to put on this machine (dimensions and weight), plus the weight of the batteries, motors, airframe, etc; then plan on how you intend to lay out the components to equalize weight distribution. Once you have that list, then you'll need to find out how much current a motor pulls for the amount of weight being lifted, and find out if four of those motors will work (or if you need larger motors), and whether their total thrust is greater (much greater hopefully) than the total weight of the craft.

What you might find is that such a machine as you are looking to build is possible - but that the costs for the motors, batteries, and lightweight airframe will be a larger percentage of the total cost than what you can afford (or, for all I know, you are independently wealthy). Or, you might find you have to go with engines of some sort for propulsion (which will have their own set of problems and expenses - I don't know if anyone has built an engine-powered quad-copter, actually - I have read that throttling speed/response-time is an issue).

You might want to go with a smaller board (unless the mobo you are talking about is smaller than I think - I have an EEE PC, with a motherboard that is probably similar - the entire machine isn't that large, and i doubt the motherboard is very large - but I think it is larger than a BeagleBoard, for instance), or with a different architecture entirely (hmm - maybe a LeafLabs Maple would be a good solution?).

Good luck with your project!

:slight_smile:

Thanks for your input guys.

UDP - will look into that, cheers, as far as drone sites go, few people have done what I am trying to do, probably due to the issues which Cr0sh has mentioned, thus I have to be lucky on the search for internet joysticks, or I am in a new area of robotics and will need to get into some help files on how to program :slight_smile:

Cr0sh, the MB is light, maybe 200-300g. The drive will be a flash, so no heavy mini HD. The other components are also pretty light. I was looking at a setup where there are 4x 3s Lipo 2200mA cells, so one per motor. This will make an estimated all up weight of about 2 to 3kg.
Using this motor,- http://www.hobbyking.com/hobbyking/store/uh_viewItem.asp?idProduct=15199

The technique to lifting heavy weights is to use the biggest prop possible. If you can, also use a step down gearbox to reduce rpm, then you are reaching almost 4 mini rotor blades. You will be amazed what the cheap 2ch helis can lift, and they use motors which only draw about 5A! Sure flight time will be limited, but like you said, glow engines may be an add-on. You can use an OS40 or OS60 engine to run a main fan in the middle, and have the electric quad copter as you know it, that way the main weight is supported by the glow engine and the elec motors do the rest, I can see many mins with that kind of setup. Not a show stopper for me, I NEED TO LEARN HOW TO PROGRAM 1ST! :~ that is my weakness :cold_sweat:

I am the other way around, but I always seem to do things backwards. I have about 20% of the equipment, but I have the code working between a Linux PC (ground controller) and the Arduino Mega2560 with an ethernet shield using a network connection through a wireless router. That is also going along with the airborne PC for the flight.

FYI, it was more difficult writing the PC code than I imagined at first. The PC program has a main thread that handles keyboard input, and two additional threads, one handling the joystick and the other handling the ethernet connection. Otherwise the program locks up and the drone would be lying on the ground in a mangled mess.

Here is a project you should look at. It is a fixed-wing version of what you want:
http://www.geek.com/articles/geek-pick/wasp-the-linux-powered-flying-spy-drone-that-cracks-wi-fi-gsm-netwokrs-20110729/

Aeroquad is an Arduino based quad copter and they have whats called ArduPilot (which is just the stabilizing software) and other software which lets you plot i think over 100 pionts on a map and the gps on the copter will fly that exact route and then return home so yes something like that is possible.. however you wish to control it real time thats a bit trickier i suppose gsm could do the trick, then i goes back to what the use said about weight vs flight time you might want to check out how the Aeroquad people do it

eddiea6987 - thats true, they do come close to what I am after, however I believe that they use wireless as in 2.4G or Bluetooth to make the connection. This has short range limitations, if you are lucky, 100-200m. However their software is designed to let it work like a true drone and fly itself (no connection anymore) to these points on the map. Then from what I understand, it comes back (if you are lucky :slight_smile: )

SurferTim - sounds like you're my new best friend $) although I have not messed around with Linux, there is always a 1st time for everything! Again, I think that your code is a little different to what I am after, as you too are limited by the range of wireless (from what I understand) you will be sending wireless protocol, whilst my application will be using 3G protocol. This means you too are limited to the range of a wireless access point, which is maybe not too bad when used with a directional antenna. Maybe 500m, maybe more, depends on your budget for the RF equip and antenna... Mine will use the equipment of my local provider to give me more or less unlimited range, although it will need a tad bit of 'auto pilot' in order to cope with a break in uplink.

I would be interested if your code could perhaps be a starting point for me, and whether you're willing to swap knowledge? Still trying to start at the end point, which is get code to move my servos from a std WinXP PC, then will work my way backwards to the master code...