nabbla (nabbla1) wrote,
nabbla
nabbla1

Category:

Моделирование стыковки с помощью ВидеоИзмерителя

"Нарисовал"-таки видеоролик, где мы начинаем с весьма неблагоприятных условий: вместо того, чтобы нас поставить ровно "напротив" стыковочного узла, мы оказались сдвинуты от оси на 20 градусов, да ещё и ориентация в пространстве оказалась кривоватой: крен в 90° и тангаж с креном эдак по 10°.





В кои-то веки у меня сколько-нибудь реалистичная модель космического корабля. Правда, параметров Федерации я толком не знаю, поэтому брал Союз, причём старенький, с 24 двигателями причаливания-ориентации, 12 большой тяги и 12 малой. Ещё и моменты инерции для него посчитал в приближении "сплошного цилиндра" с длиной 7,9 метра, диаметром 2,25 метра и массой 7 170 килограмм...

Очень много интересных моментов обнаруживается.


Начинаем мы с центровки - стягивании мишени в центр поля зрения с помощью двигателей ориентации (они же "малой тяги"). Это нужно, чтобы разгонный импульс был направлен именно в сторону станции, и чтобы вероятность потерять мишень из поля зрения стала минимальной. Сейчас, чисто ради ролика, сделал угловую скорость 0,25°/с: сначала двигатели включаются, чтобы разогнать до такой скорости, а потом, как только прибываем "на место" - включаются противоположные двигатели, чтобы погасить угловую скорость до нуля. Но вроде величина адекватная, у нас даже худо-бедно держится сопровождение. Почему вдруг дальность "сваливается" с 300 метров до 260 со срывом сопровождения - пока не знаю, надо будет подробнее проанализировать.

Далее корректируем крен - вообще согласно ТЗ мы крен должны начать выдавать только с дальности 30 метров и меньше, и действительно так загодя его корректировать смысла нет. Но по моим результатам моделирования выходит, что крен хорошо замеряется даже с 300 метров, и есть пара доводов, чтобы исправить его поскорее. Во-первых, не мучать космонавтов - им всё-таки комфортно заходить с нулевым креном. Во-вторых, видно, как вращение осуществляется ВОКРУГ ОСИ КОРАБЛЯ (она же ось стыковочного механизма), тогда как наш прибор установлен в 850 мм "выше" оси, поэтому картинка не просто крутится, но и заметно "уползает", и это на 300 метрах! Если же начать корректировать крен на малой дистанции, мы уползём ещё дальше, тут уже есть заметный риск потерять мишень из поля зрения, что на малой дальности совсем неприятно!

Корректировать крен на скорости 0,25°/с совсем не хотелось, слишком уж медленно, а когда поднял скорость, началось "перерегулирование" - вот крен свели к нулю, а остановить вращение не успеваем! Чего-то не хотелось вводить дополнительных "переменных состояния", поэтому сделал довольно забавный алгоритм. Он берёт оставшийся для отработки угол, текущую угловую скорость и максимально возможное угловое ускорение "по крену". И выбирает 3 варианта:
- угловая скорость велика, мы едва успеваем затормозить на половинной тяге (вдруг один из 2 движков отказал). Тогда включаем торможение (остановку вращения),
- если сейчас начать разгон, то мы выиграем не более 10% времени в сравнении с движением с текущей угловой скоростью, тогда "игра не стоит свеч" - и мы продолжаем вращение с выключенными двигателями,
- в противном случае продолжаем разгон.
В итоге получается весьма адекватное управление: сначала он "пыхает двигателями" для разгона, потом выключает их, и наконец начинает "пыхать" для торможения, причём с паузами, т.к оставлен двухкратный запас. И прибывает он довольно точно на нулевой крен (если на экране отображается не ноль - это скорее погрешности измерения крена).

Возможно, стоило бы повторно осуществить центровку, но пока этого моделировать не стал, чтобы "максимально усложнить работу" на последующих этапах! А именно, при разгоне до 1 м/с мы приобретаем довольно заметную боковую скорость, из-за которой мишень начинает уползать из центра поля зрения.

Далее, во время разгона, движении с постоянной скоростью и замедлении, действует "контур гашения боковых скоростей": мы знаем, что корабль не вращается вокруг своей оси (ну или если вращается, то предельно медленно), поэтому, если мишень начинает куда-то уползать, это может быть вызвано только наличием боковой скорости. Сейчас "автоматика" в модели сделана так: как только активные тангаж или курс уходят за 1°, включается соответствующий "двигатель большой тяги" (они отвечают за поступательное движение корабля), но всего один из двух (чтобы несколько "смягчить" регулировку), и выключаем его ровно в тот момент, когда соответствующий угол начал уменьшаться, т.е скорость поменяла знак и сейчас тихонечко выводит нас назад на курс. Первый раз критерием было возвращение в диапазон -1°..+1°, но это ожидаемо вызвало "перерегулирование" - он непрерывно пыхал двигателями то в одну сторону, то в другую, пока вообще не потерял мишень из виду! А вот как сейчас - на удивление спокойно работает и топлива тратит немного.

Наконец, последний этап - "коррекция пассивных углов". Да, мы летим аккурат в цель, и она у нас в центре поля зрения, только вот летим мы "сбоку", как показано на рисунке. Когда-то, во времена стыковок "Союзов" друг с другом, сам "пассивный" Союз работал двигателями ориентации, чтобы его стыковочная ось совпала с линией визирования. Но сейчас крутить МКС никто не хочет, больно она здоровенная и нежёсткая. Поэтому "нам самим" надо выйти на ось стыковочного узла!

Сейчас сделал довольно забавное управление этим процессом: если один из пассивных углов превышает 1°, а соответствующий активный угол не более 2°, включаем двигатели ориентации, чтобы ориентироваться вдоль стыковочной оси. При этом контур гашения боковых скоростей никто не выключает. Тут он реагирует на выход мишени из центра (из-за вращения корабля вокруг собственной оси) включением двигателей большой тяги, и тем выводит корабль на стыковочную ось.

Похоже на правду: действительно все углы, и активные, и пассивные, стали менее 1° к окончанию процесса сближения. Семь параметров, то есть 3 координаты, 3 угла и скорость, были сведены к требуемым :)

Скорость я "намеренно не стал гасить", оставив на уровне 0,2 м/с. Это максимальная скорость, которую мы должны измерять с заявленной точностью на малых дальностях, так что в некотором роде я здесь изобразил "наихудший случай".

Теперь можно добавлять вагон и маленькую тележку всевозможных уточнений. Сейчас у меня была модель "свободного пространства", просто два тела в космосе. Стоит их поместить на орбиту вокруг Земли - начинаются приколы орбитальной механики, когда разогнавшись в сторону МКС, мы начинаем переходить на более высокую орбиту, из-за чего наша скорость потихоньку снижается и появляется "боковой снос". Вроде бы на 300 метрах и тех 10 минутах, что уходит на стыковку, оно не должно существенно повлиять, и уже существующие контуры должны легко и непринуждённо это "парировать".

Ещё можно в каждый из двигателей погрешности вводить - по отрабатываемому импульсу и его направлению, а потом ещё и центр масс сдвинуть, из-за чего двигатели большой тяги начнут раскручивать корабль, а двигатели малой тяги по тангажу и курсу уже и сейчас у меня не просто вращают корабль, но и разгоняют его.

Но наверное, чуть позже, сейчас важнее всё-таки запустить это несчастное обнаружение "в железе"...
Tags: математика, моделирование, программки, работа, странные девайсы
Subscribe

  • Лестница для самых жадных

    В эти выходные побывал на даче, после 3-недельной "самоизоляции". Забавно, как будто зима началась! Особенно грязные галоши остались на улице, в…

  • Возвращаемся к макету

    Очень давно макетом видеоизмерителя параметров сближения не занимался: сначала "громко думал" по поводу измерения его положения на аппарате, а потом…

  • Минутка живописи

    В процессе разгребания содержимого квартиры (после нескольких ремонтов) дошёл, наконец, и до картин. В кои-то веки их повесил. Куда их вешать -…

  • Костыль ноутбуку и кабели Франкенштейна (это не я!)

    Продолжаю разгребать хлам, накопившийся за много лет, раз уж всё равно на карантине сижу. Довольно продуктивный день: починил ноутбук (грубо, но…

  • Атомный файлсервер, убитые петухи и харакири андроида

    Продолжаю совершать хаотические движения по квартире, хвататься то за одну железяку, то за другую, с желанием каждую куда-нибудь "пристроить". "По…

  • Ещё про яркий светильник и ИБП

    Всё-таки применил лежащее дома барахло наиболее простым образом: А ещё наконец-то замерял температуру теплоотвода яркого светильника на кухне,…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your IP address will be recorded 

  • 0 comments