Научная статья на тему 'Проектирование управляющих систем космических аппаратов при помощи программ с открытым исходным кодом'

Проектирование управляющих систем космических аппаратов при помощи программ с открытым исходным кодом Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
142
68
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СИСТЕМЫ АВТОМАТИЧЕСКОГО УПРАВЛЕНИЯ / SCILAB / GNU OCTAVE / MATLAB / AUTOMATIC CONTROL SYSTEM

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Исаев В.А., Милов А.В.

Рассмотрена возможность замены Matlab на программы с открытым исходным кодом для проектирования систем управления космическими аппаратами.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

DESIGNING CONTROL OF SPACECRAFT SYSTEMS USING OPEN SOURCE SOFTWARE

The possibility to replace the Matlab software with open source software to design spacecraft control systems.

Текст научной работы на тему «Проектирование управляющих систем космических аппаратов при помощи программ с открытым исходным кодом»

УДК.004.432.2

ПРОЕКТИРОВАНИЕ УПРАВЛЯЮЩИХ СИСТЕМ КОСМИЧЕСКИХ АППАРАТОВ ПРИ ПОМОЩИ ПРОГРАММ С ОТКРЫТЫМ ИСХОДНЫМ КОДОМ

В. А. Исаев1, А. В. Милов2

Сибирский государственный аэрокосмический университет имени академика М. Ф. Решетнева

Российская Федерация, 660037, г. Красноярск, просп. им. газ. «Красноярский рабочий», 31 E-mail: vadim.an.isaaev@yandex.ru1, antnraven@protonmail.ch2

Рассмотрена возможность замены Matlab на программы с открытым исходным кодом для проектирования систем управления космическими аппаратами.

Ключевые слова: системы автоматического управления, Scilab, GNU Octave, Matlab.

DESIGNING CONTROL OF SPACECRAFT SYSTEMS USING OPEN SOURCE SOFTWARE

V. A. Isaev1, A. V. Milov2

Reshetnev Siberian State Aerospace University 31, Krasnoyarsky Rabochy Av., Krasnoyarsk, 660037, Russian Federation E-mail: vadim.an.isaaev@yandex.ru1, antnraven@protonmail.ch2

The possibility to replace the Matlab software with open source software to design spacecraft control systems.

Keywords: automatic control system, Scilab, GNU Octave, Matlab.

Не будет преувеличением сказать, что наиболее популярным программным продуктом для инженерных расчётов и проектирования систем автоматического управления (САУ) для космических и летательных аппаратов является программный пакет Matlab. К сожалению его цена на сегодняшний день настолько велика (индивидуальная лицензия на базовый пакет - $2 650, AeroSpace Toolbox - $1 250), что легальное использование этого продукта остаётся под большим вопросом не только для индивидуального пользователя, но и для многих (в том числе учебных) организаций. Решением данной проблемы является использование аналогичных программ с открытым исходным кодом Scilab [1] или GNU Octave [2].

Основные характеристики этих продуктов представлены в табл. 1.

Таблица 1

Основные характеристики программных продуктов Scilab и GNU Octave

Характеристика Значение

Scilab GNU Octave

Синтаксическая совместимость с МайаЬ ~ 95 % (Некоторые функции имеют другое название) ~ 99,9 %

Дополнительные инструменты Есть Есть

Наличие визуальной среды моделирования Есть (Xcos - аналог Simulink) Нет

Поддерживаемые операционные системы Microsoft Windows, Linux, UNIX, Apple OS X Microsoft Windows, Linux, UNIX, Android

АКТУАЛЬНЫЕ ПРОБЛЕМЫ АВИАЦИИ И КОСМОНАВТИКИ - 2016. Том 1

Окончание табл. 1

Характеристика Значение

Scilab GNU Octave

Параллельные вычисления - для систем с общей памятью - автоматически, встроенными средствами; - для распределённых систем - только под Microsoft Windows (MPI) - для систем с общей памятью - автоматически, встроенными средствами; - для распределённых систем - MPI (в том числе с помощью bcMPI, как и в Matlab)

Интерфейс пользователя - графический; - тестовый - графический; - тестовый

Русификация - интерфейс пользователя ~ 100 %; - встроенная справочная система ~ 40 %; - диагностические сообщения ~ 90 %; - прочее ~80 % - интерфейс пользователя ~ 100 %; - встроенная справочная система ~ 0 %; - диагностические сообщения ~ 80 %; - прочее ~20 %

Для примера работы этих программных продуктов представим, что у нас есть некая гипотетическая САУ с передаточной функцией H(s) = 2/(s А 2 + 2 * s + 9), работу которой нужно проанализировать. Листинги программ Scilab и CNU Octave для этой цели представлены в табл. 2.

Таблица 2

Листинги программ для анализа работы САУ в Scilab и GNU Octave

Scilab GNU Octave

//Создание переменной для полиномов передаточной функции s=poly(0, 'Б'); s=%s; //Определение передаточной функции для непрерывной системы И=2/(БЛ2+2 *Б+9); БУБИ=БУБ1ш('С', И); //Расчёт и вывод графика переходного процесса 1=0:0.1:10; у1=СБт(^ер', 1, бубИ); р1о1(1, у1); //Построение ЛАФЧХ й=0.01:0.1:10; bode(sysH, &) //Годограф Найквиста для определения устойчивости системы nyquist(sysH) %Подключение пакета для работы с САУ pkg control load %Определение передаточной функции для непрерывной системы sysH=tf([2], [1 2 9]); %Расчёт и вывод графика переходного процесса t=0:0.1:10; step(sysH, t) %Построение ЛАФЧХ fr=0.01:0.1:10; bode(sysH, fr); %Годограф Найквиста для определения устойчивости системы nyquist(sysH)

Какой и двух программных продуктов следует выбрать для замены Matlab, зависит от сопутствующих условий:

- если нужно максимально быстро ввести в эксплуатацию большое количество существующего кода Matlab и нет необходимости использовать систему визуального моделирования, а так же вас не волнует неполная русификация получаемых результатов - лучшим выбором будет GNU Octave;

- если нужно использовать систему визуального моделирования (аналог Simulink), если есть время на небольшую переработку существующего matlab'овского кода и если нужно максимально русифицированный выводимый результат - лучше всего использовать Scilab.

Можно ли успешно и в разумные сроки перейти с проприетарного программного обеспечения на программное обеспечение с открытым исходным кодом? Мировая практика отвечает - да, можно. В качестве примера можно так же предложить опыт перехода с Matlab на Scilab в Бомбейском технологическом институте (Мумбай, Индия). В этом институте практически все вычислительные примеры для научной и учебной работе были переведены из Matlab в Scilab и эти примеры можно бесплат-

но скачать с их сайта [3]. Кроме того, есть большой набор видеокурсов по изучению Scilab созданных в этом институте [4].

По Scilab и GNU Octave есть литература на русском языке [5; 6].

Библиографические ссылки

1. Scilab [Электронный ресурс] : офиц. сайт. URL: http://www.scilab.org (дата обращения: 03.03.2016).

2. GNU Octave [Электронный ресурс] : офиц. сайт. URL: http://www.gnu.org/software/octave/ (дата обращения: 03.03.2016).

3. Примеры Scilab к учебной и научной литературе (на англ. языке) [Электронный ресурс]. URL: http://www.scilab.in/Completed_Books (дата обращения: 03.03.2016).

4. Spoken Tutorial (Scilab, English) [Электронный ресурс]. URL: http://spoken-tutorial.org/tutorial-search/?search_foss=Scilab&search_language=English (дата обращения: 03.03.2016).

5. Алексеев Е. Р., Чеснокова О. В., Рудченко Е. А. Scilab: Решение инженерных и математических задач [Электронный текст]. М. : ALT Linux ; БИНОМ. Лаборатория знаний, 2008. 269 с.

6. Алексеев Е. Р., Чеснокова О. В. Введение в Octave для инженеров и математиков [Электронный текст]. М. : ALT Linux, 2012. 368 с.

7. Петунин В. И. Система ограничения вектора угловой скорости летательного аппарата // Ре-шетневские чтения : материалы XIX Междунар. науч. конф. / Сиб. гос. аэрокосмич. ун-т. Красноярск, 2015. Ч. 1. С. 248-249.

8. Калинников В. А., Вишнев А. В. Влияние затенения рельефом местности на вероятность определения местоположения воздушного судна // Актуальные проблемы авиации и космонавтики : тезисы X Всерос. науч.-практ. конф. творческой молодежи. В 2 т. Т. 1. 2014. С. 192-193.

© Исаев В. А., Милов А. В., 2016

i Надоели баннеры? Вы всегда можете отключить рекламу.