Это протокол будущей валидации: подключение FC, pre-flight checklist, проверка input и failsafe, короткий ручной полёт, посадка и разбор telemetry. На текущем этапе KairOS допускает только SITL и стенд без пропеллеров.
KairOS не прошёл лётную валидацию и не предназначен для управления реальным аппаратом на текущем этапе.
Репозиторий KairOS ↗На этой странице +
Что вы сделаете и чего эта инструкция не гарантирует
Цель — зафиксировать полный операторский цикл: connection, pre-flight, input verification, arm, takeoff, короткий manual flight, landing и post-flight review. До собственной аппаратной и лётной валидации последовательность выполняется только в SITL или на стенде без пропеллеров.
Аппарат, калибровки и оборудование
- Механически исправный и ранее проверенный airframe; крепёж, arms, landing gear и payload зафиксированы.
- Flight controller с ArduPilot, PX4, Betaflight или iNav; точная firmware/version проверена.
- Accelerometer, compass, gyro и RC/gamepad mapping откалиброваны; orientation FC соответствует установке.
- Пропеллеры правильного типа и направления установлены только после bench‑проверок без props.
- Полностью заряженный flight battery и отдельное стабильное питание companion electronics.
- USB direct либо Wi‑Fi/4G/field link через Drone Agent; Mission Control открыт и понятен оператору.
- Gamepad или keyboard; Xbox‑style controller выбран целевым профилем для Web Gamepad API.
- Открытая разрешённая площадка без людей, животных, транспорта, проводов, аэропортов и ограниченных зон.
Подключите FC и дождитесь подтверждённого handshake
Direct USB
Подключите data cable, откройте http://localhost:4000, нажмите Connect, выберите serial port и дождитесь heartbeat/capabilities/parameters.
Field network
Включите аппарат; Agent должен стартовать сам. Подключите laptop к той же LAN, USB tether или Ground Agent AP и выберите найденный node либо введите IP/mDNS.
- Top bar показывает firmware family, vehicle type и version.
- Connection status становится зелёным только после живой telemetry, а не после одного socket open.
- Целевой handshake занимает 2–5 секунд; timeout диагностируется, а не маскируется повторным Arm.
- Перед дальнейшими действиями убедитесь, что selected node — именно текущий аппарат.
Пройдите pre-flight без единой красной ошибки
| Проверка | Что ожидается |
|---|---|
| GPS | 3D Fix или лучше; 8+ satellites как целевой минимум для field validation; HDOP <2; RTK state, если используется |
| Battery | Соответствует полному напряжению pack — например, около 25.2 V для 6S; >80%; current около 0 A на земле |
| Attitude | Artificial horizon level, roll/pitch реагируют в правильную сторону |
| Input | RC/gamepad channels двигаются правильно; throttle minimum; trims centered |
| Mode | Stabilize или Altitude Hold для первого полёта; не Auto, Guided или Loiter как стартовый неизвестный режим |
| PreArm | Все failures устранены; не обходить checks только ради взлёта |
Для планирования RC и compass calibration закладывается 2–3 минуты, но важен не таймер, а корректный результат. Если horizon наклонён, compass показывает variance, GPS не фиксирует position или battery telemetry сомнительна, тест откладывается.
Проверьте управление до Arm
| Input | Действие |
|---|---|
| Left stick vertical | Throttle |
| Left stick horizontal | Yaw |
| Right stick vertical | Pitch |
| Right stick horizontal | Roll |
| Keyboard W / S | Pitch |
| Keyboard A / D | Roll |
| Arrow Up / Down | Throttle |
| Arrow Left / Right | Yaw |
Gamepad должен определиться в Flight Control tab; иногда его нужно «разбудить» кнопкой. Целевой контур KairOS отправляет MANUAL_CONTROL MAVLink с частотой 50 Hz. Проверьте PILOT_THR_BHV, RC override policy, dead zones и направление каждого axis. Bluetooth может добавить latency; USB предпочтительнее для первого теста.
Arm только с безопасной дистанции и явным подтверждением
Clear area
Все люди находятся за безопасной границей; аппарат направлен предсказуемо; оператор видит его полностью.
Confirm mode + throttle
Stabilize/AltHold выбран осознанно, throttle minimum, sticks neutral.
Arm
Нажмите Arm и подтвердите действие. UI ждёт ACK/heartbeat и показывает ARMED.
Observe motors
Idle spin зависит от MOT_SPIN_ARM. Любой неправильный motor direction, vibration или неожиданный throttle — немедленный disarm.
| Типичный отказ | Что исправить |
|---|---|
| Need 3D Fix | Дождаться GPS в открытом месте или выбрать разрешённый non-GPS test только при полном понимании режима |
| Battery failsafe | Проверить charge, voltage/current sensor, cell count и threshold |
| Compass variance | Удалить interference, откалибровать, проверить orientation |
| Gyros inconsistent | Оставить аппарат неподвижным и дать sensors прогреться около 30 секунд |
Поднимитесь на 2–3 метра и остановитесь
В будущей полевой валидации throttle увеличивается медленно; hover point часто находится в диапазоне 40–60%, но зависит от аппарата. В Altitude Hold/Loiter centered throttle удерживает altitude, выше центра задаёт climb, ниже — descent. Режим выбирается по firmware‑спецификации и результатам предварительных тестов.
Lift cleanly
Не тяните аппарат вдоль земли; плавно пройдите ground effect и поднимитесь.
Hold 2–3 m
Остановите climb, проверьте drift, oscillation, vibration и response.
Abort early
При любом непредсказуемом behavior мягко приземлитесь; не продолжайте ради прохождения инструкции.
Короткие команды, постоянный мониторинг
- Pitch — движение вперёд/назад; Roll — влево/вправо; Yaw — разворот; Throttle — vertical control согласно mode.
- Следите за altitude, ground speed, battery voltage и sag, distance from home, flight mode и link state.
- Выполняйте один небольшой input за раз и возвращайтесь к hover, чтобы проверить response.
- Loiter может служить режимом удержания position/altitude, но только при исправных GPS/EKF и заранее проверенном mode switch.
- Не переключайтесь в Auto/Guided и не тестируйте geofence/failsafe впервые на малой площадке.
Понимайте, что удерживает каждый режим
| Mode | Целевое поведение | Требования |
|---|---|---|
| Stabilize | Полное manual control с auto-level attitude | Знакомый operator input |
| Altitude Hold | Удерживает altitude около centered throttle | Barometer и корректная throttle behavior |
| Loiter | Удерживает position и altitude | GPS/EKF health |
| PosHold | Firmware‑зависимый режим удержания с accelerometer-oriented управлением | Не считать универсально безопасным без firmware-specific проверки |
Приземлитесь предсказуемым выбранным способом
| Способ | Полный flow |
|---|---|
| Manual descent | Снижаться примерно 0.5–1 m/s; после касания throttle minimum около 2 s; auto-disarm зависит от настроенного DISARM_DELAY |
| Land mode | FC выполняет controlled descent и disarm после touchdown; оператор остаётся готов переключить mode |
| RTL | Climb к configured altitude, return home и land; требует проверенных GPS, home, altitude и path |
После остановки propellers UI должен показать DISARMED. Если auto-disarm не произошёл, используйте Disarm только после физического touchdown и уверенности, что аппарат не попытается восстановить thrust.
Разберите telemetry и логи до следующего полёта
- Откройте map track и сравните фактическую траекторию с командами оператора.
- Проверьте altitude, mode changes, GPS, EKF, vibration, current draw, link events и failsafe messages.
- ArduPilot хранит onboard .bin logs; скачайте их через log browser или USB и сохраните вместе с configuration snapshot.
- Для ArduPilot используйте firmware.ardupilot.org и firmware‑specific analysis; KairOS не заменяет документацию производителя FC.
- Battery ниже примерно 3.5 V/cell под нагрузкой может указывать на aging или избыточный sag; сравнивайте с характеристиками pack.
- Если возник failsafe или warning, следующий полёт сокращается или отменяется до объяснения причины.
Диагностика симптома, а не маскировка
| Симптом | Проверки |
|---|---|
| Drift в одну сторону | Compass interference/calibration, FC orientation, level calibration, trim |
| Oscillation или vibration | Props/motors/frame, vibration logs, PID; Autotune только в безопасном отдельном сценарии |
| Gamepad lag | Chrome/Edge, USB вместо Bluetooth, frame rate, browser tab focus |
| Frozen/black video | Agent video service, transport selection, camera device and format |
| Check firmware | Целевые minimums: ArduPilot 4.0+, PX4 1.12+, Betaflight 4.3+, iNav 7.0+; фактическую поддержку нужно проверить |
kairos status
journalctl -u kairos-video -n 20 --no-pagerМинимум, который нельзя пропустить
- Arm только на безопасной дистанции от людей и объектов.
- Первые полёты короткие и низкие; сложность увеличивается постепенно.
- Сохраняйте visual line of sight и ситуационную осведомлённость.
- Знайте, что происходит при RC loss, GCS loss, battery low и GPS/EKF failure.
- Летайте в открытой разрешённой зоне вдали от аэропортов, restricted airspace и crowds.
- Проверяйте действующие местные правила перед каждым flight session.
- Оператор остаётся ответственным даже при использовании automated modes и KairOS UI.

