Спасибо за прекрасное объяснение теории. Наконец-то я разобрался с векторами в KSP. После экспериментов со скриптом оказалось, что вектор SHIP:UP:VECTOR не точен (отклонение 0,003 градуса), лучше использовать (SHIP:BODY:POSITION - SHIP:POSITION). Еще при приближении длины корректирующего вектора к нулю направление начинает сильно дрожать, поборол ограничением частоты обновления вектора до 10 Гц. (KSP 1.0.5 Steam) Для красивого вывода данных на экран можно использовать команду PRINT AT (Col, Row), которая выводит данные в указанное место. Частоту обновления экрана лучше ограничить, чтобы не замедлять работу всего цикла: // Переменная Freq нужна для вычисления частоты работы цикла. GLOBAL Freq IS 0. GLOBAL UpdateTime IS TIME:SECONDS. // Некий цикл UNTIL FALSE { SET Freq TO Freq + 1. IF TIME:SECONDS - UpdateTime > 0.1 { print_parameters. SET UpdateTime TO TIME:SECONDS. } } FUNCTION print_parameters { LOCAL Row IS 0. LOCAL N IS 0. LOCAL M IS N + 17. PRINT "Stage:" AT (N, Row). PRINT STAGE:NUMBER + " " AT (M, Row). SET Row TO Row + 1. PRINT "Throttle:" AT (N, Row). PRINT ROUND(PWR * 100, 2) + " % " AT (M, Row). SET Row TO Row + 1. // В больших (или кривых) скриптах частота может сильно падать // и быть нестабильной, из-за чего начинают происходить всякие непонятные вещи. // Например, ПИД регуляторы начинают работать некорректно. PRINT "Update Freq:" AT (N, Row). PRINT ROUND(Freq / (TIME:SECONDS - UpdateTime), 1) + " Hz " AT (M, Row). SET Row TO Row + 1. SET Freq TO 0. }
@ernestberezin70968 жыл бұрын
Как всегда интересно и познавательно! Спасибо!
@RenescoRocketman8 жыл бұрын
И вам спасибо
@JulfyMaster4 жыл бұрын
Разумист!
@Rapteell8 жыл бұрын
Да забавно, хотя лично мне приятнее играть "руками". Ими же доводил орбиты спутников связи до минимальной разницы в пару метров ) Скрипту не хватает еще пары мелочей: к примеру вывести не просто на круговую орбиту что либо а вывести на заданную высоту; контроль остатка дельты в скрипте присутствует (если дельты не хватит для завершения маневра - маневр бесполезен)?
@RenescoRocketman8 жыл бұрын
Ага, вспомнилось, что в шаттле тоже был автопилот посадки, но сажали его всегда вручную, просто потому, что хотелось порулить. На заданную высоту орбиты будем выводить. Надо панелями обзавестись сначала, тогда на кербостационарной можно спутников связи навешать. И вот там попробую до метра вывести, чтобы они мертво стояли. А по дельте - в планах было снять отдельный ролик по тому, как считается дельта от времени, время от дельты, полная дельта ступени и прочее. После этого начну добавлять в скрипты расчет дельты.
@Rapteell8 жыл бұрын
Забыл еще добавить по поводу спутников связи: был бы полезен скрипт, который будет синхронизировать спутники между собой. И да, самая удобная величина при подобных расчетах - время. Вручную подобное делать долго и скучно ) ЗЫ Когда спутники с ретрансляторами запускать соберешься (особенно на геостационарную и выше) - сначала Т2 антенками обзаведись т.к. у первых 5м - не серьезно.
@RenescoRocketman8 жыл бұрын
Тарелки наверное поставлю из remotetech. По антеннам у меня еще провал первой лунной миссии планируется. Попасть в луну - попадем, но антенн для передачи данных все равно пока нет. Кстати, синхронизация спутников - это распределение их по орбите? Тут 3й закон Кепплера в ход пустим.
@Rapteell8 жыл бұрын
Стыдно признаться но подвели меня расчеты. Пришлось ровнять спутники в ручную.
@maxdefire8 жыл бұрын
Спасибо за видео! Хотелки: можно ли фон экселя (да и прочего используемого софта со здоровым белым фоном) немного затенять, а то глазки болят?
@RenescoRocketman8 жыл бұрын
Попробую с фоном поэкспериментировать. В редакторе кода я сам черный фон люблю, надо попробовать что-то потемнее и на картинках.
@PaDL1K848 жыл бұрын
Подскажите, какая у Вас версия игры и kOS. А то на стимовской версии у меня игра модуль управления kOS видит, но терминал не открывается.
@RenescoRocketman8 жыл бұрын
стимовская. там надо последний кос 1.02 для этой версии скачать. вот отсюда: github.com/KSP-KOS/KOS/releases