3. To create a small, lightweight, and easy-to-use UAV that
could act as a personal cameraman
Smartphone controlled
Send commands for activation, flight mode, and behavior
Receive and record streamed video from camera mounted on
the UAV
Autonomous Movement
Follow the GPS signal from the smartphone
Image processing for object/face tracking
What We Wanted to Create
4. Reporters and Film Makers
Cheaper than hiring a person
Easy maneuverability and recording when documenting in
remote areas
Military Applications
Can get a bird’s eye view of immediate area
Scout out dangerous areas quickly
Overly Protective Parents
Follow your child to/from the bus stop/school
Hobbyists
Target Consumers
5. General Description
Hardware
AeroQuad Typhoon Frame
AeroQuad 32 Baloo Board
Accelerometer
Barometer
Magnetometer
Hitec Transmitter and Receiver
Roving Networks WiFly
Analog Video Camera with
Transmitter and Receiver
MaxSonar EZ0 Ultra Sonic Range
Finder
iPhone
6. General Description
Software
iPhone App
Connect and Disconnect from WiFly Unit
Write various commands with keypad
input
Specific Controls
Enable Serial Commands
Motors
Altitude Hold
Auto-Liftoff
Auto-Land
PID Tuning
Altitude Hold
Attitude Mode
Yaw Configuration
7. Detailed Description
Hardware
AeroQuad 32 Board is the hub
Electronic Speed Controllers
(ESCs) receive commands to
control motors
Transmitter/Receiver is 4-
Channel
WiFly used for wireless serial
communication over ad-hoc
network
Range Finder provides analog
signal for altitude monitoring
8. Detailed Description
Flight Software
Flight Software
C code
#define NOMAD_ENABLE signal
enables all Nomad related functions
Processes higher priority tasks at a
greater frequency
Most changes made to:
FlightControlProcessor.h
FlightCommandProcessor.h
SerialCom.h
Difficult to work with
Almost everything globally defined
No class hierarchy/structure
No comments
9. Detailed Description
iPhone App
Developed in XCode
Objective C
Storyboards allowed easy
planning of UI
iPhone simulator allowed for
quick testing
Views – each visible area
controlled by a view controller
GCD Async Socket used for
asynchronous communication
with WiFly
10. Retrospective
What We Wanted
Quadcopter built and flying
stably
Wireless communication
between quadcopter and
iPhone
Video streaming to iPhone app
Autonomous flight with
tracking
What We Completed
Completely built frame with
ESCs, motors, and AeroQuad 32
Board
Wireless Communication for
several new commands and
efficient PID tuning
Analog video streaming to a
T.V./monitor
Auto-liftoff and Auto-landing
functionality
11. Roadblocks
No battery for 2+ weeks after completing construction of
frame
Battery connector not fitting power harness connector
Xcode required Mac OS and authenticated code signing
Altitude hold and stable flight
Barometer completely unreliable
PID tuning ineffective
Ordered wrong type of camera
Needed serial but got analog
Multiple crashes caused malfunctions
Retrospective
12. Retrospective
Likes / Dislikes
Likes
Fun to play with quadcopter
Constructing the frame with the ESCs
and motors
Crashing!
Dislikes
Frustrating source flight software
Very little documentation
Objective C
PID tuning
Crashing…
What we learned
Basic PID control systems
RC communication
Wireless serial communication
iPhone app development
Stopping propellers going full
speed hurts even with gloves
on
13. Retrospective
To Future ESDIIIers
Do lots of research
Get the right parts
Order parts early
Pick parts that have clear and
useful documentation
Plan ahead
Following Jira tasks help you to
know what to do
Take care to update the blog
Doing it again…
Choose a different quadcopter
kit
Do more specific research
Camera
GPS/tracking
Don’t use iPhone
14. iPhone app movement commands
Position hold using GPS
Autonomous tracking/following
Video streaming to iPhone
Various Flight Modes
Pan/Tilt and camera stabilization
iPhone audio/video recording
Collision detection and avoidance
Future Work