概念与开发无人系统运动 · #bezpiLOTa · KAIROS DRONE AGENT文档
#bezpiLOTa→入门→Mission Control
快速入门 / Mission Control

目标流程从本地演示模式开始:在合成数据上学习 Dashboard、Plan、Configure、Flight Control 和 Simulate。只有组件发布并确认安全上下文、串口流程和安全条件后,才连接真实飞控。

规划中

#bezpiLOTa Mission Control 是生态中的相邻组件,不属于 KairOS Drone Agent;可执行仓库尚未公开。

KairOS 仓库 ↗
NODE 20+运行时要求
4000默认开发端口
07目标演示配置
NO FC演示要求
01
前置条件

开发环境与浏览器

  • Node.js 20 或更新版本。
  • npm 9 或更新版本。
  • 仓库公开后使用 Git 克隆和更新源代码。
  • 普通 UI 可使用 Chrome、Edge 或 Firefox;WebSerial/WebUSB 需要 Chromium 浏览器。
  • 后续连接真实飞控时,需要具备数据线芯的 USB 线。
bash检查工具链
node --version
npm --version
git --version
02
方案 A

不连接飞控的安全演示链路

演示模式用于在不连接真实飞行器的情况下安全了解界面。它使用模拟遥测,不将测试台架冒充为实际飞行链路。

03
方案 B

本地演示模式

bash目标本地演示流程
# Отдельный репозиторий #bezpiLOTa Mission Control ещё не опубликован
# После выпуска ожидаемый поток будет таким:
npm install
NEXT_PUBLIC_DEMO_MODE=true npm run dev
KairOS 目标接口:只有相应组件发布后,命令才可执行。

规划界面应在 http://localhost:4000 打开。设置 NEXT_PUBLIC_DEMO_MODE=true 时,无需外部数据库、SITL 或实体硬件。此处规定启动契约,并不宣称当前 KairOS Drone Agent 仓库已具备该命令。

04
探索界面

五个主要工作界面

01

仪表板

姿态、GPS/高度、电池、飞行模式、连接路径和系统警报。

02

规划

航点、七个生成器、高度/速度/相机触发、地理围栏、集结点、QGC WPL/KML/CSV。

03

配置

失控保护、PID、电源、OSD、端口、传感器、云台和固件专用面板。

04

飞行控制

解锁/锁定、25 种以上 ArduPilot 模式、50 Hz 游戏手柄/HOTAS、键盘和引导航点。

05

仿真

3D 任务路径、地形跟随、相机标记、时间和高度剖面。

#bezpilOta GCS 视频驾驶舱:相机画面、HUD、小地图、电池、GPS、任务进度和飞行指令。
界面 / 视觉示例视频驾驶舱与飞行指令

HUD、遥测、小地图和任务进度与控制指令相邻,帮助了解操作员工作界面。

05
连接真实飞控

通过 localhost 使用 WebSerial

bash启动开发服务器
npm run dev
KairOS 目标接口:只有相应组件发布后,命令才可执行。
01

打开 localhost

在 Chromium 浏览器中访问 http://localhost:4000。

02

连接飞控

使用 USB 数据线,点击 Connect,并在浏览器提示中选择串口。

03

打开串口

浏览器获取用户操作授权并打开端口。

04

心跳

Mission Control 等待飞控心跳并识别自动驾驶仪/飞行器。

05

能力

请求 AUTOPILOT_VERSION 和协议能力。

06

数据流与参数

请求遥测数据流并下载参数;握手设计参考时间为 2–5 秒。

06
浏览器安全

WebSerial 仅在安全上下文运行

WebSerial、WebUSB 和 Web Bluetooth 要求 HTTPS,或对 localhost 的特殊信任。因此 http://localhost:4000 可用,而从另一设备访问 http://<lan-ip>:4000 无法使用这些 API。另一设备上的硬件访问需要 HTTPS 或桌面/Electron 构建。

通过普通 WebSocket 和 REST 连接 Drone Agent 不使用 WebSerial 权限,但仍受浏览器混合内容规则影响:HTTPS 页面可能阻止明文 HTTP/WS 代理。完全本地的明文 HTTP 模式要求 GCS 和代理处于相容上下文。

07
LAN 自托管

本地服务器与代理位于同一网络

textLAN 地址
npm run dev

# GCS on this machine
http://localhost:4000

# GCS from another LAN client
http://<your-lan-ip>:4000

# Example KairOS Agent address
http://kairos.local:8080
http://192.168.1.50:8080
KairOS 目标接口:只有相应组件发布后,命令才可执行。
08
SITL

无需真实飞行器的物理与协议验证

bash目标 SITL 桥接 — 组件发布后可用
cd KairOS_Drone-Agent/tools/sitl
npm install
npm start

ArduPilot SITL 须单独安装;二进制文件通常位于 ~/.ardupilot/。桥接连接仿真遥测与浏览器传输。这比直接在飞行器上进行首次协议实验更安全,但仍须检查版本、参数和任务行为。

SOFTWARE SITL 仿真界面:路线地图、航点通过情况、遥测、视频和任务事件日志。
界面 / 视觉示例SOFTWARE SITL 中的任务

仿真界面展示地图、航点通过情况、遥测和航点转换事件。日志为检查任务行为提供上下文。

09
桌面应用

Electron 提供硬件 API 和独立软件包

bashKairOS 桌面脚本
npm run desktop:dev
npm run desktop:demo
npm run desktop:build:mac
npm run desktop:build
KairOS 目标接口:只有相应组件发布后,命令才可执行。

规划参考需求为约 200 MB 磁盘和 200–300 MB RAM。实际需求取决于平台/运行时版本,将与 Mission Control 构建一同公布。

10
环境

模式与外部基础设施变量

变量默认值用途
NEXT_PUBLIC_DEMO_MODEfalse七架模拟无人机替代真实数据源
PORT4000开发服务器端口
NEXT_PUBLIC_CONVEX_URLnone可选 Convex 后端
NEXT_PUBLIC_MQTT_URLnone可选 MQTT 代理

本地/直连模式无需云端变量。缺少 Convex 或 MQTT 不应阻止 USB 直连、本地代理发现或离线任务规划。

11
项目结构

独立 GCS 的目标结构

text目标仓库结构
KairOS_Drone-Agent/
├── agent/                onboard runtime
├── api/                  local control surface
├── protocols/            MAVLink and MSP adapters
├── media/                video transports
├── extensions/           sandbox runtime and SDK
├── tools/sitl/           simulator bridge
├── deploy/systemd/       Linux services
├── docs/                 project documentation
└── tests/                contracts and hardware profiles