Skip to content

Commanding and controlling drone (copter) using Alexa without any intervention of third-party Ground Control Station softwares and RC controller

Notifications You must be signed in to change notification settings

prithvi2k2/Alexa-VoiceUI-Controlled-Drone

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Alexa voiceUI controlled Drone

The main goal of this project is to promote and encourage autonomous aviation or unmanned flights, specifically drones, which have many potential use cases like surveillance, parcel delivery, military, search and rescue, aerial photography and mapping, agriculture, and many more. In this project, where the drone's movement is guided using Alexa voice service, the integration of various software services/applications(AWS Lambda, WebSocket API Gateway, and more) is crucial. The below diagram depicts a brief overview of the project

Design overview
  • An IoT-based project where Alexa is used as a VUI(Voice User Interface) to control the drone hands-free
  • Developed an Alexa Skill which interacts with end-users on Alexa-enabled devices or Alexa app
  • End-to-end communication was achieved via WebSockets and Radio Telemetry
  • WebSocket API is built on AWS Lambda and deployed on AWS API Gateway
  • Developed an application that runs on a Ground Control Station(GCS) device
  • GCS app communicates between drone(using radio telemetry) and Alexa(using WebSockets)
  • Radio telemetry was made possible using open-source dronekit-python package built upon low-level MAVLink messaging protocol
  • Dronekit-python passes commands to the Drone’s onboard Flight Control Unit(FCU) with installed ArduPilot firmware
  • AWS DynamoDB logs input voice commands and stores active WebSocket connection-IDs

Requirements🔧

Hardware requirements

Software requirements

  • Amazon Web Services AWS { Lambda, API Gateway, DynamoDB }
  • DroneKit Python API
  • Alexa Skills Kit SDK for Alexa Skill programming

Features✨

  • Voice commands
    • Takeoff
    • Change altitude
    • Fly in a specified direction for a specified distance(in meters)
    • Return to launch position
    • Know status of drone(mode, distance from home location etc..)
  • Geofence
    • A cylindrical geofence is drawn centered at the launch location
    • Commands which require the drone to fly beyond geofence radius/altitude will be discarded/rejected and not executed
    • Geofence radius and altitude are customizable
    • Radius and altitude are both measured in meters
Potential future additions -> Aerial photography using a camera on the drone
-> Autonomous missions, surveys, circle and rectangle missions etc
-> Live footage streaming using the camera on drone
-> LTE-powered drone to eliminate limited-range issues

Setup⚙

  1. Alexa Skill
  2. AWS API Gateway WebSocket server
  3. Ground Control Station application

Demo🚀

demo coming soon!

👇

Issues? Open an issue here
Questions? Discuss here

About

Commanding and controlling drone (copter) using Alexa without any intervention of third-party Ground Control Station softwares and RC controller

Topics

Resources

Stars

Watchers

Forks