ArduPilot + Smartphone autopilot design

ArduPilot is great piece of hardware, no doubt. However it comes to its limits, mainly with limited memory, just one serial port, limited connectivity to other peripherals.So I have idea in my mind about improved setup, which would still use ArduPilot as hardware interface board for servo signals (5 channels IN from RC receiver,4 channels OUT for controlling plane), and of Infrared stabilization reading.Then it would connect to bidirectional serial link over Bluetooth module, which would connect ArduPilot with a smart phone located on the plane.One well-tuned firmware would be uploaded to ArduPilot once, this would provide work with signals and communication over BT module. These are ArduPilot's strong points.The central brain would be a mobile phone (or PDA) stored in plane. The phone would get servo positions from RC receiver through ArduPilot and over BT serial link, and the phone would also send servo positions back to ArduPilot for controlling plane. The phone would compute stabilization and navigation.GPS signal may come from external Bluetooth GPS module mounted somewhere on plane, or from phone's built-in GPS module (if the phone can be placed in plane with good signal reception).These are main benefits:- easier waypoint configuration (sending to phone over Bluetooth or memory card)- possibility to have multiple waypoint paths stored on phone, selectable on airfield from phone's menu- tuning autopilot parameters (e.g. PID loops) in phone's menu - no need for connecting laptop- using phone's camera for taking photos of video- logging flight data to memory card- much more memory for program and data- using mobile Internet connection or SMS allows for:> uploading new waypoints in mid-flight> reading telemetry in large distance> sending photos or video during flightThe phone would run on Windows Mobile or Symbian OS.Considering power, many phones and GPS modules allow charging over mini-USB plug, so this equipment could be charged during flight from same 5V source as used for ArduPilot. Or just left to use their own batteries.I'm waiting for my first Bluetooth serial module to come, then I'll make testing with such possible connection.And also still waiting for better weather, for trying original ArduPilot in air...
E-mail me when people leave their comments –

You need to be a member of diydrones to add comments!

Join diydrones

Comments

  • Michal B : There is this gizmo too, a bit pricy but seems capable :
    http://www.toradex.com/En/Products/Limestone_PDA_Kit
    and the micro motherboards they make too sound interesting:
    http://www.toradex.com/En/Products/Robin_Z530_Z510
  • There are people using Openmoko as robotics brain on a boat. He is using the old H/W the new version has a devboard that breaks out lots of usefull stoff for you, though it's very expensive

    dboard-002_large.jpg?0


    I've heared in that project they are moving away from phones to Laptops because they need more CPU power.
  • automatik: many people probably already have capable phone, so the you don't need to count cost of a phone.
    Frankly I didn't mean iPhone, this doesn't allow to be programmed in C/C++.

    Another thing where mobile phone onboard would be useful is situation when the plane would get lost. It could send you SMS with last GPS coordinates, so that you can go and search it.

    Today I solved serial over Bluetooth task, it works very nice! So at least telemetry to smart phone will be possible :)
  • This certainly seems feasible especially with "smart phones" nowadays. iPhone and "Google phone" G1 come to mind as perhaps best candidates...and are perhaps more powerful then PDAs of last few years (people tried similar things with PDAs back then but they were "cluncky" and expensive in comparison). If I was to do this I would probably lean towards G1 (iPhone has SDK but it's somewhat limited) which runs on Android open platform software and is cheaper then iPhone.
    On the top of my head there are two things that I would spend more time thinking of:
    - I would prefer that everything on the plane has 'wired' connection, just less chances that something can go wrong... I am not sure how "legit" this argument is since bluetooth devices will be close to one another. Have to think more about it

    - For the price of "smart phone" you can get a really nice SBC that has more functionality and options.
    While SBC, imo, is a nice option, there are others in today's computing world. I recently got WiFi router (~$50 from ebay), installed Linux on it and now have very small yet powerful mobile computer powered from batteries(serial port, usb port, 4 ethernet connections, and wifi ofcourse). I interfaced it (HW and SW) with Audrino, put it on a RC car, added usb webcam, etc...Anyhow for ~$50 and a little work you get 7"x7"x1" computer...(might be a little big for rc uav though :) )

    As Chris mentioned there is "ease of use" with smart phone where you can "do stuff" in the field and just plop it into uav, which is appealing. Also smart phones might be better supported then some of the stuff I mentioned which is another plus...Sounds like a fun project
  • 3D Robotics
    On our Windows Mobile phone, we just used the sync cable, which had serial lines. Perhaps modern phones do, too. But the main advantage of BT would be that you could program and otherwise set up the flight with the phone in your hand, and just place it anywhere in the plane when it's time to fly.
  • Is there no way to connect the Ardu to the smartphone directly. I would hate to have yet another transmitter on the plane.
  • 3D Robotics
    Yes, that's very similar to what we did with one of our first autopilots, which used a Windows Mobile phone and a servo-driver board. It did all the stuff you mention above, and the code is open source. It's all here.

    In the end we got frustrated keeping up with the latest phone and OS models and abandoned the project. But perhaps it would make more sense now, with better phones and OSs.
  • I was looking at something similar Serial to WIFI
    http://www.connectone.com/products.asp?did=73&pid=80
    You can have bidirectional communication from your plane to your laptop or phone on the ground. The problem is distance, they are not as good as xbee but they have a lot more bandwidth. Latency will also be a factor if you want to do real-time computations.
This reply was deleted.