Space Engineers

Space Engineers

Not enough ratings
Pilot Assistant System - Гайд по настройке
By [HELLBENT]
Это полное руководство по настройке и эксплуатации HELLBENT's Pilot Assistant System – PAS
   
Award
Favorite
Favorited
Unfavorite
Общая настройка


Pilot Assistant System — Script Setup Guide



Условные обозначения
* — Эту настройку можно изменить в Custom Data программного блока.

Общая настройка
Начнем с того, что при запуске скрипт сам подскажет вам, что нужно сделать. Вам лишь останется выполнять инструкции на экране. Далее развернутая интерпретация инструкций:

Для настройки PAS достаточно двух блоков: Блока программирования и Блока управления кораблем (дистанционное управление или кресло пилота).Эти блоки должны быть размещены на основной сетке. Во-вторых, блок управления должен быть правильно ориентирован, т.е. направления вперед и вверх блока и корабля должны совпадать. Также этот блок должен иметь тег в своем имени: по умолчанию Autopilot*

Далее необходимо отрегулировать высоту уровня моря: вы можете принять условно любую высоту, но рекомендуется брать среднюю или самую низкую высоту рельефа на планете. Если на сервере установлен Water Mod , то выбирать вообще не придется. Расположите самолет на выбранном уровне моря и выполните аргумент CALIBRATE (регистр не важен). Таким образом будет записана высота, которая в последствии будет считаться нулевой.

Все остальные блоки не требуются скрипту для существования, но вам было бы полезно иметь на борту хотя бы один гироскоп и, по возможности, ускоритель. PAS также обнаруживает блоки на сабгридах, соединенных ротором или шарниром, но не коннектором. Все гироскопы будут использованы по умолчанию, а для указания, какой ускоритель на сабгриде можно использовать, отметьте соответствующий блок тегом “Include”. Раз в 10 секунд PAS автомагически проверяет наличие новых или изменение существующих блоков.

Настройка Скрипта
В Custom Data программного блока вы найдете интуитивно понятные доступные для изменения переменные, такие как: режим работы скрипта, названия тегов для блоков, позывные и радиоканалы, скорости, высоты, углы, использование дополнительных функций.
Вероятно, вам стоит знать некоторые термины авиации для правильного понимания вещей. Всё есть в открытом доступе, развивайтесь :)
Вкладку Storage трогать не рекомендуется, если вы не знаете, что делаете.
Доступные аргументы
Доступные аргументы
Здесь приведен список аргументов с кратким описанием. Полное описание смотрите ниже. Аргументы не чувствительны к регистру.
Помните, что все аргументы могут быть выполнены через таймер, что существенно облегчает полную автоматизацию ваших самолётов.
Аргументы из одного слова:
  • n – целое число [0, ∞]. Задает текущий номер точки в используемом маршруте.
  • NEXT – сдвигает номер текущей точки маршрута на 1 вперед.
  • PREV – сдвигает номер текущей точки маршрута на 1 назад.
  • STOP – останавливает выполнение активных задач, (эту функцию также можно вызвать, нажав ПРОБЕЛ 3 раза, если вы сидите в любом из кресел, которому доступно управление самолетом.).
  • TOGGLE – полностью останавливает / включает скрипт.
  • RECOMPILE – перезапускает скрипт без необходимости нажимать Recompile в интерфейсе.
  • CALIBRATE – калибровка уровня моря. Текущая высота становится нулевой.
  • RECORD_POINT – записывает текущее местоположение, высоту и скорость в формате точки маршрута в блок, помеченный тегом Waypoints*
  • REPEAT, REPEAT_ON, REPEAT_OFF – переключает, включает / выключает повтор маршрута по достижению последней точки. Маршрут начнется с точки 0.
  • AUTOPILOT, AP_ON, AP_OFF – переключает, включает / выключает автопилот.
  • CRUISE, CRUISE_ON, CRUISE_OFF – переключает, включает / выключает круиз-контроль.
  • BRAKES – переключает тормоз на сабгридных колесах.
  • TAKEOFF – автоматический взлет по ILS (если есть), либо просто взлет вперед.
  • LAND – автоматическая посадка по ILS.
Аргументы из двух слов (разделитель – пробел):
  • LAND ils-callsign – автоматическая посадка по выбранному сигналу ILS.
  • TAKEOFF ils-callsign – автоматический взлет по выбранному сигналу ILS.
  • IMPORT block-name – импортирует маршрут из Custom Data блока с выбранным именем.
  • EXPORT block-name – экспортирует маршрут в Custom Data блока с выбранным именем.
  • BUILD point-name – строит маршрут от текущего местоположения до выбранной точки (имя точки ищется в Custom Data блока Waypoints*)
  • BUILD_CIRCLE point-name – строит маршрут, полностью огибающий планету в сторону от текущего местоположения до выбранной точки (имя точки ищется в Custom Data блока Waypoints*)
Аргументы из трёх слов (разделитель – пробел):
  • LAND point-name point-name – автоматическая посадка на полосу, определенную двумя точками по принципу “начало-конец”, (имя точек ищется в Custom Data блока Waypoints*).
  • TAKEOFF point-name point-name – автоматический взлет с полосы, определенной двумя точками по принципу “начало-конец”, (имя точек ищется в Custom Data блока Waypoints*).
  • BUILD point-name point-name – строит маршрут от точки до точки по принципу “начало-конец”, (имя точек ищется в Custom Data блока Waypoints*)
  • BUILD_CIRCLE point-name point-name – строит маршрут, полностью огибающий планету по направлению от точки до точки, (имя точек ищется в Custom Data блока Waypoints*)
Функции
Функции:
Текстовые панели и LCD:
Доступен вывод следующих данных на экраны: Навигация, Авионика, TCAS, состояние.
Первые три задаются тегами, которые нужно вписать в Custom Data дисплея или блока, который содержит в себе дисплеи (например кресло пилота или кокпит). Четвертый дисплей – это экран программного блока, на нем отображены подсказки, ошибки и базовая информация, этот дисплей нельзя перепрограммировать.
Для того, чтобы выбрать нужный дисплей, вы должны написать в Custom Data следующее: Тег PAS_ и тег дисплея, например Nav_ (чувствительны к регистру, нижние подчеркивания обязательны).
Таким образом, если вы выбрали, например, одиночный дисплей, команда в нем будет выглядеть вот так:
PAS_Avionics_

Если вы хотите добавить информацию в кокпит с несколькими дисплеями, вы пишите то же самое, но добавляете в конце номер дисплея (счет начинается с нуля).
PAS_Avionics_1 PAS_Nav_0 PAS_TCAS_2
Таким образом авионика будет показана на втором дисплее, навигация на первом и TCAS на третьем.
Работа с маршрутами
Точки маршрута:
Для хранения точек маршрута в скрипте выделяется блок с тегом Waypoints* – это может быть любой терминальный блок (то есть имеет поле Custom Data).
Вы можете сохранять в этот блок GPS метки в том виде, в каком они копируются в игре. Делайте имя меток цельным, без пробелов. Скрипт будет искать это имя при выборе точки.
Также в этот блок будет записываться точка маршрута при выполнении с аргументом RECORD_POINT (она будет записана в формате маршрутной точки).

Работа с маршрутами: Синтаксис точек
Все точки маршрута записываются в таком формате: Тип операции ; данные для операции.
Рассмотрим все 4 типа операций для точек маршрута и как их можно записывать. Знаки препинания важны и должны быть строго в нужном порядке. Если имя таймера установлено на default, то таймер искаться не будет. Если имя ILS установлено на default, то самолет выберет ближайший к нему ILS (по дистанции до начала полосы). Если какие либо значения установлены на ноль, то при работе автопилот в реальном времени будет подставлять базовые* значения этих переменных:

GoToPoint – Следовать к точке. Записывается тип операции, координаты, высота в метрах, скорость в м/с, таймер, который будет триггериться по достижению точки.
GoToPoint;X,Y,Z;Высота;Скорость;Имя таймера

Takeoff – Взлет. Записывается тип операции, позывной ILS, имя таймера, либо координаты и имя таймера. Может быть записан в четырех вариациях:
Takeoff Takeoff;Позывной ILS Takeoff;Позывной ILS;Имя таймера Takeoff;X, Y, Z;X, Y, Z;Имя таймера

Landing – Посадка. Записывается тип операции, градиент снижения (угол в градусах между плоскостью полосы и глиссадой), позывной ILS, имя таймера либо координаты, угол, имя таймера.
Четыре вариации:
Landing Landing;Угол;Позывной ILS Landing;Угол;Позывной ILS;Имя таймера Landing;X, Y, Z;X, Y, Z;Угол;Имя таймера

Wait – Ожидание. Записывается тип операции, время ожидания в секундах, имя таймера.
Три вариации:
Wait Wait;Время Wait;Время;Имя таймера

Работа с маршрутами: Редактирование маршрута
Маршрут должен быть записан в Custom Data того блока, из которого вы собираетесь его экспортировать (Импортировать в PAS).
Для построения маршрута достаточно указать его название в первой строке текстового поля, а затем добавлять в каждую новую строку по одной операции. Пример:
My Route Takeoff;MyRunway GoToPoint;123, 456, 789;1200;100;MyTimer Landing;234, 345, 456;567, 678, 789;3 Wait
Маршрут будет выполняться в порядке от нулевой до последней точки. Если включена функция повтора* маршрута, то по достижению последней точки маршрут начнется с нулевой точки. Если повтор* отключен, автопилот завершит работу.
Нулевая точка – точка, находящаяся на второй строке текстового поля с маршрутом, (на первой строке находится имя маршрута, оно не считается точкой).

Работа с маршрутами: Управление маршрутом
Скрипт может хранить один маршрут в текстовом поле Storage своего программного блока. Поле Storage доступно лишь скрипту, игрок туда попасть не может.
Вы можете осуществить импорт и экспорт маршрута в Custom Data выбранного блока с помощью соответствующих аргументов IMPORT и EXPORT.
Имя текущего маршрута и номер текущей его точки отображается на дисплее Nav, когда автопилот выключен.
Когда автопилот включен, отображается имя маршрута, номер точки, общее пройденное/оставшееся расстояние и расстояние до текущей точки, а также тип текущей операции и соответствующие этому типу данные. Например для Landing будет показана высота полосы над уровнем моря и ее позывной (если имеется).

Работа с маршрутами: Генератор маршрута
Во время выполнения соответствующего аргумента BUILD, генератор построит маршрут между выбранными точками. Маршрут будет включать в себя набор высоты и снижение (скорость набора и снижения зависит напрямую от максимального угла тангажа* и скорости V2* установленных вами), полет на эшелоне (здесь вы можете уже во время полета корректировать базовую скорость* и высоту*, если понадобится, но желательно после этого перестроить маршрут, чтобы он учитывал новые настройки набора/снижения), посадка в конце маршрута и взлет в начале (если в момент построения самолет находился на земле).

BUILD_CIRCLE – облегченная версия генератора, она строит маршрут вокруг планеты с теми же настройками и возможностями, только без набора и снижения, взлета и посадки. Эта функция также используется в круиз-контроле, но в том случае маршрут не будет записан в Storage.

Помните, что построенный маршрут всегда можно экспортировать, доработать и импортировать обратно.
Включение автопилота запустит работу скрипта с загруженным маршрутом. При перезапуске мира автопилот продолжит работу.
Круиз-контроль, взлёт, посадка, Go Around и другое
Круиз-контроль
Простая функция, обеспечивает удержание курса, высоты и скорости.
В круиз-контроле доступно управление игроком: Вы можете увеличить или уменьшить скорость, нажимая W/S; Увеличить или уменьшить высоту полета, подняв или опустив нос; Изменить курс, повернув самолет левее или правее.
Перезапись этих данных работает независимо для каждого из трех типов изменений, так что корректировка максимально удобна.
Во вкладке “Storage” в Custom Data программного блока можно вручную установить нужную скорость* и высоту* полета.
Маршрут круиз-контроля не сохраняется в постоянную память. Но при перезапуске мира круиз-контроль продолжит работу.

Взлет
Взлет может быть использован автопилотом при достижении соответствующей точки или игроком в любой момент. Отличие в том, что при перезапуске мира взлет продолжится, если был включен автопилот, НО, отключится, если был активен в качестве авто-взлета по велению игрока.
Правила взлета:
Начало:
Если не будет найден сигнал ILS, то взлет продолжится по направлению вперед. Если направление полосы по сигналу ILS отличается от направления самолета больше чем на 90 градусов, то полоса будет проигнорирована, взлет продолжится по направлению вперед. Также полоса будет проигнорирована, если блок управления находится дальше, чем в 50 метрах от вектора полосы.
Если полоса подходит, скрипт сохраняет ее координаты во временную память, пока не выполнит задачу или не будет остановлен.
Во время взлета:
Отрыв произойдет после прохождения скорости VRotate*
Шасси будут убраны (если служба “Landing Gear” включена) по достижению высоты в 25 метров над полосой.
После отрыва взлет проходит на скорости V2*
Взлет будет завершен на высоте 100 метров над полосой.
Во время взлета доступна работа системы GPWS, но только после отрыва.

Посадка
Посадка может быть использована автопилотом при достижении соответствующей точки или игроком в любой момент. Отличие в том, что при перезапуске мира посадка продолжится, если был включен автопилот, НО, отключится, если была активна в качестве авто-посадки по велению игрока.
Правила посадки:
Начало:
Полоса будет проигнорирована (в случае ILS), если ее торец находится дальше заданного предела*
Если полоса подходит, скрипт сохраняет ее координаты во временную память, пока не выполнит задачу или не будет остановлен.
Во время посадки:
Самолет выйдет на глиссаду, угол* которой задан вами, и будет снижаться на скоростях от минимума*, на средней* и до максимума*. Если самолет промахивается мимо глиссады, то будет объявлен Go Around (см. пункт GoAround).
Если служба “Landing Gear” включена, шасси будут выпущены.
При успешном достижении полосы самолет увеличит тангаж до положительного и плавно коснется земли.
Далее начнется торможение. Используется реверсивная тяга, если имеется, воздушный тормоз, если имеется и колесный тормоз блока управления на основном гриде. Если служба “Landing Gear” включена, шасси также будут задействованы для торможения.
Посадка будет завершена при достижении скорости относительно полосы менее 10 м/с.
Во время посадки доступны сервисы TCAS (только для приоритезации захода) и GPWS.

GoAround
Выполняется при неудачном заходе на полосу или если существует другой самолет с более высоким приоритетом. Самолет разворачивается в противоположную от полосы сторону и будет сохранять последнюю скорость и высоту. Если заход был неудачным, то самолет развернется к полосе в начале глиссады, но не дальше 7.5 километров от полосы. Если существует более приоритетный самолет, то текущий самолет будет летать в пределах от 2 до 4.5 километров от полосы, пока первый самолет не сядет/исчезнет.

GoBackup
Эта функция вызывается, если при посадке по ILS полоса не была обнаружена. Самолет будет летать между двумя последними точками, сохраняя последнюю высоту и скорость, пока полоса не появится или пока у него не закончится топливо.

Контроль скорости, углов, скорости поворота
Скрипт контролирует скорость самолета, управляя двигателями и воздушными тормозами.
Скрипт контролирует максимальные крен* и тангаж* и препятствует отклонению более чем на 5 градусов.
Скрипт контролирует максимальную скорость поворота по крену*, тангажу* и рысканию*.
Есть возможность изменить модификатор* скорости изменения углов, но окончательная скорость не будет выше, чем максимальная ограниченная скорость.
Службы
Службы:
“Landing Gear”:
Этот сервис позволяет скрипту управлять выпуском/уборкой шасси и их колесным тормозом.
Вы должны построить шасси сами, ведь это часть вашего самолета.
Скрипт ищет таймер с тегом Landing Gear* и любой функциональный блок (возможность включить/выключить) с тегом LG_Indicator*. Блок индикатора нужен скрипту для понимания, в каком состоянии шасси находятся в данный момент. Блок индикатора управляется НЕ скриптом, а таймером с выше указанным именем. Необходимо добавить индикатор в таймер с действием “Включить/Выключить”.
Если шасси выпущены, индикатор должен быть включен, если убраны – выключен.

Для использования тормоза на сабгридных шасси на их сетках должны быть установлены Remote Control с тегом Landing Gear*. Скрипт будет активировать и деактивировать их ручной тормоз. Этим также можно управлять с помощью аргумента BRAKES.

“Warning System”
Состоит из двух типов блоков: динамики и лампы. (Можно использовать что-то одно или всё сразу, количество блоков не ограничено).
Блоки обнаруживаются по тегу PAS*
Система воспроизводит разные звуки и меняет цвет ламп в зависимости от действия.
Тип сигнала
Звук
Цвет
Количество проигрываний
Шасси: убрать
Alert1, Alert2
Желтый, Синий
1, 1
Шасси: выпустить
Alert1, Alert2
Желтый, Зеленый
1, 1
Тормоз: вкл
Alert2, Alert1
Ярко-Желтый, Оранжевый
1, 1
Тормоз: выкл
Alert1, Alert2
Ярко-Желтый, Темно-Зеленый
1, 1
Остановка (Через ПРОБЕЛ)
MusFun
Золотой
3
Автоматика: стоп
Alert1
Красный
4
Автоматика: старт
Alert2
Ярко-Зеленый
2
Задача выполнена
ObjectiveComplete
Лаймовый
1
”Хорошее” предупреждение
Alert2
Желто-Зеленый
10
”Плохое” предупреждение
Alert1
Оранжево-Красный
10
Предупреждение GPWS
MusComp_08
Красный
8

TCAS
Traffic alert & Collision Avoidance System – работает в двух режимах* (информация передается через блоки антенн):
В полёте – сканирует сигналы TCAS от других самолетов, управляемых PAS в радиусе 5 километров. Принимает решение о разводе самолетов по разным эшелонам, если разность их высот менее 200 метров. Решение принимается относительно приоритета самолетов, скорости и направления. В конфликте может участвовать несколько самолетов, эффект корректировки высоты накопительный.
На посадке – сканирует сигналы TCAS от других самолетов, управляемых PAS, которые собираются сесть на ту же полосу, что и текущий самолет. Принимает решение о приоритезации захода относительно приоритета самолетов и их расстояния до полосы. В конфликте может участвовать несколько самолетов, эффект очереди накопительный.

GPWS
Ground Proximity Warning System – может работать в двух режимах*: полет и посадка. Они ничем не отличаются, но разделены для возможности отключения одного из них, если не нужен.
GPWS решает, нужно ли самолету набирать высоту на основе факторов: Скорость приближения поверхности, вертикальная скорость, высота над уровнем земли и уровнем моря, время до потенциального столкновения.
Если решение положительное, самолет задирает нос на максимальный угол тангажа* до тех пор, пока не преодолеет лимит высоты конфликта (лимит и прочие значения меняются динамически).

ILS
Курсо-глиссадная система в PAS работает через блоки антенн и имеет два режима:
Получение – в соответствующих условиях самолет будет искать сигнал этой системы от блока, установленного на полосе. В сигнале передается позывной* полосы и две точки начало-конец.
Отправка – программный блок на полосе всегда транслирует свой позывной* и координаты начало-конец.
Чтобы установить на полосе передатчик ILS, вам необходимо:
Запустить PAS в режиме ILS* (Custom Data => workmode (Plane or ILS)=ILS).
Установить два любых терминальных блока, координаты которых будут передаваться. В Custom Data этих блоков необходимо добавить теги RW_Start* и RW_Stop* соответственно.
Вы можете установить два позывных* для одной полосы, они отличаются разностью направления в 180 градусов.
В этом режиме вы можете также добавить текстовую панель с тегом Flights_ в Custom Data. На эту панель будут выводиться все рейсы, которые в данный момент видны программному блоку. На видимость рейса влияет, включена ли антенна на самолете и включен ли в нем TCAS.
Вы можете легко установить ILS на свой авианосец или любую другую передвижную базу.

Транспондер
Транспондер не является функцией, но объединяет в себе работу всех систем связи, таких как TCAS или ILS.
У транспондера есть несколько настроек:
  • Позывной* – имя самолета или передатчика ILS в сети.
  • Канал* – канал, по которому передаются данные TCAS.
  • ILS Канал* – канал, по которому передаются данные ILS.
  • Приоритет* – приоритет самолета в сети (чем меньше, тем лучше).
Поддержать автора
Поддержать автора
Если хотите поддержать меня монетой, вот ссылка на Ko-fi:
ko-fi.com/hlebento
И мой YouTube канал