GithubHelp home page GithubHelp logo

andro-copter's Introduction

AndroCopter - the flying smartphone
Romain Baud

What is Androcopter?
AndroCopter is a project that aims to build an autonomous quadcopter with an Android smartphone as the onboard flight computer. The Arduino ADK board links the phone and the quadcopter electronics.
Note that the project is still experimental, and that quadcopters can be very dangerous. Be careful!

Why?
Now, smartphones are very powerful, have a lot of sensors, and are easy to program.
For example, the Nexus 4 has a lot of hardware features, useful for a quadcopter:
-Accelerometer, gyrometer, magnetometer for orientation estimation.
-GPS and barometer for positioning.
-Wi-Fi and 3G for communicating with the ground computer.
-Two cameras.
-Quad-core CPU and GPU for fast control.
-Large storage space to record movies, take pictures, log flight data...

What is working now? What features will be implemented next?
For the moment, it is possible to manually fly the AndroCopter, using a gamepad. It is also possible to take pictures from the air.
These are some features that could be added later:
-waypoints navigation, using the GPS and the barometer.
-optic flow with the bottom camera, for indoor horizontal stabilization.
-first-person view flight, using the front camera and a mirror.

How is the project organized?
There are three softwares folders:
-Android: the app to install on the phone, written in Java. Open it as an eclipse project (http://developer.android.com/sdk/index.html).
-Arduino: the sketch to upload on the ADK. Use the Arduino IDE (http://arduino.cc/en/Main/Software).
-PC: this is the PC software, written in C++.
The Hardware folder contains some drawings and schematics to actually build an AndroCopter.

How to compile the PC software?
1. Install the Qt 5 (http://qt-project.org/downloads) and SFML 2 (http://www.sfml-dev.org/download.php) libraries at a known location.
2. Edit the end of the AndroCopter.pro file, to make two pathes match your actual SFML install directory.
3. Compile using Qt Creator, or just do "qmake && make" in a terminal (Qt command prompt on Windows).

What hardware is needed?
Smartphone: for the moment, AndroCopter has only be tested with a Nexus 4. Other smartphone may work, but a gyrometer and a barometer is necessary.
Arduino board: only the Arduino ADK 2011 is supported (http://developer.android.com/tools/adk/adk.html). Other boards are likely not compatible, due to the lack of USB host.
Quadcopter base: use the motors, ESCs and propellers you like. Only PPM-controlled ESCs (the most common) are supported.

andro-copter's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

andro-copter's Issues

Android Studio Issue 1.1.0

Hi Romain,
I am new of all of this stuff and your instructions are useful!

I am using Android Studio 1.1.0.

I have downloaded the files and when I do the following:
"AndroCopter for Android
Install Eclipse with ADT (http://developer.android.com/sdk/index.html).
Start Eclipse.
Go to File > Import > Existing Projects into Workspace. Then set the root 
directory (andro-copter/Android/
Import the Android project (in andro-copter/Android).
Wait for the compilation to end.
To send the app to the phone: Run As > Android Application"

Android Studio says:
"Migrate Project to Gradle?

This project does not use the Gradle build system. We recommend that you 
migrate to using the Gradle build system."


What version of the product are you using? On what operating system?

I am using 1.1.0 on windows 8.1 with a ps3 controller and an S4.

Please provide any additional information below.
Please email me or reply to this at [email protected]

I need to get this going before the end of the week, i am doing this for a 
college project. 

I am pretty sure that you are busy but hope to hear from you soon.


Original issue reported on code.google.com by [email protected] on 27 Apr 2015 at 7:12

Enter one-line summary

When using eclipse to make the android program it shows several errors in the 
project when I try to "run as".
 For (one) example, it has a problem with the "R" and "CameraSurface" in this line
 "camera = (CameraPreview)activity.findViewById(R.id.CameraSurface);"





Original issue reported on code.google.com by [email protected] on 14 Jul 2014 at 6:28

vertical stabilization

did you implemented the vertical stabilization as you mentioned you are trying to implement this

So how about the actual working EXE and APK files?

I can't get QT to actually produce an EXE file. It doesn't even bother to give 
an error, just says building and then nothing. I get empty release folders.

But here's a better question. Why must I waste countless hours and download 
GB's of crap on to my hard drive when the author obviously has already compiled 
the EXE and APK's files????   

Original issue reported on code.google.com by [email protected] on 8 Jan 2015 at 1:36

Version for Planes?

Could we develop a version for Planes instead of Quadcopters?
Is there something ready in this direction?


Original issue reported on code.google.com by [email protected] on 20 Apr 2015 at 7:50

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.