Skip to content

LeaderOnePro/deepdrone

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🚁 DeepDrone - AI-Powered Drone Control System

DeepDrone Demo

Control drones with natural language using the latest AI models from 11 major providers: OpenAI GPT-5, Anthropic Claude 4, Google Gemini 2.5, Alibaba Qwen3 Max, xAI Grok 4, ZhipuAI GLM-4.5, DeepSeek, Moonshot Kimi K2, LongCat Flash, Meta Llama 4, and local/network Ollama models.


🌐 Language Versions | θ―­θ¨€η‰ˆζœ¬

English δΈ­ζ–‡

πŸ€– AI Assistant | AI εŠ©ζ‰‹

Ask DeepWiki zread

πŸš€ Quick Start

Terminal Interface

# 1. Install dependencies
pip install -r requirements.txt

# 2. Start interactive setup
python main.py

Web Interface

# One-click web start
python start_web.py
# Visit: http://localhost:8000

The app will guide you through:

  • AI Provider Selection: Choose from 11 providers with latest models
  • Model Selection: Pick from cutting-edge AI models (network Ollama supported)
  • Drone Connection: Connect to simulator or real drone
  • Natural Language Control: "Take off to 30 meters", "Fly in a square pattern"

✨ Features

  • πŸ€– Comprehensive AI Support: 11 major providers with latest models (GPT-5, Claude 4, Gemini 2.5, Moonshot Kimi K2, LongCat Flash, Llama 4, Grok 4, etc.)
  • 🌐 Dual Interface: Terminal CLI and modern web interface
  • 🌐 Network Flexibility: Local, LAN, and internet Ollama server support
  • 🚁 Real Drone Control: DroneKit integration for actual flight control
  • πŸ’¬ Natural Language: Control drones with conversational commands
  • πŸ› οΈ Built-in Simulator: Includes drone simulator for testing
  • πŸ”’ Safe Operations: Emergency stops and return-to-home functions
  • πŸ“± Mobile Ready: Responsive web interface with touch support

πŸ› οΈ Simulator Setup

# Quick simulator (included)
python simulate_drone.py

# Advanced SITL (optional)
# Follow ArduPilot SITL installation guide

πŸ“ Example Commands

🚁 DeepDrone> Connect to simulator and take off to 20 meters
🚁 DeepDrone> Fly to GPS coordinates 37.7749, -122.4194
🚁 DeepDrone> Execute a square flight pattern with 50m sides
🚁 DeepDrone> Return home and land safely

πŸ€– Supported AI Providers

Provider Models API Type Description
OpenAI GPT-5, GPT-5-mini, GPT-5-nano, etc Cloud Latest GPT-5 series models
Anthropic Claude 4 Opus, Claude 4 Sonnet, etc Cloud Advanced Claude 4 models
Google Gemini 2.5 Pro, Gemini 2.5 Flash, Gemini 2.5 Flash Lite Cloud Google AI Studio integration
Qwen Qwen3 Max, Qwen3 235B Instruct 2507, Qwen3 Coder Plus, Qwen3 Next 80B Cloud DashScope OpenAI-compatible endpoints
xAI Grok 4, Grok 4 Fast Reasoning, Grok 4 Fast Non-Reasoning, etc Cloud Elon Musk's xAI models
ZhipuAI GLM-4.5, GLM-4.5-Air, etc Cloud Chinese AI models with JWT auth
DeepSeek DeepSeek Chat, DeepSeek Reasoner, etc Cloud Advanced reasoning models
Moonshot (Kimi) Kimi K2 Turbo, Kimi K2 0905 Preview, etc Cloud Moonshot AI models
LongCat LongCat Flash Chat, LongCat Flash Thinking Cloud OpenAI-compatible LongCat Flash models
Meta Llama 4 Maverick, Llama 3.3 Turbo, etc Cloud Latest Llama models via providers
Ollama Qwen3:4B, GPT-OSS, Qwen3:30B, etc Local/Network Local & remote server support

πŸ”§ Requirements

  • Python 3.8+
  • DroneKit-Python
  • LiteLLM for cloud models
  • Ollama for local/network models (optional)

πŸ’» Tech Stack

  • LiteLLM - Unified interface for cloud AI models (OpenAI, Anthropic, Google, xAI, etc.)
  • Direct API Integration - Native support for ZhipuAI, Qwen (DashScope), DeepSeek, Moonshot Kimi
  • Ollama - Local/Network AI model execution with custom server support
  • DroneKit-Python - Real drone control and telemetry
  • Rich - Beautiful terminal interface and formatting
  • Typer - Command-line interface framework
  • Pydantic - Configuration management and validation

🌐 Web Interface

DeepDrone includes a modern web interface for browser-based drone control with a sleek, responsive design.

🎯 Web Features

  • πŸ–₯️ Modern UI: Responsive design with custom CSS design system (no Material-UI dependencies)
  • πŸ€– AI Integration: Real-time chat interface with natural language control
  • 🚁 Drone Control: Live status monitoring and quick command buttons
  • πŸ“Š Dashboard: System overview with real-time data visualization
  • πŸ“± Mobile Support: Touch-friendly interface with bottom navigation

πŸš€ Web Quick Start

# Option 1: One-click start (recommended)
python start_web.py

# Option 2: Manual start
python web_api.py
# Then visit: http://localhost:8000

πŸ› οΈ Web Tech Stack

  • Backend: FastAPI + Uvicorn with RESTful API
  • Frontend: React 18 with custom CSS design system
  • Real-time: WebSocket support for live updates
  • Responsive: Mobile-first design with touch support

🌐 Network Features

  • Ollama Network Support: Connect to Ollama servers on LAN or internet
  • Custom Server URLs: Configure remote Ollama instances
  • Auto Model Detection: Automatically detect available models on any server
  • Flexible Deployment: Run models locally or on powerful remote servers## πŸ”§ Web Interface Configuration

Connection Examples

  • Simulator: udp:127.0.0.1:14550
  • USB Connection: /dev/ttyACM0 (Linux) or COM3 (Windows)
  • TCP Connection: tcp:192.168.1.100:5760
  • UDP Connection: udp:192.168.1.100:14550

AI Model Setup

  1. Navigate to Settings page in web interface
  2. Select AI provider from dropdown
  3. Choose model (Ollama models auto-detected)
  4. Enter API key (not needed for Ollama)
  5. Test connection and save

πŸ› Troubleshooting

AI model connection fails:

  • Verify API key is correct
  • Check network connectivity
  • Review browser console for errors

Drone connection fails:

  • Confirm connection string format
  • Ensure simulator is running
  • Check serial port permissions (Linux/Mac)

General Issues

Ollama connection fails:

  • Verify Ollama server is running
  • Check base URL configuration
  • Ensure models are installed: ollama pull model_name

Simulator not responding:

  • Restart simulator: python simulate_drone.py
  • Check connection string matches simulator port
  • Verify no other processes using the port

πŸš€ Deployment

Development

# Terminal interface
python main.py

# Web interface with hot reload
cd frontend
npm start  # Frontend (port 3000)
# In another terminal:
uvicorn web_api:app --reload  # Backend (port 8000)

Production

# Build frontend
cd frontend
npm run build

# Start production server
python start_web.py

🀝 Contributing

We welcome contributions! Please feel free to submit issues and pull requests.


Enjoy your DeepDrone experience! 🚁✨

About

An AI agent to control drones

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •