Spaces:
Sleeping
Sleeping
File size: 2,293 Bytes
8579cdc |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
"""Knowledge base loader for AI context."""
import os
from pathlib import Path
from typing import List
class KnowledgeBaseLoader:
"""Load AI knowledge from project files."""
def __init__(self):
self.knowledge_files = [
("ai_knowledge_base/ai_instructions.txt", "AI INSTRUCTIONS"),
("ai_knowledge_base/mavlink_commands.txt", "MAVLINK COMMANDS"),
("ai_knowledge_base/copter_flightmodes.txt", "COPTER FLIGHT MODES"),
("ai_knowledge_base/drone-ai-knowledge-base.md", "DRONE AI KNOWLEDGE BASE"),
("ai_knowledge_base/professional_drone_control.md", "PROFESSIONAL DRONE CONTROL")
]
def load_complete_knowledge_base(self) -> str:
"""Load complete AI knowledge base from project files."""
knowledge_parts = []
for file_path, section_name in self.knowledge_files:
try:
if os.path.exists(file_path):
with open(file_path, "r", encoding='utf-8') as f:
content = f.read().strip()
if content:
knowledge_parts.append(f"{section_name}:\n{content}")
except (FileNotFoundError, UnicodeDecodeError):
continue
# Add built-in mission planning expertise
knowledge_parts.append(self._get_built_in_expertise())
return "\n\n".join(knowledge_parts)
def _get_built_in_expertise(self) -> str:
"""Get built-in mission planning expertise."""
return """MISSION PLANNING EXPERTISE:
- Survey missions require grid patterns with 70% overlap for complete coverage
- Inspection missions need low altitude (40-80m) and slow speeds (8 m/s) for detail
- Patrol missions use perimeter patterns at medium altitude (60-100m)
- Photography missions require strategic positioning with hold time for image capture
- All missions must use proper coordinate frames: GLOBAL_RELATIVE_ALT(3) for navigation
- Landing sequence requires DO_LAND_START(203) command before RTL(20)
- Mission safety requires 30% battery reserve and obstacle clearance
- Coordinate accuracy is critical - use proper GPS conversion formulas
- QGroundControl compatibility requires specific mission item structure"""
|