ধারণা ও উন্নয়নমানববিহীন ক্রীড়া · #bezpiLOTa · KAIROS DRONE AGENTনথিপত্র
#bezpiLOTa→শুরু করুন→কীভাবে কাজ করে
শুরু করুন / architecture

Flight controller কঠোর real-time flight loop চালায়। Companion SBC ভিডিও, routing, API ও external communication সামলায়। Mission Control direct USB, LAN path বা remote relay বেছে নেয়, দায়িত্বগুলো মেশায় না।

ধারণা

End-to-end flow লক্ষ্য architecture হিসেবে বর্ণিত; KairOS measurements না হওয়া পর্যন্ত latency ও rates design targets।

KairOS repository ↗
03Connection modes
1 HzCompanion heartbeat
2 Hzলক্ষ্য cloud telemetry
MAVLINKমূল protocol
01
সামগ্রিক চিত্র

Onboard দুই computer — ভিন্ন দায়িত্ব

Flight controller motors, stabilization, GPS ও sensors নিয়ন্ত্রণ করে। Raspberry Pi, Radxa, Jetson বা অন্য Linux SBC companion computer KairOS Drone Agent চালায়, FC-কে প্রতিস্থাপন করে না: ভিডিও, telemetry relay, cloud connectivity, radio, REST API ও extensions যোগ করে।

Ground-এ Mission Control browser-এ চলে। WebSerial দিয়ে সরাসরি FC, LAN দিয়ে Drone Agent অথবা MQTT/Convex ও WebRTC signaling দিয়ে remote relay-তে যেতে পারে। WFB-ng ব্যবহারে Ground Agent যোগ হয় এবং radio reception-কে বোধগম্য local web ব্যবস্থায় রূপান্তর করে।

02
Data প্রবাহ

Telemetry, command ও ভিডিওর পূর্ণ চক্র

01

FC → Agent

MAVLink UART সাধারণত 115200–921600 baud-এ চলে; agent heartbeat অপেক্ষা করে firmware শনাক্ত করে।

02

Agent → local consumers

Router raw MAVLink IPC socket, WebSocket, cloud service ও health state-এ বিতরণ করে।

03

Agent → cloud

লক্ষ্য ব্যবস্থা প্রায় 2 Hz-এ telemetry এবং HTTP/MQTT paths দিয়ে status প্রকাশ করে।

04

Camera → browser

V4L2 capture H.264 encode, MediaMTX/RTSP এবং নির্বাচিত WHEP, WebRTC বা WFB-ng transport পার হয়।

05

GCS → FC

Arm, mode, mission ও অন্য commands একই নির্বাচিত path দিয়ে ফেরে; FC pre-arm rules প্রয়োগ করে।

06

ACK → UI

Command acknowledgement ও নতুন heartbeat/state ফিরলে UI status বদলায়।

03
সংযোগের তিন modes

সরাসরি USB, local network ও remote P2P

ModeTransportকখন ব্যবহার করবেনলক্ষ্য মান
সরাসরি USBWebSerial → FC, agent লাগে নাBench, configuration, calibration, firmwareDesign target <10 ms
সরাসরি LANREST :8080, MAVLink WS :8765, WHEP :8889Indoor, short range, development, field LANলক্ষ্য: ভিডিও 50–150 ms; telemetry <100 ms
দূরবর্তী P2P4G/Internet, MQTT SDP signaling, WebRTC, ConvexRemote observation ও দ্বিতীয় pathলক্ষ্য: ভিডিও 100–300 ms; telemetry 2–5 Hz

Auto transport প্রথমে প্রায় চার seconds LAN path খুঁজবে, তারপর প্রায় চৌদ্দ seconds window-তে P2P signaling চেষ্টা করবে। এগুলো design intervals: network-নির্ভর এবং KairOS SLA নয়।

05
ভিডিও pipeline

V4L2 capture থেকে native H.264 playback

01

ক্যাপচার

USB UVC বা MIPI CSI V4L2 দিয়ে খোলে; শুরুর আগে উপলব্ধ format ও resolution যাচাই হয়।

02

এনকোড

ffmpeg H.264 high profile, level 4.1, yuv420p ও low-latency flags ব্যবহার করে; থাকলে hardware encoder বেছে নেয়।

03

প্রকাশ করুন

Encoded stream MediaMTX/RTSP-তে প্রকাশ হয় এবং পরবর্তী transports-এর source হয়।

04

LAN

WHEP সরাসরি local browser-এ WebRTC দেয়।

05

দূরবর্তী

MQTT SDP signaling বহন করে; তারপর media P2P WebRTC বা প্রয়োজনে relay দিয়ে যায়।

06

রেডিও

wfb_tx WFB-ng-তে H.264 পাঠায়, Ground Agent গ্রহণ করে locally পুনরায় প্রকাশ করে।

nobuffer, low_delay ও ছোট probe size queue কমায়, কিন্তু প্রকৃত latency capture, encoder, bitrate, FEC, radio, network ও browser decode-এ নির্ধারিত হয়। KairOS নির্দিষ্ট profiles-এর measurements প্রকাশ করবে, একটি universal সংখ্যা নয়।

H.264 stream-এর video cockpit: heading, speed, altitude, GPS, battery, mini-map, recording indicator ও flight commands।
INTERFACE / দৃশ্যমান উদাহরণOperator interface-এ ভিডিও stream

Camera image-এর সঙ্গে HUD, mini-map, flight mode ও recording indicator। H.264 format screen-এ আলাদা উল্লেখিত।

06
Cloud relay

Real-time-এর MQTT, state ও command queue-এর Convex

লক্ষ্য KairOS Agent প্রায় 2 Hz-এ MQTT telemetry প্রকাশ করে। MQTT-to-Convex bridge প্রতি device প্রায় তিন seconds debounce-সহ state aggregate করে, browser reactive queries পায়। Commands Convex-এ লেখা হয়; agent polling pending item নিয়ে MAVLink-এ বদলে ACK ফেরত দেয়।

textRemote data paths
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-এর ভূমিকা

Field node radio reception-কে local interfaces-এ বদলায়

Clientপথ
ল্যাপটপWi‑Fi AP, Ethernet বা USB CDC-NCM tether
ফোন / tabletএকই local network-এ browser অথবা KairOS Android track
ফিল্ড monitorHDMI + Chromium kiosk
Mission Controlভিডিও/telemetry sources-সহ ground-station profile

Profile literal হলো ground-station। Drone Agent-এর সঙ্গে codebase একই, কিন্তু enabled services আলাদা: onboard encode-এর বদলে receive, FC-centric onboarding-এর বদলে AP/tether/kiosk।

08
Mission Control state

Stores vehicle, telemetry, mission ও transport পৃথক রাখে

State storeদায়িত্ব
drone-managerNodes, connection paths ও active vehicle
telemetry-storeLive state এবং 300 samples-এর ring buffer
mission-storeWaypoints, patterns, validation ও upload state
video-storeSources, transport, playback ও errors
settings-storeIndexedDB persistence ও migrations
ground-station-storeReceivers, relay path, sources ও field IO
ছয় agents-এর fleet overview: ভিডিও, telemetry ও resources-সহ cards; online, stale ও offline filters।
INTERFACE / দৃশ্যমান উদাহরণFleet overview-তে individual node states

প্রতি agent-এর নিজস্ব ভিডিও, telemetry ও resource metrics। Filters ও statuses বোঝায় কেন node availability ও data freshness আলাদা করতে হবে।

09
Arm করলে কী হয়

Arm একটি নিশ্চিত sequence, শুধু local switch নয়

01

Operator-এর ইচ্ছা

স্পষ্ট confirmation-এর পরে Mission Control protocol.arm() ডাকে।

02

Protocol

MAV_CMD_COMPONENT_ARM_DISARM, command #400 তৈরি হয়।

03

Transport

Frame WebSocket/LAN বা Convex/cloud path দিয়ে Agent-এ যায়।

04

Serial

Agent command FC-তে পাঠায়, pre-arm checks-এর arbiter সেজে থাকে না।

05

FC validation

Firmware sensors, GPS, battery, safety switch, EKF ও configured failsafes যাচাই করে।

06

State confirmation

HEARTBEAT base_mode bit 7 ও ACK IPC/MQTT দিয়ে ফেরে; confirmation-এর পরেই UI ARMED দেখায়।