التصور والتطويررياضة الأنظمة غير المأهولة · #bezpiLOTa · KAIROS DRONE AGENTالوثائق
بدء الاستخدام / البنية

تتولى وحدة التحكم بالطيران المنظومة الصارمة للطيران. يخدم الحاسوب المرافق الفيديو والتوجيه وAPI والاتصال الخارجي. يختار Mission Control اتصال USB المباشر أو مسار LAN أو المرحّل البعيد دون خلط مسؤولياتها.

تصور

وُصف التدفق الكامل بوصفه بنية مستهدفة؛ ويبقى زمن التأخر والترددات أهداف تصميم حتى قياسها في KairOS.

مستودع KairOS ↗
03أوضاع الاتصال
1 Hzheartbeat الحاسوب المرافق
2 Hzالقياس السحابي المستهدف
MAVLINKالبروتوكول الرئيسي
01
الصورة الشاملة

حاسوبان على متن المركبة — مسؤوليات مختلفة

تتحكم وحدة التحكم بالطيران في المحركات والتثبيت وGPS والمستشعرات. يشغّل الحاسوب المرافق، Raspberry Pi أو Radxa أو Jetson أو غيره من حواسيب Linux أحادية اللوحة، KairOS Drone Agent ولا يستبدل FC؛ بل يضيف الفيديو وترحيل القياس عن بُعد والاتصال السحابي واللاسلكي وREST API والتوسعات.

على الأرض، يعمل Mission Control في المتصفح. يمكنه مخاطبة FC مباشرة عبر WebSerial أو Drone Agent عبر LAN، أو مرحّل بعيد عبر MQTT/Convex وإشارات WebRTC. يُضاف Ground Agent في سيناريو WFB-ng ويحوّل الاستقبال اللاسلكي إلى منظومة ويب محلية واضحة.

02
تدفق البيانات

الدورة الكاملة للقياس عن بُعد والأوامر والفيديو

01

FC → الوكيل

يعمل MAVLink UART عادة ضمن نطاق 115200–921600 باود؛ وينتظر الوكيل heartbeat ويحدد البرنامج الثابت.

02

الوكيل → المستهلكون المحليون

يوزع الموجّه MAVLink الخام على مقبس IPC وWebSocket والخدمة السحابية وحالة الصحة.

03

الوكيل → السحابة

تنشر المنظومة المستهدفة القياس عن بُعد بنحو 2 Hz والحالة عبر مسارات HTTP/MQTT.

04

الكاميرا → المتصفح

يمر التقاط V4L2 بترميز H.264 وMediaMTX/RTSP ثم بوسيلة نقل WHEP أو WebRTC أو WFB-ng المختارة.

05

GCS → FC

تعود أوامر التسليح والوضع والمهمة وغيرها عبر المسار المختار نفسه؛ وتطبق FC قواعد ما قبل التسليح.

06

ACK → الواجهة

تعود إقرارات الأوامر وheartbeat والحالة الجديدة، ثم تغيّر الواجهة الحالة.

03
ثلاثة أوضاع اتصال

USB مباشر وشبكة محلية وP2P بعيد

الوضعوسيلة النقلمتى يُستخدمالقيمة المستهدفة
USB مباشرWebSerial → FC، دون حاجة إلى وكيلمنصة الاختبار والإعداد والمعايرة والبرامج الثابتةهدف التصميم <10 ms
LAN مباشرREST :8080, MAVLink WS :8765, WHEP :8889داخل المباني والمدى القصير والتطوير والشبكة المحلية الميدانيةالهدف: الفيديو 50–150 ms؛ والقياس عن بُعد <100 ms
P2P بعيد4G/الإنترنت، وإشارات SDP عبر MQTT، وWebRTC، وConvexالمراقبة عن بُعد والمسار الثانيالهدف: الفيديو 100–300 ms؛ والقياس عن بُعد 2–5 Hz

ينبغي للنقل التلقائي البحث أولًا عن مسار LAN لنحو أربع ثوانٍ، ثم الانتقال إلى إشارات P2P ضمن نافذة نحو أربع عشرة ثانية. هذه فترات تصميم تعتمد على الشبكة، ولا تمثل اتفاقية مستوى خدمة KairOS.

05
مسار الفيديو

من التقاط V4L2 إلى تشغيل H.264 الأصلي

01

الالتقاط

تُفتح USB UVC أو MIPI CSI عبر V4L2؛ ويُتحقق من التنسيق والدقة المتاحين قبل التشغيل.

02

الترميز

يستخدم ffmpeg ملف H.264 high profile والمستوى 4.1 وyuv420p وخيارات تقليل التأخر؛ ويُختار المشفّر العتادي عند توفره.

03

النشر

يُنشر التدفق المشفر في MediaMTX/RTSP ويصبح مصدرًا لوسائل النقل التالية.

04

LAN

يقدّم WHEP تدفق WebRTC مباشرة إلى المتصفح المحلي.

05

عن بُعد

ينقل MQTT إشارات SDP، ثم تنتقل الوسائط عبر WebRTC P2P أو عبر مرحّل عند الحاجة.

06

الاتصال اللاسلكي

يرسل wfb_tx تدفق H.264 عبر WFB-ng، ويستقبله Ground Agent ثم يعيد نشره محليًا.

تقلل معلمات nobuffer وlow_delay وحجم probe الصغير الطابور، لكن زمن التأخر الفعلي تحدده عملية الالتقاط والمشفّر ومعدل البت وFEC والراديو والشبكة وفك الترميز في المتصفح. سينشر KairOS قياسات لملفات محددة، لا رقمًا عالميًا واحدًا.

قمرة فيديو بتدفق H.264: الاتجاه والسرعة والارتفاع وGPS والبطارية وخريطة مصغرة ومؤشر التسجيل وأوامر الطيران.
الواجهة / مثال مرئيتدفق الفيديو في واجهة المشغّل

تُستكمل صورة الكاميرا بـHUD وخريطة مصغرة ووضع الطيران ومؤشر التسجيل. ويُذكر تنسيق H.264 بصورة منفصلة على الشاشة.

06
الترحيل السحابي

MQTT للبيانات الآنية، وConvex للحالة وطابور الأوامر

ينشر وكيل KairOS المستهدف القياس عن بُعد في MQTT بنحو 2 Hz. يجمع جسر MQTT-to-Convex الحالة مع تأخير تجميعي نحو ثلاث ثوانٍ لكل جهاز، ويتلقى المتصفح استعلامات تفاعلية. تُكتب الأوامر في Convex، ويجلب اقتراع الوكيل العنصر المعلق ويحوّله إلى MAVLink ثم يعيد ACK.

textمسارات البيانات البعيدة
Telemetry: FC → Agent → MQTT → bridge → Convex → Mission Control
Commands: Mission Control → Convex queue → Agent poll → MAVLink → FC
Video: Camera → Agent → MQTT SDP → P2P WebRTC → Browser
07
دور GROUND AGENT

تحول العقدة الميدانية الاستقبال اللاسلكي إلى واجهات محلية

العميلالمسار
حاسوب محمولWi‑Fi AP أو Ethernet أو مشاركة اتصال USB CDC-NCM
هاتف / جهاز لوحيمتصفح على الشبكة المحلية نفسها أو مسار KairOS لنظام Android
شاشة ميدانيةHDMI + كشك Chromium
Mission Controlملف المحطة الأرضية مع مصادر الفيديو والقياس عن بُعد

الاسم الحرفي للملف هو ground-station. يستخدم قاعدة الكود نفسها مع Drone Agent، لكن بمجموعة مختلفة من الخدمات المفعلة: الاستقبال بدلًا من الترميز على المركبة، ونقطة الاتصال والمشاركة والكشك بدلًا من تهيئة متمحورة حول FC.

08
حالة MISSION CONTROL

تفصل المخازن المركبة والقياس عن بُعد والمهمة والنقل

المخزنالمسؤولية
drone-managerالعقد ومسارات الاتصال والمركبة النشطة
telemetry-storeالحالة المباشرة ومخزن حلقي لـ300 عينة
mission-storeنقاط المسار والأنماط والتحقق وحالة التحميل
video-storeالمصادر ووسيلة النقل والتشغيل والأخطاء
settings-storeالحفظ الدائم في IndexedDB وعمليات الانتقال
ground-station-storeالمستقبلات ومسار الترحيل والمصادر ومدخلات ومخرجات الميدان
نظرة عامة على أسطول من ستة وكلاء: بطاقات بالفيديو والقياس عن بُعد والموارد، ومرشحات متصل وبيانات قديمة وغير متصل.
الواجهة / مثال مرئيحالات العقد الفردية في نظرة الأسطول

لكل وكيل فيديو وقياس عن بُعد ومقاييس موارد خاصة. توضح المرشحات والحالات سبب ضرورة التمييز بين توفر العقدة وحداثة بياناتها.

09
ماذا يحدث عند التسليح

التسليح سلسلة مؤكدة، لا تبديل محلي

01

نية المشغّل

يستدعي Mission Control الدالة protocol.arm() بعد تأكيد صريح.

02

البروتوكول

يُنشأ MAV_CMD_COMPONENT_ARM_DISARM، الأمر رقم #400.

03

النقل

ينتقل الإطار عبر WebSocket/LAN أو مسار Convex/السحابة إلى الوكيل.

04

المنفذ التسلسلي

يمرر الوكيل الأمر إلى FC ولا يحل محلها في تحكيم فحوص ما قبل التسليح.

05

تحقق FC

يتحقق البرنامج الثابت من المستشعرات وGPS والبطارية ومفتاح السلامة وEKF وإجراءات الإخفاق المضبوطة.

06

تأكيد الحالة

تعود البتة 7 من HEARTBEAT base_mode وACK عبر IPC/MQTT؛ ولا تعرض الواجهة ARMED إلا بعد التأكيد.