Mоделирование процессов и систем в Matlab (966709), страница 68
Текст из файла (страница 68)
8.24). д н урю эллар> Рис. 8.24. Изображение блока 5 ООЕ 4. Чтобы точнее отобразить сущность преобразований, которые осуществляет блок, присвоим ему название Дин. Уравн. Эйлера. В дальнейшем для моделирования процесса управления ориентацией, например, космического аппарата (КА), двигающегося вокруг планеты по определенной замкнутой орбите, понадобится еще один блок, осуществляющий интегрирование кинематических уравнений ориентации. В результате вычисляются значения параметров, определяющих текущее угловое положение корпуса КА относительно орбитальной системы отсчета.
Если в качестве такого параметра принять кватернион поворота (4, который преобразует текущее положение КА в нужное, соответствующие кинематические уравнения будут иметь следующий вид: зги 1 - — = — (Я о го — Я~ Я) й 2 379 Пользовательские библиотеки 5-блоков где вв — вектор-кватернион абсолютной угловой скорости КА; ьс — вектор-кватернион абсолютной угловой скорости орбитальной системы отсчета (жестко связанной с положением КА на орбите); а — знак кватернионного умножения. Кинематнческое уравнение в кватернионной форме не очень удобно использовать для проведения вычислений, нз-за того что действия над кватерннонами существенно отличаются от действий над матрицами и не предусмотрены.
Целесообразнее превратить данное уравнение в систему матричных уравнений: с4?о 1 с — = — с1 (сю-й); стс 2 (8.5) — = — ~с)о (ет — ьс)+ (с)х) (вв+ ь'с)]. сй1 1 сй 2 В этих уравнениях величины с), ет, и ья являются векторами-столбцами из проекций, соответственно, векторной части кватерниона поворота, вектора абсолютной угловой скорости КА на оси связанной системы координат н вектора угловой скорости орбитальной системы координат на ее же оси; с2» — скалярная часть кватерниона поворота; (с) х) — кососнметричная матрица, составленная из проекций вектора с). Создадим М-файл Б-функции, осуществляющей интегрирование этих кннематических уравнений. Ниже приведен текст М-файла с именем 5 КООсна1.
толст~оп 1зуз.хО.ззгдз) - 5 Кцциат1т.х.ц.тзаВ.ОИО.Он0) Х 5-функция 5 Кцциаз Киненатических уравнений в кватернионах $ Реализует переход от заданного вектора абсолютной Х угловой скорости орбитального коснического аппарата $ к кватерниону поворота КА относительно орбитальной $ системи отсчета Х ВХОД блока: $ ц - Геях.ояу,глер вектор проекций абсолютной угловой $ скорости КА на оси ОК. иестко связанной с нин Х ВЫХОД блока: у " Гцнб,цн1.цн2,0н31 - вектор компонентов кватерниона поворота Х относительно орбитальной декартовой систени координат Х Входнне ПАРАИЕТРЫ 5-функции: $ ОИО - орбитальная угловая скорость: Х Оиб - вектор начального кватерниона поворота $ Лазарев Ю.Е. 10-12-2003 зиттсц т1д9.
сазе О 1зуз,х0 зтг.тз) - пкП 1пттта1тзе5тзезтОтс01; сазе 1. зуз - яяПОегнчаттчез(з,х,ц.ОИО): сазе 3. зуз - иПОцтрцтз1х): сазе 9 зуз Н; епб Х Конец процедуры Х ЗВО Урок 8 ° Взаимодействие МАТ(АВ с 5(пвц((пй $ Далее идут тексти внутренних процедур Х Х толст)ап (зуз,х0 зтг.сз) - иП1п11(а)1гепдгез(Оно) 51пез = зтв51гез: 51пез.нцвсапа5гасез - 4: 5)газ.нцв015с51агез О: з1гез.нвпОцтроаз - 4; зтгез.нцв1пратз и 3: .
5(ге5.01гГееатнга(ОП - 1; 51гез.нцв5апр1е11вез 1: ' зуз - 51вз1гез(51аез); х0 - Он0; зтг- и; 15 - (О 01: Х Конец процедури ппП 1п(11а11гезтгез Х Знс11оп г - птПОег1тат(тез(т.х,а,СМ0) Х ВХОДНОЙ вектор "а - вектор проекций покентов вневних сип. Х действующих на касиический аппарат соответственна па осяк Х. т, Е Х х(1) - ОИ) - скалярная часть кватерниана: $ х(2:4) = цн(1:3) - векторная часть кпатерниона; Х п(1) - а(ц О)/аа; а(2:4) - а(ц )/ас; Х ворниропание векторов угловых скоростей и кватерннона ов гн ОМ 10 ОМО О)'; У х(2;4)„. опИИ вЂ” вп — СМ: авРСМ = вп:- СМ: а(1) = -(У'иовИСМ)/2: $ уравнения скалярной части кпатерниана г4 - (х(1)"опИСМ + сгазз(т.овРОМ))/2: $ уравнения векторной части кватерниана г(2:4) п4: $ Конец працедурн пкПОег)уа11уез Х тцпст1оп т мПОцаратз(х) у "х: $ Конец працедурн ва)Оцтритз По аналогии с предыдущим создадим 8-блок с именем 5 КПоцаС. Его входом является вектор проекций абсолютной угловой скорости КА, а выходом — вектор нз четырех компонентов кватерниона поворота КА относительно орбитальной системы координат.
Первый компонент представляет собой скалярную часть, остальные три — проекции векторной части этого кватерниона. В результате получим окно библиотеки в таком виде, как показано на рис. 8.25. т~ в 1пце Дии. Урави. Зпиера в кцчиав Кии. Упав» ° аватар»ив»а» Рис. 8.25. Блок 5 КОццатдобавлен в библиотеку ~ ПРИМЕЧАНИЕ Если блок-схема библиотеки была закрыта, изменить ее после повторного открытия можно только после того, как будет вызвана команда Еб(та Орсаге б(айтапт (Правка Р Обновить диаграмму) в окне библиотеки. 381 пользовательские библиотеки 5-блоков Наконец, необходимо создать 5-блок, который осуществлял бы операцию векторного умножения двух векторов, аналогичную М-функции егозю Для этого удобно использовать стандартный блок 5оЬзуз~егп из раздела РогЬ В 5иЬ- зуйегпз.
Перетянем его с помощью мыши в окно новой библиотеки (рис. 8.26). Дважды щелкнув на изображении этого блока, получим пустое окно, в котором составим блок-схему подсистемы (рис. 8.27). и КОЕ»ае 3 ьов Л», Ура» 3" ера К и Урию ° и»атер»и иа оа~ Вервие» Рис. 8.26. Включение в библиотеку блока 5иЬзузтегп Рис.8.27. Блок-схема подсистемы векторного произведения В этой блок-схеме использован блок МАПАВ Гапсйоп из раздела Взег-Оейпед ГипсВопз, окно настройки которого представлено на рис. 8.28. Именно он, собственно, н выполняет операцию векторного умножения двух входных векторов, используя для этого стандартную функцию сгоьз системы МАТ1.АВ.
Рис. 8.28. Окно настройки блока Сгозз (МабаЬ Гопс0оп) заг Урок 8 ° Взаимодействие МАТЮКАВ с 5! пвбпЕ Наконец нами создана библиотека, состоящая из трех новых собственных 8-блоков. Назовем ееЕАЕИЬгагу (рис. 8.29). Рис. 8.29. Библиотека пользователя ЬдХИзгагу ВНИМАНИЕ В руссифицированной версии НАТКАВ 6.5 появление в тексте документа или в имени блока русской буквы кяэ приводит к нарушениям работы блока. При составлении текстового оформления блока на русском языке избегайте употребления этой буквы. Создание окна настройки блока Рассмотрим процесс создания окна настройки. Это окно является удобным средством управления блоком.
Прежде всего нужно выделить в библиотеке блок, для которого требуется создать окно. Пусть это будет блок 5 00Е новой библиотеки. Затем следует выполнить команду Ебн з Мазй 5-Енпсйоп (Правка э Создать маску 3-функции) окна библиотеки, в которой расположен выделенный блок. На экране появится окно редактора маски, представленное на рис. 8.30. Рис. 8.30. Окно Маза еб1тог 383 Пользовательские библиотеки 5-блоков ПРИМЕЧАНИЕ Возможно, что при повторном вызове библиотеки команда Ебй з Иазк 5-ЕопсИоп (Правка ь Создать маску 5-функции) будет недопупна.
В атом случае следует обратить внимание на предпоследнюю команду в меню — Оп!оса ПЬгжу (Разблокировать библиотеку), она должна быть активной. После щелчка на ней команда Иатк 5-Гипсе)оп также должна стать доступной. Окно Маз)с Е81сог (Редактор маски) имеет четыре вкладки: О 1соп — предназначена для создания и редактирования изображений на блоке; О Рагагпегегз — служит для создания и редактирования диалоговой части (ввода параметров) окна настройки; О 1п18а11тайоп — используется для ввода некоторых команд среды МАТЕ.АВ при инициализации блока; О Оосшпеп1айоп — служит для оформления и редактирования текста и справоч- ной части маски.
Окна настройки (маски) стандартных Б-блоков в общем случае состоят из трех частей. Верхняя часть содержит справочную информацию о назначении блока, его главных параметрах и правилах, которыми следует пользоваться при установке параметров блока и его применении. В средней части окна находятся поля ввода параметров блока, надписи над ними объясняют смысл параметров.
Нижняя часть окна настройки содержит стандартные кнопки: ОК, Сансе), Не)р и Арргу. Редактор маски предназначен для оформления двух первых частей окна настройки, а также для создания справки, которая вызывается при щелчке на кнопке Не)р. Перейдя на вкладку Оосигпепгайоп (Документзщия) (рис. 8.31) окна редактора маски, следует ввести в поле Май гуре (Тип маски) имя блока. В поле Маей дезспрйоп (Описание маски) записывается информация, которая должна отобразиться в верхней (справочной) части окна настройки блока, а в поле Мат)с Не)р (Справка маски)— дополнительная справочная информация, которая появляегся после щелчка на кнопке Не!р в окне маски.