Project Introduction
Wednesday, January 26, 2011 at 7:27PM Basic Idea: In stages, create a Quadcopter capable of longrange self-stabilization and navigation as well as close-range fly-by-wire control via a standard 6 channel RC system.
Basic Method: Utilize an arduino mega microcontroller to poll sensors, control the motors, interface with RC radio, cell phone and provide self-stabilizing flight. I intend to use a DROID X cell phone to provide GPS data, secondary accelerometer data (for self-correction and increased accuracy) as well as to provide a 3G cellular link. The cell-phone will run a client program that will interface with a server on another computer (possibly on an android tablet) so that the copter can be given commands from anywhere with an internet connection. The cell-phone will also need to stream live (ish) video from it's camera, possibly using u-stream or a similar service.
Brief List of Foreseeable(lol) Problems:
- Strapping an expensive cell phone to a machine intended to fly on it's own is perhaps not a great idea.
- Copter must support two flight modes (fly-by-wire assisted mode and autonomous mode) and be able to switch between them reliably in mid-flight.
- This build will have a lot of moving parts (literally and figuratively) and all the parts must communicate efficiently and accurately. I may have to develop some custom communication protocols.
- I would like to be able to land autonomously, so I will need a very accurate ground sensor (probably ultrasonic) since GPS is no where near accurate enough in the height axis.
- Lag in the video and command stream could be significant so the copter will have to get commands as GPS waypoints rater then live motion commands when out of fly-by-wire range.
- Deciding which jobs to handel on the Arduino, Phone and server will be crucial, I will probably end up creating a dependency and tolerance graph to help decide this.
- Fail-safe modes, the arduino and phone will have to have failsafe modes to fall back into if communication between each other and the with the server fails or becomes too degraded. Perhaps landing or returning to the last way point or a pre-designated waypoint depending on the situation.
Intro 