Control drones with natural language using the latest AI models from 10 major providers: OpenAI GPT-5, Anthropic Claude 4, Google Gemini 2.5, Meta Llama 4, xAI Grok 4, ZhipuAI GLM-4.5, Tongyi Lab Qwen 3, DeepSeek, Moonshot Kimi K2, and local/network Ollama models.
π Language Versions | θ―θ¨ηζ¬
π€ AI Assistant | AI ε©ζ
# 1. Install dependencies
pip install -r requirements.txt
# 2. Start interactive setup
python main.py
# One-click web start
python start_web.py
# Visit: http://localhost:8000
The app will guide you through:
- AI Provider Selection: Choose from 10 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"
- π€ Comprehensive AI Support: 10 major providers with latest models (GPT-5, Claude 4, Gemini 2.5, 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
# Quick simulator (included)
python simulate_drone.py
# Advanced SITL (optional)
# Follow ArduPilot SITL installation guide
π 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
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 |
Gemini 2.5 Pro, Gemini 2.5 Flash, etc | Cloud | Google AI Studio integration | |
Meta | Llama 4 Maverick, Llama 3.3 Turbo, etc | Cloud | Latest Llama models via providers |
xAI | Grok 4, Grok 3, Grok 3 mini, etc | Cloud | Elon Musk's xAI models |
ZhipuAI | GLM-4.5, GLM-4.5-Air, etc | Cloud | Chinese AI models with JWT auth |
Tongyi Lab | Qwen 3 235B, Qwen 3 Coder, etc | Cloud | Alibaba's latest Qwen 3 models |
DeepSeek | DeepSeek Chat, DeepSeek Reasoner, etc | Cloud | Advanced reasoning models |
Moonshot | Kimi K2 Turbo, Kimi K2 Preview, etc | Cloud | Moonshot AI models |
Ollama | Qwen3:4B, GPT-OSS, Qwen3:30B, etc | Local/Network | Local & remote server support |
- Python 3.8+
- DroneKit-Python
- LiteLLM for cloud models
- Ollama for local/network models (optional)
- LiteLLM - Unified interface for cloud AI models (OpenAI, Anthropic, Google, xAI, etc.)
- Direct API Integration - Native support for ZhipuAI, Tongyi Lab Qwen, 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
DeepDrone includes a modern web interface for browser-based drone control with a sleek, responsive design.
- π₯οΈ 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
# Option 1: One-click start (recommended)
python start_web.py
# Option 2: Manual start
python web_api.py
# Then visit: http://localhost:8000
- 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
- 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
- Simulator:
udp:127.0.0.1:14550
- USB Connection:
/dev/ttyACM0
(Linux) orCOM3
(Windows) - TCP Connection:
tcp:192.168.1.100:5760
- UDP Connection:
udp:192.168.1.100:14550
- Navigate to Settings page in web interface
- Select AI provider from dropdown
- Choose model (Ollama models auto-detected)
- Enter API key (not needed for Ollama)
- Test connection and save
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)
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
# 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)
# Build frontend
cd frontend
npm run build
# Start production server
python start_web.py
We welcome contributions! Please feel free to submit issues and pull requests.
Enjoy your DeepDrone experience! πβ¨