air wolf: leveraging actionscript to control a quadcopter
DESCRIPTION
AIR Wolf: Leveraging ActionScript to Control a Quadcopter EPISODE 2 “A Tale of Reverse and Forward Engineering” Presented by Scott Janousek at 360|Flex in April of 2011.TRANSCRIPT
![Page 1: AIR Wolf: Leveraging ActionScript to Control a Quadcopter](https://reader030.vdocuments.us/reader030/viewer/2022012905/54c8a95b4a795999668b45a9/html5/thumbnails/1.jpg)
Scott Janousek - 2011
AIR WOLFLeveraging ActionScript to Control a Quadcopter
EPISODE 2“A Tale of Reverse and Forward Engineering”
![Page 2: AIR Wolf: Leveraging ActionScript to Control a Quadcopter](https://reader030.vdocuments.us/reader030/viewer/2022012905/54c8a95b4a795999668b45a9/html5/thumbnails/2.jpg)
Scott Janousek - 2011
DISCOVERY
EXPLORATION
TINKERING
EXPERIMENTATION
![Page 3: AIR Wolf: Leveraging ActionScript to Control a Quadcopter](https://reader030.vdocuments.us/reader030/viewer/2022012905/54c8a95b4a795999668b45a9/html5/thumbnails/3.jpg)
Scott Janousek - 2011
Agenda
INTRO
DEMO(s)
PROJECT AIR WOLF
OUTRO
![Page 6: AIR Wolf: Leveraging ActionScript to Control a Quadcopter](https://reader030.vdocuments.us/reader030/viewer/2022012905/54c8a95b4a795999668b45a9/html5/thumbnails/6.jpg)
Scott Janousek - 2011
Scott janousek
Founder, Hooken Mobile
Long Time (Flash) Mobile Advocate
Working on all kinds of devices & platforms
“Gadget Geek”
AR.Drone enthusiast
![Page 7: AIR Wolf: Leveraging ActionScript to Control a Quadcopter](https://reader030.vdocuments.us/reader030/viewer/2022012905/54c8a95b4a795999668b45a9/html5/thumbnails/7.jpg)
Scott Janousek - 2011
contact
www.scottjanousek.com
@scottjanousek
www.hookenmobile.com
@hookenmobile
![Page 8: AIR Wolf: Leveraging ActionScript to Control a Quadcopter](https://reader030.vdocuments.us/reader030/viewer/2022012905/54c8a95b4a795999668b45a9/html5/thumbnails/8.jpg)
Scott Janousek - 2011
AIR WOLFProjectgenesis
![Page 9: AIR Wolf: Leveraging ActionScript to Control a Quadcopter](https://reader030.vdocuments.us/reader030/viewer/2022012905/54c8a95b4a795999668b45a9/html5/thumbnails/9.jpg)
Scott Janousek - 2011
Growing up,I was a big fan of ...
![Page 10: AIR Wolf: Leveraging ActionScript to Control a Quadcopter](https://reader030.vdocuments.us/reader030/viewer/2022012905/54c8a95b4a795999668b45a9/html5/thumbnails/10.jpg)
Scott Janousek - 2011
![Page 11: AIR Wolf: Leveraging ActionScript to Control a Quadcopter](https://reader030.vdocuments.us/reader030/viewer/2022012905/54c8a95b4a795999668b45a9/html5/thumbnails/11.jpg)
Scott Janousek - 2011
For those not familiar ....
![Page 12: AIR Wolf: Leveraging ActionScript to Control a Quadcopter](https://reader030.vdocuments.us/reader030/viewer/2022012905/54c8a95b4a795999668b45a9/html5/thumbnails/12.jpg)
Scott Janousek - 2011Season 4 intro
![Page 13: AIR Wolf: Leveraging ActionScript to Control a Quadcopter](https://reader030.vdocuments.us/reader030/viewer/2022012905/54c8a95b4a795999668b45a9/html5/thumbnails/13.jpg)
Scott Janousek - 2011
Always wanted to y ...
![Page 14: AIR Wolf: Leveraging ActionScript to Control a Quadcopter](https://reader030.vdocuments.us/reader030/viewer/2022012905/54c8a95b4a795999668b45a9/html5/thumbnails/14.jpg)
Scott Janousek - 2011
![Page 17: AIR Wolf: Leveraging ActionScript to Control a Quadcopter](https://reader030.vdocuments.us/reader030/viewer/2022012905/54c8a95b4a795999668b45a9/html5/thumbnails/17.jpg)
Scott Janousek - 2011
$$$ ... not to mentionThe whole “eyesight thing”
![Page 19: AIR Wolf: Leveraging ActionScript to Control a Quadcopter](https://reader030.vdocuments.us/reader030/viewer/2022012905/54c8a95b4a795999668b45a9/html5/thumbnails/19.jpg)
Scott Janousek - 2011
Cool, but I never got into RC.
![Page 21: AIR Wolf: Leveraging ActionScript to Control a Quadcopter](https://reader030.vdocuments.us/reader030/viewer/2022012905/54c8a95b4a795999668b45a9/html5/thumbnails/21.jpg)
Scott Janousek - 2011Too cheap and “plastic-y”
![Page 22: AIR Wolf: Leveraging ActionScript to Control a Quadcopter](https://reader030.vdocuments.us/reader030/viewer/2022012905/54c8a95b4a795999668b45a9/html5/thumbnails/22.jpg)
Scott Janousek - 2011
How about makingsomething custom?
![Page 23: AIR Wolf: Leveraging ActionScript to Control a Quadcopter](https://reader030.vdocuments.us/reader030/viewer/2022012905/54c8a95b4a795999668b45a9/html5/thumbnails/23.jpg)
Scott Janousek - 2011
DIY DRONES
http://www.diydrones.com
![Page 24: AIR Wolf: Leveraging ActionScript to Control a Quadcopter](https://reader030.vdocuments.us/reader030/viewer/2022012905/54c8a95b4a795999668b45a9/html5/thumbnails/24.jpg)
Scott Janousek - 2011http://blog.makezine.com/archive/2010/05/arduimu_quadcopter_drone.html
DIY
![Page 25: AIR Wolf: Leveraging ActionScript to Control a Quadcopter](https://reader030.vdocuments.us/reader030/viewer/2022012905/54c8a95b4a795999668b45a9/html5/thumbnails/25.jpg)
Scott Janousek - 2011
“Hey Scott, did you hear about ...”
![Page 27: AIR Wolf: Leveraging ActionScript to Control a Quadcopter](https://reader030.vdocuments.us/reader030/viewer/2022012905/54c8a95b4a795999668b45a9/html5/thumbnails/27.jpg)
Scott Janousek - 2011
AR.DRONE
![Page 28: AIR Wolf: Leveraging ActionScript to Control a Quadcopter](https://reader030.vdocuments.us/reader030/viewer/2022012905/54c8a95b4a795999668b45a9/html5/thumbnails/28.jpg)
Scott Janousek - 2011
Electric Powered “QUAD COPTER”
(or quadro-copter)
![Page 31: AIR Wolf: Leveraging ActionScript to Control a Quadcopter](https://reader030.vdocuments.us/reader030/viewer/2022012905/54c8a95b4a795999668b45a9/html5/thumbnails/31.jpg)
Scott Janousek - 2011
“ok, ok, the commercialis kind of silly ... but, let’s
have a go at it ...”
![Page 33: AIR Wolf: Leveraging ActionScript to Control a Quadcopter](https://reader030.vdocuments.us/reader030/viewer/2022012905/54c8a95b4a795999668b45a9/html5/thumbnails/33.jpg)
Scott Janousek - 2011
AR.DRONEfreeflight
(native ios app)
![Page 38: AIR Wolf: Leveraging ActionScript to Control a Quadcopter](https://reader030.vdocuments.us/reader030/viewer/2022012905/54c8a95b4a795999668b45a9/html5/thumbnails/38.jpg)
Scott Janousek - 2011
There are more seriousDrones out there besides
AR.Drone ...
![Page 39: AIR Wolf: Leveraging ActionScript to Control a Quadcopter](https://reader030.vdocuments.us/reader030/viewer/2022012905/54c8a95b4a795999668b45a9/html5/thumbnails/39.jpg)
Scott Janousek - 2011
OTHERCOOL DRONEhardware
![Page 40: AIR Wolf: Leveraging ActionScript to Control a Quadcopter](https://reader030.vdocuments.us/reader030/viewer/2022012905/54c8a95b4a795999668b45a9/html5/thumbnails/40.jpg)
Scott Janousek - 2011
hummingbirde.g. http://www.avinc.com/
![Page 41: AIR Wolf: Leveraging ActionScript to Control a Quadcopter](https://reader030.vdocuments.us/reader030/viewer/2022012905/54c8a95b4a795999668b45a9/html5/thumbnails/41.jpg)
Scott Janousek - 2011Humming Bird Drone - Goverment R&D
![Page 43: AIR Wolf: Leveraging ActionScript to Control a Quadcopter](https://reader030.vdocuments.us/reader030/viewer/2022012905/54c8a95b4a795999668b45a9/html5/thumbnails/43.jpg)
Scott Janousek - 2011
RECENT uav USAGE
CNN: “Flying Drone peers into Japan’s damaged reactors”
![Page 44: AIR Wolf: Leveraging ActionScript to Control a Quadcopter](https://reader030.vdocuments.us/reader030/viewer/2022012905/54c8a95b4a795999668b45a9/html5/thumbnails/44.jpg)
Scott Janousek - 2011
echoquadrocopter
R&D
![Page 47: AIR Wolf: Leveraging ActionScript to Control a Quadcopter](https://reader030.vdocuments.us/reader030/viewer/2022012905/54c8a95b4a795999668b45a9/html5/thumbnails/47.jpg)
Scott Janousek - 2011
AIR WOLF project
discussion
![Page 49: AIR Wolf: Leveraging ActionScript to Control a Quadcopter](https://reader030.vdocuments.us/reader030/viewer/2022012905/54c8a95b4a795999668b45a9/html5/thumbnails/49.jpg)
Scott Janousek - 2011 BTW: It costs about $300 USD
![Page 54: AIR Wolf: Leveraging ActionScript to Control a Quadcopter](https://reader030.vdocuments.us/reader030/viewer/2022012905/54c8a95b4a795999668b45a9/html5/thumbnails/54.jpg)
Scott Janousek - 2011
underside
Acoustic Sensors
IndicatorLight
Belly Camera
Unpair
Reset
![Page 55: AIR Wolf: Leveraging ActionScript to Control a Quadcopter](https://reader030.vdocuments.us/reader030/viewer/2022012905/54c8a95b4a795999668b45a9/html5/thumbnails/55.jpg)
Scott Janousek - 2011
Cameras
Belly Cam Front Camera
![Page 59: AIR Wolf: Leveraging ActionScript to Control a Quadcopter](https://reader030.vdocuments.us/reader030/viewer/2022012905/54c8a95b4a795999668b45a9/html5/thumbnails/59.jpg)
Scott Janousek - 2011
nativeremotecontrol
apps
![Page 61: AIR Wolf: Leveraging ActionScript to Control a Quadcopter](https://reader030.vdocuments.us/reader030/viewer/2022012905/54c8a95b4a795999668b45a9/html5/thumbnails/61.jpg)
Scott Janousek - 2011
Native mobile Apps
iOS
Android
![Page 64: AIR Wolf: Leveraging ActionScript to Control a Quadcopter](https://reader030.vdocuments.us/reader030/viewer/2022012905/54c8a95b4a795999668b45a9/html5/thumbnails/64.jpg)
Scott Janousek - 2011
desktop - LINUX & windows
![Page 65: AIR Wolf: Leveraging ActionScript to Control a Quadcopter](https://reader030.vdocuments.us/reader030/viewer/2022012905/54c8a95b4a795999668b45a9/html5/thumbnails/65.jpg)
Scott Janousek - 2011
“Yes, I know native is better in this case, but ...
I wonder if I could
connect to AR.Drone viaACTIONSCRIPT ...”
![Page 66: AIR Wolf: Leveraging ActionScript to Control a Quadcopter](https://reader030.vdocuments.us/reader030/viewer/2022012905/54c8a95b4a795999668b45a9/html5/thumbnails/66.jpg)
Scott Janousek - 2011
SOFTWARE
ar drone sdk vs. urbi
![Page 69: AIR Wolf: Leveraging ActionScript to Control a Quadcopter](https://reader030.vdocuments.us/reader030/viewer/2022012905/54c8a95b4a795999668b45a9/html5/thumbnails/69.jpg)
Scott Janousek - 2011
ardrone SDk
Windows, Linux, Android, iOS support
![Page 70: AIR Wolf: Leveraging ActionScript to Control a Quadcopter](https://reader030.vdocuments.us/reader030/viewer/2022012905/54c8a95b4a795999668b45a9/html5/thumbnails/70.jpg)
Scott Janousek - 2011
discovery
![Page 73: AIR Wolf: Leveraging ActionScript to Control a Quadcopter](https://reader030.vdocuments.us/reader030/viewer/2022012905/54c8a95b4a795999668b45a9/html5/thumbnails/73.jpg)
Scott Janousek - 2011
Areas
NavData
(Video) Stream
Cmds
![Page 75: AIR Wolf: Leveraging ActionScript to Control a Quadcopter](https://reader030.vdocuments.us/reader030/viewer/2022012905/54c8a95b4a795999668b45a9/html5/thumbnails/75.jpg)
Scott Janousek - 2011
Cross Platform App
Desktop
Windows, Mac, Linux
Mobile
AIR for Android
![Page 76: AIR Wolf: Leveraging ActionScript to Control a Quadcopter](https://reader030.vdocuments.us/reader030/viewer/2022012905/54c8a95b4a795999668b45a9/html5/thumbnails/76.jpg)
Scott Janousek - 2011
Reverse Engineering
1. Download AR Drone SDK
2. Browse Wiki & Forums
3. Look at C Source Code provided
4. Figure out the open Protocol
![Page 80: AIR Wolf: Leveraging ActionScript to Control a Quadcopter](https://reader030.vdocuments.us/reader030/viewer/2022012905/54c8a95b4a795999668b45a9/html5/thumbnails/80.jpg)
Scott Janousek - 2011
setup
Wi-!
Ad-hoc Wi-!
10.0.0.x physical network
10.0.0.x port 8080
10.0.0.1 port 808010.0.0.x port 8080
192.168.1.1 port 5556
192.168.1.2 port 5556
“bandaid” reset button
MacBook Pro
AR Drone
DROIDX (Android)
Airport Extreme
![Page 88: AIR Wolf: Leveraging ActionScript to Control a Quadcopter](https://reader030.vdocuments.us/reader030/viewer/2022012905/54c8a95b4a795999668b45a9/html5/thumbnails/88.jpg)
Scott Janousek - 2011
basiccommands
altitude max2m AT*CONFIG=1,\"control:altitude_max\",\"2000\"Landing AT*REF=101,290718208Takeoff AT*REF=102,290717696Hovering AT*PCMD=201,1,0,0,0,0gaz 0.1 AT*PCMD=301,1,0,0,1036831949,0gaz -0.1 AT*PCMD=302,1,0,0,-1110651699,0pitch 0.1 AT*PCMD=303,1,1036831949,0,0,0pitch -0.1 AT*PCMD=304,1,-1110651699,0,0,0 yaw 0.1 AT*PCMD=305,1,0,0,0,1036831949yaw -0.1 AT*PCMD=306,1,0,0,0,-1110651699roll 0.1 AT*PCMD=307,1,0,1036831949,0,0roll -0.1 AT*PCMD=308,1,0,-1110651699,0,0pitch -30 deg AT*ANIM=401,0,1000pitch 30 deg AT*ANIM=402,1,1000
![Page 89: AIR Wolf: Leveraging ActionScript to Control a Quadcopter](https://reader030.vdocuments.us/reader030/viewer/2022012905/54c8a95b4a795999668b45a9/html5/thumbnails/89.jpg)
Scott Janousek - 2011
AT syntax
AT*REF=<sequence>,<UI>AT*PCMD=<sequence>,<enable>,<pitch>,<roll>,<gaz>,<yaw> ("oat)0.05 = (int)1028443341 ("oat)-0.05 = (int)-1119040307 ("oat)0.1 = (int)1036831949 ("oat)-0.1 = (int)-1110651699 ("oat)0.2 = (int)1045220557 ("oat)-0.2 = (int)-1102263091 ("oat)0.5 = (int)1056964608 ("oat)-0.5 = (int)-1090519040AT*ANIM=<sequence>,<animation>,<duration>AT*CONFIG=<sequence>,\"<name>\",\"<value>\"
![Page 90: AIR Wolf: Leveraging ActionScript to Control a Quadcopter](https://reader030.vdocuments.us/reader030/viewer/2022012905/54c8a95b4a795999668b45a9/html5/thumbnails/90.jpg)
Scott Janousek - 2011
at bitsUI_BIT:00010001010101000000000000000000 | | | | | || | ||||+--0: Button turn to left | | | | | || | |||+---1: Button altitude down (ah - ab) | | | | | || | ||+----2: Button turn to right | | | | | || | |+-----3: Button altitude up (ah - ab) | | | | | || | +------4: Button - z-axis (r1 - l1) | | | | | || +--------6: Button + z-axis (r1 - l1) | | | | | |+----------8: Button emergency reset all | | | | | +-----------9: Button Takeoff / Landing | | | | +-------------------18: y-axis trim +1 (Trim increase at +/- 1??/s) | | | +---------------------20: x-axis trim +1 (Trim increase at +/- 1??/s) | | +-----------------------22: z-axis trim +1 (Trim increase at +/- 1??/s) | +-------------------------24: x-axis +1 +-----------------------------28: y-axis +1
![Page 99: AIR Wolf: Leveraging ActionScript to Control a Quadcopter](https://reader030.vdocuments.us/reader030/viewer/2022012905/54c8a95b4a795999668b45a9/html5/thumbnails/99.jpg)
Scott Janousek - 2011
adobe max 2010
Video courtesy of @polygeek (Dan Florio)
![Page 100: AIR Wolf: Leveraging ActionScript to Control a Quadcopter](https://reader030.vdocuments.us/reader030/viewer/2022012905/54c8a95b4a795999668b45a9/html5/thumbnails/100.jpg)
Scott Janousek - 2011
post-mortem
![Page 101: AIR Wolf: Leveraging ActionScript to Control a Quadcopter](https://reader030.vdocuments.us/reader030/viewer/2022012905/54c8a95b4a795999668b45a9/html5/thumbnails/101.jpg)
Scott Janousek - 2011
Challenges
Battery Life
Lack of protocol documentation
Indoor testing limits R&D
Network cong was time confusing
No Binary Sockets in AIR for Android !!!!
Network Latency
Buggy Firmware (pre 1.5)
tech challenges
![Page 103: AIR Wolf: Leveraging ActionScript to Control a Quadcopter](https://reader030.vdocuments.us/reader030/viewer/2022012905/54c8a95b4a795999668b45a9/html5/thumbnails/103.jpg)
Scott Janousek - 2011
URBIUniversal Robot Body Interface
![Page 106: AIR Wolf: Leveraging ActionScript to Control a Quadcopter](https://reader030.vdocuments.us/reader030/viewer/2022012905/54c8a95b4a795999668b45a9/html5/thumbnails/106.jpg)
Scott Janousek - 2011
Urbi is an open source driver for multiple robotic systems.
A driver has been developed that allows Urbi to interface with the AR Drone.
So now you can control your drone with a laptop, joystick, keyboard, wii remote, etc.
Urbi even allows you to write scripts to have the bot perform actions.
![Page 108: AIR Wolf: Leveraging ActionScript to Control a Quadcopter](https://reader030.vdocuments.us/reader030/viewer/2022012905/54c8a95b4a795999668b45a9/html5/thumbnails/108.jpg)
Scott Janousek - 2011
urbi client connection
![Page 109: AIR Wolf: Leveraging ActionScript to Control a Quadcopter](https://reader030.vdocuments.us/reader030/viewer/2022012905/54c8a95b4a795999668b45a9/html5/thumbnails/109.jpg)
Scott Janousek - 2011
urbi launch script example
![Page 112: AIR Wolf: Leveraging ActionScript to Control a Quadcopter](https://reader030.vdocuments.us/reader030/viewer/2022012905/54c8a95b4a795999668b45a9/html5/thumbnails/112.jpg)
Scott Janousek - 2011
ar.drone urbicommands
![Page 115: AIR Wolf: Leveraging ActionScript to Control a Quadcopter](https://reader030.vdocuments.us/reader030/viewer/2022012905/54c8a95b4a795999668b45a9/html5/thumbnails/115.jpg)
Scott Janousek - 2011
motion tracking
control test
![Page 117: AIR Wolf: Leveraging ActionScript to Control a Quadcopter](https://reader030.vdocuments.us/reader030/viewer/2022012905/54c8a95b4a795999668b45a9/html5/thumbnails/117.jpg)
Scott Janousek - 2011
braincomputerinterface
(b.c.i)
![Page 121: AIR Wolf: Leveraging ActionScript to Control a Quadcopter](https://reader030.vdocuments.us/reader030/viewer/2022012905/54c8a95b4a795999668b45a9/html5/thumbnails/121.jpg)
Scott Janousek - 2011
AS3 API for Neurosky Mindset BCI
actionscript api
![Page 122: AIR Wolf: Leveraging ActionScript to Control a Quadcopter](https://reader030.vdocuments.us/reader030/viewer/2022012905/54c8a95b4a795999668b45a9/html5/thumbnails/122.jpg)
Scott Janousek - 2011
gostai studio& gostai lab
![Page 123: AIR Wolf: Leveraging ActionScript to Control a Quadcopter](https://reader030.vdocuments.us/reader030/viewer/2022012905/54c8a95b4a795999668b45a9/html5/thumbnails/123.jpg)
Scott Janousek - 2011
Gostai Studio and Labs are IDEs that allow developers to interface with robotics, etc.
It can be used with URBI.
ULA files are markup files similar to MXML.
Drag and Drop components are available.
![Page 127: AIR Wolf: Leveraging ActionScript to Control a Quadcopter](https://reader030.vdocuments.us/reader030/viewer/2022012905/54c8a95b4a795999668b45a9/html5/thumbnails/127.jpg)
Scott Janousek - 2011
take aways
AR Drone is an fun toy
AIR, Flex = Prototyping made easy
URBI & Gostai = great for hobby robotics
Experiment, tinker, & have fun
Air Wolf Movie? ... I hope so ... :)
![Page 128: AIR Wolf: Leveraging ActionScript to Control a Quadcopter](https://reader030.vdocuments.us/reader030/viewer/2022012905/54c8a95b4a795999668b45a9/html5/thumbnails/128.jpg)
Scott Janousek - 2011
links
ardrone.parrot.com
@ardrone, facebook.com/Parrot.Official
youtube.com/user/ARdrone
diydrones.com
www.ardrone-"yers.com
www.x-plane.com www.$sherinnovation.com/?p=$-auav
![Page 130: AIR Wolf: Leveraging ActionScript to Control a Quadcopter](https://reader030.vdocuments.us/reader030/viewer/2022012905/54c8a95b4a795999668b45a9/html5/thumbnails/130.jpg)
Scott Janousek - 2011
@scottjanousek
http://www.scottjanousek.com