Flying Android

I've been researching to find the possibility of an drone with a smartphone on board.

My idea is:
1. Put an Android device on board, or any other type of smartphone devices, it can be an old used and abondaned smartphone
2. An auto-pilot system like ArduPilot
3. A powerful power source (normal batteries are okay and it's even better if you can utilize sonar power or fuel cells)

The benifits I can see are:
1. A more powerful computational device with more memory for programs and it's cheap (old used smartphone is even powerful enough)
2. You can utlize the rich sensor set of the smartphone (gps, accel, magneticmeter, some even has gyro)
3. With the use of 3G/LTE network, you can switch from radio to 3G/LTE network controlling your drone.
4. With the use of 3G/LTE network, you have almost limitless control range
5. You can get real-time videl/audio feedbacks from the smartphone's built-in camera and microphone and send them back to any device with a network connection, e.g. a laptop or another smartphone or ipad

People who had similar ideas:
http://diydrones.com/profiles/blogs/ardupilot-smartphone
http://diydrones.com/profiles/blog/show?id=705844:BlogPost:729

The challenges I face:
1. The average network latency of 3G network is around 60ms but about 5% loss of packets.
2. The drone should be able to switch to auto-pilot when lost signal (both radio and 3G/LTE), it should be able to continue to the target waypoint for some time and wait for signal to come back; if the signal didn't come back, it should return to base.
3. The flying time of the drone should be long engough to finish long-distance missions, so the drone should as power-efficient as possible; I think a glider is a good option

My plan is to use ArduPilot board as a base controller and find a way to connect it with my used Android cellphone(Samsung I5700), because ADK is not working on it, I think bluetooth is a good option.

I have checked out ArduPilot mega's source code, but since I'm new to Arduino programming(but I know Java and C++) I don't know how to change the code in order to:
1. Utilize the bluetooth or other serial port to talk to my smartphone;
2. Remove the dependency on ArduIMU shield
3. Replace the sensors drivers with the ones I can use through bluetooth and on my smartphone
4. Recieve commands from smartphone through bluetooth to control servos and motors

Anyone can help me here? Please leave a message here or send me an email, thanks a lot.
my email :ljbha007@gmail.com

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

Join diydrones

Email me when people reply –

Replies

  • I agree that the PhoneDrone board is ideal for this.

    You should check out ROSJava to do your robot control and ground station interaction. It can run on Android.

  • What version of android are you running? ADK requires 2.3.4

    You might consider getting a cheap phone off of ebay with a broken screen. Bluetooth is gonna drain your battery unnecessarily. DTMF over headphone jack or simply the ADK/IOIO are two alternatives.

    www.cellbots.com

    https://market.android.com/details?id=colorbot.emgrobotics.com

    My take:

    Make the investment in getting ADK working and buy a PhoneDrone. It cuts down on the BS 100x.

    Once you have a flexible hardware setup the development timeline for any individual feature goes way down.

    | Cellbots: Using Cellphones as Robotic Control Platforms
This reply was deleted.