Project Info
Ever imagine controlling your Parrot drone from just the gestures of your hand? Parrot on Your Hand is a Remote Controller for the Anafi Parrot Drone using Your Apple Watch. A Stanford Treehacks 2024 🌳 Project! Video Demonstration YouTube Link Implementation I use Core Motion from Apple WatchOS to derive and record hand gestures -- rotate right (across pitch axis) to move right, rotate left (across pitch axis) to move left, move hand up (rotate up on roll axis) to move the drone up. Tap the land button to land the drone. I use Core Motion from Apple WatchOS to derive and record hand gestures -- rotate right (across pitch axis) to move right, rotate left (across pitch axis) to move left, move hand up (rotate up on roll axis) to move the drone up. Tap the land button to land the drone. I then route these commands to Firebase using the low-level networking libraries from Apple Watch (note this was particularly difficult as Apple Watch supposedly no longer supports Firebase Realtime Database (link to issue)). I pilot the Parrot drone via the Olympe SDK -- which connects to our Firebase Realtime Database and listens to actions from the Apple Watch. I then route these commands to Firebase using the low-level networking libraries from Apple Watch (note this was particularly difficult as Apple Watch supposedly no longer supports Firebase Realtime Database (link to issue)). I pilot the Parrot drone via the Olympe SDK -- which connects to our Firebase Realtime Database and listens to actions from the Apple Watch. Usage Install Olympe (link to original API reference) Install Firebase_admin (original) and set up a Firebase Realtime Database (tutorial) Get the correct service account JSON file and change here: python cred_path = '' databaseURL = '' Connect the drone to the correct IP: DRONE_IP = "10.202.0.1" Connect the drone to the correct IP: You will need to connect your antenna to the node hosting the Olympe controller, as this connects to the Parrot drone while maintaining an internet connection to the Firebase server. You will need to connect your antenna to the node hosting the Olympe controller, as this connects to the Parrot drone while maintaining an internet connection to the Firebase server. Then build and deploy the WatchOS application (note you cannot do this on a simulator as you need access to a gyroscope). Then build and deploy the WatchOS application (note you cannot do this on a simulator as you need access to a gyroscope). Then run python3 firebaseDrone.py Then run python3 firebaseDrone.py
Parrot on Your Hand 🦜👋⌚
Ever imagine controlling your Parrot drone from just the gestures of your hand?
Parrot on Your Hand is a Remote Controller for the Anafi Parrot Drone using Your Apple Watch.
A Stanford Treehacks 2024 🌳 Project!
Video Demonstration
Implementation
-
I use Core Motion from Apple WatchOS to derive and record hand gestures -- rotate right (across pitch axis) to move right, rotate left (across pitch axis) to move left, move hand up (rotate up on roll axis) to move the drone up. Tap the land button to land the drone.
-
I then route these commands to Firebase using the low-level networking libraries from Apple Watch (note this was particularly difficult as Apple Watch supposedly no longer supports Firebase Realtime Database (link to issue)). I pilot the Parrot drone via the Olympe SDK -- which connects to our Firebase Realtime Database and listens to actions from the Apple Watch.
Usage
-
Install Olympe (link to original API reference)
-
Install Firebase_admin (original) and set up a Firebase Realtime Database (tutorial)
-
Get the correct service account JSON file and change here:
cred_path = '' databaseURL = '' -
Connect the drone to the correct IP:
DRONE_IP = "10.202.0.1" -
You will need to connect your antenna to the node hosting the Olympe controller, as this connects to the Parrot drone while maintaining an internet connection to the Firebase server.
-
Then build and deploy the WatchOS application (note you cannot do this on a simulator as you need access to a gyroscope).
-
Then run
python3 firebaseDrone.py
Analysis
View
Metric
- 11
Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.
Technology
- PythonIn code
- SwiftIn code
- FirebaseClaimed
2 of 3 appear in the indexed code. 1 claimed on Devpost could not be matched to code, which may simply mean the tool leaves no trace in the repository.
AI coding agents
No AI coding agent signals were found in this repository.
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
13 KB
Source files
10
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
Aneeshers/ParrotOnYourHand
22 files · 69 KB · @ a78e280
Structure
Application logic
20 files · 91%Domain rules, services and shared utilities.
+3 more
Supporting
Layers are inferred from where files sit in the tree, not from reading the code. A project that names its directories unconventionally will read oddly here — open the file browser to check anything the diagram implies.
Languages
- Swift71%
- Markdown15%
- Python14%
Share of indexed source by file size. Binary and vendored files are excluded.
This project’s features have not been analysed yet.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.
