Перейти к содержимому

Урок 33 из 43 · Модуль 4. SITL из командной строки и отработка сценариев

Mission Planner для технического персонала · Урок 33 из 43 · Модуль 4. Эксплуатация и диагностика

Запуск симулятора напрямую из исходников, внешние модели физики и готовые сценарии отработки аварийных ситуаций.

Опция ускорения позволяет прогнать сорокаминутную миссию за четыре минуты. Незаменимо при проверке длинных маршрутов и логики батарейного failsafe.

Содержание

1. Цели урока

После этого урока вы будете понимать:

  • как запускать sim_vehicle.py с нужными опциями
  • как подключить Mission Planner к внешнему SITL
  • какие внешние симуляторы физики применяются
  • три готовых сценария отработки отказов
↑ К оглавлению

2. Запуск SITL из командной строки

Для расширенных сценариев запускают SITL напрямую из исходников ArduPilot.

# Установка (один раз)
git clone --recurse-submodules https://github.com/ArduPilot/ardupilot
cd ardupilot
Tools/environment_install/install-prereqs-ubuntu.sh -y
# Запуск квадрокоптера с указанием стартовой позиции
sim_vehicle.py -v ArduCopter -f quad \
--custom-location=52.5185,5.4714,0,0 \
--map --console
# Запуск самолёта
sim_vehicle.py -v ArduPlane -f plane --map --console
# Несколько аппаратов для отработки групповых полётов
sim_vehicle.py -v ArduCopter -f quad -n 3 --auto-sysid
Bash

Опции, которые понадобятся:

Опция Назначение
-v Прошивка: ArduCopter, ArduPlane, Rover, ArduSub
-f Фрейм: quad, hexa, octa, plane, quadplane, heli
--custom-location Стартовая точка: широта, долгота, высота, курс
--map Окно карты MAVProxy
--console Консоль состояния
-n Число аппаратов
--out Дополнительный выход MAVLink (для подключения Mission Planner)
--speedup Ускорение симуляции (например, 10× для длинных миссий)
-w Сброс параметров к значениям по умолчанию

Подключение Mission Planner к внешнему SITL: выберите TCP и порт 5760, либо запустите SITL с --out=udp:127.0.0.1:14550 и подключитесь по UDP.

Ускорение симуляции: Опция --speedup=10 позволяет прогнать сорокаминутную миссию за четыре минуты. Незаменимо при проверке длинных съёмочных маршрутов и при отладке логики failsafe по батарее.
↑ К оглавлению

3. Реалистичные модели физики

Стандартная физическая модель SITL проста. Для более точного моделирования подключаются внешние симуляторы.

Симулятор Особенности
Gazebo Открытый, богатая физика, модели датчиков, ROS-интеграция
RealFlight Коммерческий, лучшая аэродинамика самолётов и вертолётов
AirSim / Colosseum Фотореалистичная визуализация, полезно для компьютерного зрения
X-Plane Точная аэродинамика самолётов
Webots Открытый, простая настройка
JSBSim Встроен в SITL, точная модель самолётов
↑ К оглавлению

4. Отработка типовых сценариев

Сценарий: отказ GPS в автономной миссии

1. Загрузите миссию из 5 точек, запустите AUTO
2. На третьей точке: param set SIM_GPS_DISABLE 1
3. Наблюдайте: сообщения EKF, смену режима, реакцию
4. Восстановите: param set SIM_GPS_DISABLE 0
5. Оцените, сколько времени заняло восстановление
Bash

Сценарий: потеря RC на удалении

1. Отлетите на 500 м в LOITER
2. param set SIM_RC_FAIL 1
3. Проверьте: сработал ли FS_THR_ENABLE, начался ли RTL
4. Замерьте время возврата и остаток батареи
Bash

Сценарий: отказ мотора на гексакоптере

1. Запустите SITL с -f hexa
2. Взлетите в LOITER на 30 м
3. param set SIM_ENGINE_FAIL 2
4. param set SIM_ENGINE_MUL 0
5. Оцените: сохраняется ли управляемость, можно ли сесть
Bash
↑ К оглавлению

5. Практика

Задания выполняются в симуляторе SITL и не требуют реального аппарата. Выполните их до перехода к следующему уроку.

Задание 33.1. Батарея параметров отказов

Выполняется в симуляторе SITL, реальный аппарат не требуется.

  • Отработайте все три сценария из раздела 14.6.
  • Для каждого зафиксируйте: время реакции автопилота, итоговое состояние, сообщения в Messages.
  • Определите, какие настройки failsafe следовало бы изменить по итогам.

Задание 33.2. Проверка реальной миссии

Выполняется в симуляторе SITL, реальный аппарат не требуется.

  • Возьмите миссию, спланированную в задании 10.1.
  • Запустите SITL с координатами вашего реального района полётов.
  • Выполните миссию с ускорением 5× при ветре 6 м/с.
  • Оцените фактическое время, расход батареи и точность прохождения точек.
↑ К оглавлению

6. Проверьте себя

Сформулируйте ответ своими словами, прежде чем сверяться со справочником ответов (последняя статья курса).

  1. Что SITL моделирует достоверно, а что принципиально не может воспроизвести?
  2. Как задать стартовую позицию симулятора в своём районе?
  3. Какими параметрами моделируется отказ одного мотора и что нужно задать помимо номера?
  4. Зачем нужна опция --speedup и в каких задачах она особенно полезна?
  5. В каком случае имеет смысл подключать внешний симулятор физики вместо встроенного?
↑ К оглавлению

7. Чек-лист самопроверки

Урок освоен, если каждый пункт выполнен на практике:

  • Отработан сценарий отказа GPS в автономной миссии
  • Отработан сценарий потери RC на удалении
  • Отработан сценарий отказа мотора
  • По итогам скорректированы настройки failsafe
Результат: все пункты выполнены — переходите к следующему уроку.
↑ К оглавлению

8. Что дальше

  • Предыдущий урок: 32. Симулятор SITL: основы и моделирование условий
  • Следующий урок: 34. Lua-скрипты и компаньон-компьютер
  • Полный перечень тем — в статье «Содержание курса».
↑ К оглавлению
  • Четверг, 30 июля 2026