Научная статья на тему 'ОБОСНОВАНИЕ ВЫБОРА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ДЛЯ РОБОТОТЕХНИКИ'

ОБОСНОВАНИЕ ВЫБОРА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ДЛЯ РОБОТОТЕХНИКИ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
897
63
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ / РОБОТОТЕХНИКА / MATLAB / ОCTAVE / MACSYMA / MATHCAD / SCILAB / LABVIEW

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Колкер Алексей Борисович, Ливенец Дмитрий Александрович, Кошелева Алёна Игоревна

В работе дан обзор основных программных средств для графического программирования в целях робототехники.

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

Текст научной работы на тему «ОБОСНОВАНИЕ ВЫБОРА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ДЛЯ РОБОТОТЕХНИКИ»

Обоснование выбора программного обеспечения для робототехники

А.Б. Koлкер, Д.А. Ливенец, Koшелева А.И.

Аннотация: В работе дан обзор основных программных средств для графического программирования в целях робототехники.

Ключевые слова: Программное

обеспечение, робототехника, MatLab, Octave, Macsyma, Mathcad, Scilab, LabVIEW.

1. ВВЕДЕНИЕ

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

В работе дано сравнение преимуществ и недостатков инженерных и математических пакетов для визуального построения системы управления роботами с позиции поставленной задачи конструирования алгоритма управления использованием визуальных методов

программирования. В итоге требуется получение исполняемого кода, запускаемого под управлением операционной системы Linux. Совместимость с ОС Windows желательна, но не обязательна.

2. ОСОБЕННОСТИ ИСПОЛЬЗОВАНИЯ ПРОГРАММЫ MATLAB

Рассмотрим преимущества и недостатки использования программы MatLab (MATrix LABoratory).

Минимальные требования к системе:

• процессор Pentium III, 4, Xeon, Pentium M; AMD Athlon, Athlon XP, Athlon MP;

• 256 Мбайт оперативной памяти (рекомендуемое количество 5I2 Мбайт);

• 400 Мбайт дискового пространства (только для самой системы MatLab и ее Help);

• операционная система Microsoft Windows 2000 (SP3)/XP.

Стоимость лицензии MatLab для коммерческих организаций составляет около S 2880, библиотеки визуального моделирования Simulink - S 4220, необходимые библиотеки докупаются отдельно (к примеру, стоимость библиотеки Real-Time WindowsTarget для модуля Simulink составляет $ 3000).

MatLab - одна из старейших, тщательно проработанных и проверенных временем систем

автоматизации математических расчетов, которая построена на расширенном представлении и применении матричных операций [1] (см. рис. 1). Принципы и функциональные возможности программы по работе с матрицами создатели языка выразили в лозунге «думай векторно» (англ. Think vectorized).

Рис.1. Интерфейс MatLab

MatLab был разработан в конце 1970-х годов Кливом Моулером (англ. Cleve Moler), занимающим должность декана факультета компьютерных наук в Университете Нью-Мексико, с целью разработки было избавить студентов факультета от необходимости изучения языка программирования Фортран и дать возможность использовать программные библиотеки Linpack и EISPACK. Вскоре новый язык распространился среди других университетов и очень заинтересовал учёных, работающих в области прикладной математики. В сети Интернет можно найти версию 1982 года, написанную на Фортране, распространяемую с открытым исходным кодом. Инженер Джон Литтл (англ. John N. Little) был привлечен к разработке проекта во время визита Клива Моулера в Стэнфордский университет в 1983 году. Джона Литтла заинтересовал новый язык тем, что обладает большим коммерческим потенциалом. Разработчиками коммерческой версии MatLab стали Джон Литтл Клив Моулер и Стив Бангерт (англ. Steve Bangert), переписав программу на языке C. В 1984 они основали компанию The MathWorks для дальнейшего развития. Изначально переписанные на С библиотеки выпускались под именем JACKPAC. Первоначально MatLab предназначался для

проектирования систем управления (основная специальность Джона Литтла), но вскоре завоевал популярность во многих других научных и инженерных областях. Уже тогда MatLab также широко использовался в сфере образования для преподавания линейной алгебры и численных методов.

Язык MatLab является высокоуровневым интерпретируемым языком программирования, который включает основанные на матрицах структуры данных, широкий спектр функций, интегрированную среду разработки, объектно-ориентированные возможности и интерфейсы к программам, написанным на других языках программирования [1].

Программы, созданные с помощью пакета MatLab, бывают двух типов - скрипты и функции. Функции имеют входные и выходные аргументы, собственное рабочее пространство для хранения промежуточных результатов вычислений и переменных. Скрипты используют общее рабочее пространство. Как и скрипты, так и функции не компилируются в машинный код и сохраняются в виде текстовых файлов. Существует также возможность сохранять pre-parsed программы -функции и скрипты, обработанные в вид, удобный для машинного исполнения. В общем случае такие программы выполняются гораздо быстрее обычных, особенно если функция содержит команды построения графиков.

Несмотря на то, что изначально MatLab предназначалась исключительно для вычислений, в дополнение к усовершенствованным вычислительным средствам у фирмы Waterloo Maple по лицензии для MatLab было приобретено ядро символьных преобразований, а также появились библиотеки, позволившие MatLab расширить области применения и обеспечившие уникальные для математических пакетов функции.

Для MatLab имеется возможность создавать специальные наборы инструментов,

расширяющих его функциональность. Наборы инструментов представляют собой коллекции функций, написанных на языке MatLab для решения специализированных задач. Компания Mathworks поставляет наборы инструментов, которые используются во многих областях [2]:

• цифровая обработка сигналов, изображений и данных: DSP Toolbox, Image Processing Toolbox, Wavelet Toolbox, Communication Toolbox, Filter Design Toolbox -наборы функций, позволяющих решать широкий спектр задач обработки сигналов, изображений, проектирования цифровых фильтров и систем связи;

• системы управления: Соп^о1 Systems

Toolbox, ¡-Analysis and Synthesis Toolbox, Robust Control Toolbox, System Identification Toolbox, LMI Control Toolbox, Model Predictive Control Toolbox, Model-Based Calibration Toolbox - наборы функций, облегчающих анализ и синтез динамических систем, проектирование,

моделирование и идентификацию систем управления, включая современные алгоритмы управления, такие как робастное управление, Hœ-управление, ЛМН-синтез, ^-синтез;

• финансовый анализ: GARCH Toolbox, Fixed-Income Toolbox, Financial Time Series Toolbox, Financial Derivatives Toolbox, Financial Toolbox, Datafeed Toolbox - наборы функций, позволяющие быстро и эффективно собирать, обрабатывать и передавать различную финансовую информацию;

• анализ и синтез географических карт, включая трёхмерные: Mapping Toolbox;

• сбор и анализ экспериментальных данных: Data Acquisition Toolbox, Image Acquisition Toolbox, Instrument Control Toolbox, Link for Code Composer Studio - наборы функций, позволяющих сохранять и обрабатывать данные, полученные в ходе экспериментов, в том числе в реальном времени. Поддерживается интеграция широкого спектра научного и инженерного измерительного оборудования;

• набор инструментов для визуализации и представления данных: Virtual Reality Toolbox -позволяет создавать интерактивные миры и визуализировать научную информацию с помощью технологий виртуальной реальности и языка VRML;

• средства разработки: MatLab Builder for COM, MatLab Builder for Excel, MatLab Builder for NET, MatLab Compiler, Filter Design HDL Coder — наборы функций, которые позволяют создавать независимые приложения из среды MatLab;

• взаимодействие с внешним программным обеспечением: MatLab Report Generator, Excel Link, Database Toolbox, MatLab Web Server, Link for ModelSim - это наборы функций, позволяющие сохранять данные в различных видах таким образом, чтобы другие программы могли с ними работать;

• инструменты работы с базами данных: Database Toolbox;

• научные и математические пакеты: Bioinformatics Toolbox, Curve Fitting Toolbox, Fixed-Point Toolbox, Fuzzy Logic Toolbox, Genetic Algorithm and Direct Search Toolbox, OPC Toolbox, Optimization Toolbox, Partial Differential Equation Toolbox, Spline Toolbox, Statistic Toolbox, RF Toolbox - наборы специализированных математических функций, которые позволяют решать широкий спектр научных и инженерных задач, включающих разработку генетических алгоритмов, решения задач в частных производных, целочисленные проблемы, оптимизацию систем и другие;

• инструменты для синтеза и анализ нейронных сетей: Neural Network Toolbox;

• инструменты для построения и анализа нечётких множеств: Fuzzy Logic Toolbox;

• библиотека символьных вычислений: Symbolic Math Toolbox - инструменты для

символьных вычислении с возможностью взаимодействия с символьным процессором программы Maple.

Перечислим совместимые с MatLab программы на уровне языка программирования

• GNU Octave;

• FreeMat;

• Maxima;

• Scilab;

• Таблицы Excel;

• Maple.

В состав MatLab включается библиотека визуального программирования Simulink , что позволяет построить логическую схему системы управления, используя только стандартные блоки. После конструирования схемы можно детально проанализировать ее работу. Сигналы, значения параметров и атрибуты схемы указываются либо непосредственно на самой схеме, либо введены из текстовой консоли. Использование готовых моделей позволяет управлять набором данных и быстро перепрофилировать модели. MatLab работает с различными типами данных: целыми, вещественными, с фиксированной запятой, матрицами, векторами, комплексными, а так же работает с пользовательскими типами данных.

MatLab предоставляет широкие возможности для программирования. Библиотека C Math (компилятор MatLab) является объектной и имеет свыше 300 процедур обработки данных на языке Си. При работе с этип программным продуктом можно использовать как процедуры самой MatLab, так и стандартные процедуры языка C, используя компилятор C Math, можно встраивать любые процедуры MatLab в готовые приложения [1].

Библиотеки MatLab отличаются высокой скоростью численных вычислений. Матрицы являются основой автоматического решения и составлений уравнений состояния динамических объектов и систем. MatLab один из наиболее мощных универсальных интегрированных пакетов компьютерной математики [1].

Компилятор пакета MatLab позволяет из m-функций создавать:

• автономные приложения, выполняются если MatLab не установлен на компьютере;

• С/С++ библиотеки совместного использования, использующиеся без установленного пакета MatLab на системе конечного пользователя.

Компилятор поддерживает большое количество команд и пакетов MatLab, однако, не все. Полный список ограничений можно найти на сайте производителя MatLab. Компиляция кодов в MatLab требует хорошей подготовки программиста и глубокого знания принципов компиляции.

Компилятор MatLab требует наличия хотя бы одного из следующих С/С++ компиляторов:

• Lcc C, является только С-компилятором;

• Borland C++ версии 5.3, 5.4, 5.5, 5.6 [3] ;

• Microsoft Visual C/C++ версии 6.0, 7.0,

7.1.

Компилятор MatLab версии 4, в отличие от своих предшественников, генерирует только код интерфейса (оболочки), т.е. не транслирует m-функции в двоичный или С/С++ код, но при этом создает специальный файл по технологии Component Technology File (CTF), который содержит объединения различных пакетов, необходимых для обеспечения работы m-функции. Попутно компилятор MatLab зашифровывает данный файл уникальным (неповторяющимся) 1024-битным ключом.

MatLab - инженерный пакет высокого уровня, тщательно отлаженный, широко используемый во многих сферах научных исследований, инженерных расчетах и проектировании систем автоматического управления. Основным недостатком этой программы является стоимость лицензии: набор платформы плюс библиотека Simulink обойдется коммерческой организации примерно в $7000. Можно отметить, что часто при использовании этой программы приходится работать с большим количеством окон, с которыми удобнее работать на двух мониторах (рис. 2).

Рис. 2. Рабочий экран пользователя MatLab

Программа имеет хорошую справочную систему, меню help, объем фирменной документации достигает почти 5 тысяч страниц, однако, это делает ее трудно обозримой.

Пакет является проприетарным

(коммерческим) продуктом и не имеет открытого программного кода. Так даже скомпилированные пользовательские программы зашифрованы уникальным (неповторяющимся) 1024-битным ключом, таким образом, эти скомпилированные приложения на языке Си не могут редактироваться;

Система MatLab не имеет развитых средств создания пользовательского интерфейса, какими обладают системы визуального

программирования Microsoft Visual C++, Borland C++Builder и др., поэтому создаваемое системой MatLab автономное приложение не отвечает требованиям профессионального

программирования.

Система MatLab используется в технике, широко используется в науке и образовании. Предоставляет возможности для анализа данных, охватывающие практически все области математики (матрицы и линейная алгебра, многочлены и интерполяция, математическая статистика и анализ, обработка данных, дифференциальные уравнения, разреженные матрицы, целочисленная арифметика). А так же система MatLab применяется для разработки алгоритмов, предоставляя удобные средства для разработки алгоритмов, включающие высокоуровневые с использованием концепций объектно-ориентированного программирования, имеются необходимые средства интегрированной среды разработки, включая отладчик и профайлер. Имеются функции для работы с целыми типами данных, которые облегчают создание алгоритмов для микроконтроллеров и других приложений, где это необходимо.

Этот инженерный пакет предоставляет огромные возможности визуализация данных. В составе пакета имеется достаточное количество функций для построения графиков, в том числе трёхмерных, визуального анализа данных и создания анимированных роликов.

Встроенная среда разработки предоставляет возможность создавать пользовательские графические интерфейсы с различными элементами управления, такими как кнопки, поля ввода и другими. С помощью компонента MatLab-Compiler эти графические интерфейсы могут быть преобразованы в самостоятельные приложения [4].

Программа MatLab является одной из самых обширных программ компьютерной математики, вобравшей опыт, методы и правила математических вычислений, накопленные за тысячи лет развития математики. Прилагаемую к системе обширную документацию вполне можно рассматривать как фундаментальный многотомный электронный справочник по математическому обеспечению [1].

3. ВОЗМОЖНОСТИ ИСПОЛЬЗОВАНИЯ ПРОГРАММЫ OCTAVE

Octave был задуман (в 1988 году) как программное обеспечение для студентов позволяющее изучить принципы химической конструкции реактора Джеймсом Б. Ролингс из Университета Висконсин-Мэдисон и Джоном Г. Экердтом из Университета Техаса. Изначально данный программный продукт разрабатывался как специализированный инструмент для решения проблем химической конструкции реактора. Позже, увидев недостатки такого подхода, авторы решили попытаться создать более гибкий инструмент.

Поскольку студенты больше времени уделяли изучению языка программирования Fortran, а не самим принципам машиностроения для химических реакций, было принято решение

модифицировать среду Octave как интерактивный инженерный пакет. Таким образом, удалось добиться того, что студенты осваивали данный программный продукт в течение нескольких часов, и большее внимание уделяли непосредственно реализации поставленных задач.

Первый альфа-релиз состоялся 4 января 1993 года, а версия 1.0 была выпущена 17 февраля 1994 года. С тех пор, Octave претерпел несколько крупных изменений, на данный момент программа входит в состав Debian GNU / Linux и SuSE Linux дистрибутивов.

Очевидно, что Octave сейчас гораздо больше, чем просто еще один пакет курсов ограниченного использования в пределах высшей школы. Сами авторы о своем проекте говорят следующее: «Хотя наши первоначальные цели были несколько расплывчаты, мы знали, что мы хотели создать нечто, что позволит студентам решать проблемы реалистично, мы создавали продукт для того, чтобы они могли использовать Ос1ауе для многих других вещей, кроме проблем химической конструкции реактора». Сегодня тысячи людей во всем мире используют Октава для преподавания, исследований и коммерческих приложений.

Octave представляет интерактивный командный интерфейс (интерпретатор Octave), реализованный в ОС Windows и Linux, более просто аналог MatLab.

Математический пакет GNU Octave выпускается под лицензией GNU GPL (Открытое лицензионное соглашение для свободной Unix-подобной операционной системы). Приложение может работать с различными операционными системами [5]. Переменные и данные представляются в виде матриц. Синтаксис языка программирования и формат команд аналогичен Scilab, MatLab. Помимо встроенных математических функций существует мощный инструментарий для создания пользовательских функций. У GNU Octave существуют различные графические интерфейсы: Kalculus - MatLab-подобный интерфейс, Xoctave, отдельный плагин для интеграции GNU Octave в распространенную графическую среду NetBeans IDE.

Рис. 3. Интерфейс Octave

Программа KOctave представляет собой более продвинутый графический интерфейс для

системы Octave. При использования программы KOctave интерфейс Octave становится практически таким же, как и у MatLab.

Синтаксис языка программирования и формат команд аналогичен Scilab, MatLab, позволят реализовать алгоритм любой сложности.

Функции Octave позволяют создавать одно-, двух- и трехмерные графики и поверхности. Для построения графиков и поверхностей в Octave используется пакет gnuplot, а также этот пакет может быть использован как самостоятельная программа для построения графиков.

Octave содержит функции для численного и аналитического решения нелинейных уравнений и систем, а также для интегрирования и дифференцирования [7].

Octave имеет мощные и гибкие функции для решения задач оптимизации.

Сложные оптимизационные задачи в Octave решают с помощью пакета расширений Minimization для GNU Octave.

Для решения обыкновенных

дифференциальных уравнений и систем в Octave существует достаточно много функций, в том числе и жёстких.

Множество функций для решения дифференциальных уравнений находится в пакете расширений odepkg. С кратким описанием функций этого пакета на английском языке и примерами можно ознакомиться на странице производителя [6].

Octave имеет специальный набор инструментов для анализа и обработки данных эксперимента, задач идентификации, разработки и тестирования математических алгоритмов.

Пакет инженерных вычислений Octave предоставляет следующие минимальные требования к аппаратуре:

• процессор Pentium III, 4, Xeon, Pentium M; AMD Athlon, Athlon XP, Athlon MP;

• 256 Мбайт оперативной памяти (рекомендуется 5I2 Мбайт);

• 400 Мбайт дискового пространства;

• операционная система Microsoft Windows 2000 (SP3)/XP, Linux;

Программа Octave является свободно распространяемым программным продуктом.

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

ОСже не имеет встроенных блоков или библиотек для визуального программирования и моделирования, таких как Simulink (MatLab) или XCos (SciLab).

Для перевода кода Octave в Си-код в этом программном продукте предусмотрен компилятор Octave Compiler. Однако, имеется высокое несоответствие между языками, что не всегда позволяет найти однозначное соответствие функциям языка Octave и C, C++.

Кроме того, если вы пытаетесь получить большой прирост производительности, то компиляция C-кода скорее всего не даст этого, потому что код, который будет получен после компиляции, использует все виды динамических и огромных вычислительных функций. На сайте

производителя [6] в разделе Поддержка есть оговорка, что наилучшая производительность достигается, если писать программу изначально на языке C, C++.

Сформулируем недостатки Octave для его применеия в системах управления робототехническим устройстовм:

• не имеет библиотек визуального моделирования;

• этот программный продукт предназначен для решения математических задач численно, то есть путем расчета значения в памяти компьютера. Это означает, что она не всегда может дать решение с достаточной точностью;

• компилятор С-кода работает некорректно.

Пакет Octave рекомендуется как инструмент для решения математических задач в курсах «Высшая математика», «Математический анализ», «Линейная алгебра», «Аналитическая геометрия», а также во многих специальных курсах, в которых приходится решать задачи вычислительной математики.

Применяется для разработки и тестирования математических алгоритмов.

Несколько примеров использования этого инженерного пакета. NASA с помощью Octave разрабатывала систему стыковки кораблей. На базе Octave Jaguar Racing разработала систему отображения и анализа данных, передаваемых от болидов Формулы 1, а ученые Шеффилдского университета используют этот математический пакет для разработки программного обеспечения, чтобы распознавать раковые клетки.

Рис. 4. Построение поверхностей в программе Ойауе

4. ПЕРСПЕКТИВЫ ПРИМЕНЕНИЯ MACSYMA (MASSACHUSETTS COMPUTATION SYMBOLIC ALGEBRA)

Программа Macsyma - одна из первых математических программ, оперирующих символьной математикой, то есть предназначенных не только для численных, но и для аналитических расчетов.

Проект был инициирован в июле 1968 года Карлом Энгельманом (Carl Engelman), Вильямом Мартином (William A. Martin) (интерфейс пользователя, отображение выражений, арифметика полиномов) и Джоэлем Мозесом (Joel Moses) (механизм упрощения выражений, неопределённые интегралы: эвристики/алгоритм Риша) в Массачусетском технологическом институте (США). Бил Мартин был руководителем проекта до 1971 года, а Мозес следующие десять лет. Macsyma была написана на языке программирования Maclisp, и являлась, в некоторых случаях, ключевым мотиватором для улучшения этого диалекта Лиспа (LISP, LISt Processing language — «язык обработки списков»; современное написание: Lisp) в области числовых вычислений, эффективной компиляции, и дизайна самого языка. Maclisp работал в основном на компьютерах PDP-6 и PDP-10, а кроме того под операционной системой Multics и на Лисп-машинах. В то время Macsyma была одной из самых больших, если не самой большой программой на лиспе.

Программа занимала некоторое время лидирующую позицию среди универсальных математических программ. Благодаря своим сильным сторонам - линейной алгебре и дифференциальным уравнениям - она не потеряла популярности. Свое второе рождение программа Macsyma получила в 1992 году, когда возникла компания Macsyma Inc., представившая обновленную, удобную, эффективную программу Macsyma и сопутствующую ей программу PDEase2D [8].

Macsyma - развитой аппарат линейной алгебры и дифференциальных уравнений. Система ориентирована на прикладные расчеты и не предназначена для теоретических исследований в области математики [8].

Рис. 5. Интерфейс пользователя в виде рабочей тетради

В связи с этим в программе отсутствуют или сокращены разделы, связанные с теоретическими методами (теория чисел, теория групп, и др.). Числа в математических выражениях по умолчанию предполагаются действительными. Это позволяет получать аналитические решения для многих вычислений, встречающихся в

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

Одно из главных преимуществ Macsyma перед другими универсальными математическими пакетами является то, что пользователь может аналитически и численно решать большое количество различных типов уравнений в частных производных [9].

Программный продукт, как и другие пакеты символьной математики, имеет средства, как процедурного программирования, так и программирования по заданному правилу. Программа имеет открытую архитектуру, так что большинство команд, хранящихся в командных файлах (с расширением .mac) может быть прочитано и изменено пользователем. Пользователь может программировать свои команды, пополняя библиотеку Macsyma.

Математический пакет имеет развитой интерфейс, позволяет открывать несколько рабочих документов, внедрять один документ в другой и вводить гипертекстовые связи, как внутри документа, так и между несколькими документами.

Программа имеет довольно хороший текстовый редактор, позволяющий редактировать параграфы, отдельные слова и отдельные символы, изменять тип шрифта.

Macsyma работает в интерактивном режиме, команды вводятся из командной строки, и тут же выводится результат.

Почти все команды Macsyma в библиотечных файлах загружаются автоматически, что очень удобно, т.к. нет необходимости помнить, какие команды находятся в библиотечных файлах и их имена и загружать эти библиотечные файлы. Имеется удобное окно просмотра (браузер) математических функций.

Программа позволяет строить двух- и трехмерные графики, включая параметрические графики кривых и поверхностей, а также графики векторных полей и анимацию.

Для решения специализированных задач программа имеет специальные пакеты расширений [10]:

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

• геометрический пакет - команды этого пакета позволяют вычислять длины кривых, площади и объемы двух-, трех- и многомерных фигур, а так же более сложные геометрические задачи;

• прикладная математика - включает большое количество команд и дополнительные пакеты комбинаторики, теории вероятностей, математической статистики и статистической обработки данных. Позволяет получать

аналитические решения для многих вычислений, встречающихся в прикладных задачах, (таких как алгебраические преобразования и упрощения, интегрирование, решение дифференциальных уравнений и так далее). Macsyma имеет сопоставимые с MatLab средства для преобразования алгебраических выражений, для решения уравнений, неравенств и систем, вычисления интегралов, сумм и произведений;

• векторное исчисление - набор инструментов, позволяющий вычислять и упрощать выражения, содержащие координаты дву- и трехмерных векторов при помощи независимых от координат векторных операторов (скалярное и векторное произведение, градиент, дивергенция, Лапласиан);

• интегральные преобразования - пакет, содержащий функции только для прямого и обратного преобразования Лапласа и Фурье, что достаточно для большинства прикладных задач;

• обыкновенные дифференциальные уравнения - набор функций для решения аналитически линейных и нелинейных дифференциальных уравнений первого и второго порядка и системы линейных дифференциальных уравнений первого порядка. Имеются приближенные методы (разложение в ряд Тейлора и три метода возмущений для решения большого класса обыкновенных дифференциальных уравнений). Численные методы включают классические алгоритмы Рунге-Кутта а также алгоритмы решения жестких дифференциальных уравнений. Программа не имеет средств для аналитического решения дифференциальных уравнений выше второго порядка;

• Интегральные уравнения - позволяет решать интегральные уравнения, программа использует около десятка методов для интегральных уравнений первого и второго рода, с фиксированными и переменными пределами интегрирования.

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

• Numkit - дополнительный пакет для Macsyma 2.2 существенно увеличивает скорость выполнения операций с действительными и комплексными числами с плавающей запятой, используется для вычислений с матрицами, полиномами, при обработке данных и при решении систем линейных уравнений. Этот пакет распространяется за дополнительную плату и функционирует только на 32-разрядных платформах (Windows 95 или NT);

• пакет PDEase2D 3.0 - предназначен для численного решения двумерных задач, выраженных системой дифференциальных уравнений в частных производных. Для решения применяется метод конечных элементов. Программа позволяет решать систему до 32

связанных уравнений, не считая граничных условий.

Программа Macsyma имеет возможность использовать для работы данные программ:

• MatLab;

• Mathematic;

• Maple;

Так как этот программный продукт разрабатывался как своего рода математический калькулятор, он не имеет библиотек для визуального программирования процессов.

Macsyma 2.2 имеет встроенный компилятор -все программы могут быть компилированы в двоичный код, включая подпрограммы по заданному правилу.

Генерация FORTRAN и C: инженерный пакет генерирует коды FORTRAN и C, включая управляющие операторы (циклы итерации, if-then ветвления), определения subroutine и function, описания типов переменных, включая матрицы, сегментацию выражений и возможность задания оптимизации общих частей выражений. Возможно одновременное использования двух языков FORTRAN (или C) с языком Macsyma в одном файле [8].

П """""" I

Рис. 6. Интерфейс программы Macsyma

Сформулируем недостатки проекта Macsyma: по своему назначению программа является «умным калькулятором» и не может быть использована для анализа процессов, а так же нет библиотек для визуального моделирования.

Инженерный математический программный продукт Macsyma может быть применим для решения различных задач в учебном процессе средней и высшей школы, а так же для ведения расчетов и визуализации данных в научных работах.

Пакет предъявляет следующие минимальные требования к системе:

• Macsyma 2.2 работает на платформе Intel под управлением Windows или Windows for Workgroups 3.1 или 3.11, Windows 95 или Windows NT 3.51 или 4.0.

• для платформы UNIX разработана UNIX-Macsyma.

• 16-битная версия для 16-бтиной Windows 3.1 и 32-битная версия для 32-битной Windows 95 / NT.

• Оперативная память: для Windows 3.1 -минимум 8 Мбайт основной памяти и 24 Мбайта виртуальной памяти; для Windows 95 минимум 12 Мбайт основной памяти и 16 Мбайт виртуальной памяти.

Стоимость лицензия версии Pro с сопутствующим пакетом NumKit составляет $349, пакет PDEase2D 3.0 стоит $ 999 долл., Macsyma + PDEase2D 3.0 - $ 1319.

5. ПЕРСПЕКТИВЫ ИСПОЛЬЗОВАНИЯ ПРОГРАММЫ MATHCAD

Mathcad был задуман и первоначально написан Алленом Раздовом из Массачусетского технологического института (MIT), являющегося соучредителем компании Mathsoft, которая с 2006 года является частью корпорации PTC (Parametric Technology Corporation) [11].

Mathcad имеет простой и интуитивный для использования интерфейс пользователя. Для ввода формул и данных можно использовать как клавиатуру, так и специальные панели инструментов.

Некоторые из математических возможностей Mathcad (версии до 13.1 включительно) основаны на подмножестве системы компьютерной алгебры Maple (MKM, Maple Kernel Mathsoft). Начиная с 14 версии - использует символьное ядро MuPAD.

Mathcad - программное редство, среда для выполнения на компьютере разнообразных математических и технических расчетов, снабженная простым в освоении и в работе графическим интерфейсом, которая

предоставляет пользователю инструменты для работы с формулами, числами, графиками и текстами. В среде Mathcad доступны около сотни операторов и логических функций, предназначенных для численного и символьного решения математических задач различной сложности, что позволяет выполнять численные и символьные вычисления, производить операции с скалярными величинами, векторами и матрицами, автоматически переводить одни единицы измерения в другие [12].

Инженерный пакет Mathcad имеет следующие возможности:

• решение дифференциальных уравнений, в том числе и численными методами;

• построение двумерных и трёхмерных графиков функций (в разных системах координат, контурных, векторных и т. д.);

• использование греческого алфавита как в уравнениях, так и в тексте;

• выполнение вычислений в символьном режиме;

• выполнение операций с векторами и матрицами;

• символьное решение систем уравнений;

• аппроксимация кривых;

• выполнение подпрограмм;

• поиск корней многочленов и функций;

• проведение статистических расчётов и работа с распределением вероятностей;

• поиск собственных чисел и векторов;

• вычисления с единицами измерения;

• интеграция с САПР системами, использование результатов вычислений в качестве управляющих параметров;

С помощью Mathcad инженеры могут документировать все вычисления в процессе их проведения.

Из достоинств программы можно выделить следующие:

• автоматизация процесса - возможно одновременно осуществлять процесс вычислений и их документирование; изменения в вычислениях отображается в результатах («живые» расчеты);

• удобный интерфейс: уравнения, тексты, графики, исходные и промежуточные данные размещаются на одном рабочем листе;

• интеграция численных и аналитических (символьных) математических инструментов позволяет эффективно вести как обоснование проекта, так и его расчет;

• поддержка интеллектуального автоматического управления единицами физических величин.

Для решения специализированных задач возможности программы расширяются следующими пакетами, имеющие

дополнительные функции и константы:

• пакет для анализа данных (англ. Data Analysis Extension Pack) - содержит инструменты для анализа данных;

• пакет для обработки сигналов (англ. Signal Processing Extension Pack) -содержит около 70 встроенных функций для аналоговой и цифровой обработки сигналов,

для анализа и представления результатов в графическом виде;

• пакет для обработки изображений (Image Processing Extension Pack) - включает инструменты для обработки изображений, анализа и визуализации;

• пакет для работы с функциями волнового преобразования (англ. Wavelets Extension Pack) -содержит набор дополнительных вейвлет-функций, которые можно добавить в библиотеку встроенных функций базового модуля Mathcad Profess^m!, а также содержит обширную диалоговую документацию по основным принципам вейвлетов, приложения, примеры и таблицы ссылок;

• библиотека строительства (англ. Civil Engineering Library) - включает справочник формул Роарка для расчета напряжений и деформаций, настраиваемые шаблоны для строительного проектирования и примеры тепловых расчётов;

• электротехническая библиотека (англ. Electrical Engineering Library) - содержит стандартные вычислительные процедуры, формулы и справочные таблицы, используемые в электротехнике. Текстовые пояснения и примеры облегчают работу с библиотекой — каждый заголовок имеет гиперссылку на оглавление и указатель, и его можно найти в системе поиска;

• библиотека машиностроения (англ. Mechanical Engineering Library) - включает справочник формул Роарка для расчета напряжений и деформаций, содержащий пять тысяч формул, вычислительные процедуры из справочника McGraw-Hil;

• библиотека электротехнического проектирования Mathcad - содержит стандартные расчетные процедуры, формулы и справочные таблицы, используемые инженерами-электриками.

Рис. 7. Интерфейс программы MathCad

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

• Microsoft Excel (и другие приложения MS Office);

• MatLab;

• Bentley Microstation;

• ANSYS Workbench;

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

• результаты вычислений сохраняются в рабочих листах, которые могут использоваться повторно и преобразуются в целый ряд форматов, включая MS Word, PDF, HTML и XML.

Так как этот программный продукт разрабатывался как своего рода математический калькулятор, он не имеет библиотек для визуального программирования процессов.

MathCad имеет возможность создания исполняемых файлов с расширением *.dll, а так же компилировать программы в С-код, с помощью встроенного компилятора можно создавать пользовательские функции и добавлять их в палитру стандартных операторов.

При работе с программой выявлены следующие недостатки:

• при работе с графиками: невозможность построения поверхностей, заданных

параметрически, с непрямоугольной областью определения двух параметров; создание и форматирование графиков только через меню, что ограничивает возможности программного управления параметрами графики;

• нет библиотек для визуального моделирования;

• реализованы некоторые особые нестандартные функции клавиатуры (например, СЫ-Р порождает символ "пи");

• трудности при нумерации осей X и У на трехмерных графиках

• длинные уравнения автоматически не переносятся на краях страницы.

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

6. ПЕРСПЕКТИВЫ ПРОГРАММЫ SCILAB

ИСПОЛЬЗОВАНИЯ

До недавнего времени он разрабатывался исследовательскими институтами INRIA и ENPC (оба находятся во Франции), а с мая 2003 г. поддержку продукта взял на себя специально созданный для этой цели Scilab Consortium [13].

С 1994 года распространяется вместе с исходным кодом через Интернет. В 2003 году для поддержки Scilab был создан консорциум Scilab Consortium. Сейчас в него входят 25 участников, в том числе Mandriva, INRIA и ENPC (Франция).

Хотя Scilab является бесплатным продуктом c открытым исходным кодом, его вычислительные возможности, обеспеченные приблизительно тысячью встроенных функций, вполне соответствуют системам компьютерной математики (СКМ) профессионального уровня.

Является некоммерческим аналогом инженерного пакета MatLab. Имеет схожий с MatLab интерфейс и принципы взаимодействия с пользователем через командную строку до синтаксиса языка. Таким образом, Scilab можно рассматривать как облегченный вариант MatLab, который сохраняет основные возможности [13].

Scilab является типичным командным интерпретатором и структурно состоит из интерпретирующей системы, принимающей команды пользователя и возвращающей результаты, и двух библиотек: собственных функций и дополнительных - на языках С и Fortran.

Пакет поддерживает основные элементарные и множество специальных функций, применяемых в математике, в том числе - для различного вида сглаживаний и аппроксимаций, эллиптические интегралы, функции Бесселя. Scilab содержит также мощный набор средств для работы с полиномами - как обычными, так и матричными. Например, имеются операторы для создания полинома с заданными корнями или

коэффициентами, вычисления корней полинома (до сотой степени), деления двух полиномов, нахождения наибольшего общего делителя и наименьшего общего кратного нескольких полиномов и выполнения десятков других важных операций над полиномами.

Особенностью пакета является то, что он предназначен почти исключительно для реализации численных методов и по умолчанию оперирует с любыми значениями как с числами с плавающей точкой.

Графика Scilab выполнена на вполне профессиональном уровне. Основой ее реализации является концепция устройства, в которое выводится поток, создаваемый графическими функциями, - это может быть экран или внешние файлы в форматах PostScript, Xfig, GIF или PMM [13].

Рис. 8. Построение графиков в программе

SciLab

Scilab строит одномерные, дву- и трехмерные поверхности, а так же предусмотрена широкая настройка свойств.

Scilab содержит полноценную справочную систему, в дополнение к которой имеется полный справочник по функциям в HTML-формате (на английском и французском языке). А так же в поставку входит коллекция примеров, состоящая из двух частей: первая демонстрирует способы использования основных функций пакета и доступна через меню БетоБ, вторая иллюстрирует различные программно-интерфейсные возможности (файлы находятся в отдельной папке).

Хотя Scilab является типичным интерпретатором, его стандартные средства включают некоторые интерактивные

возможности, делающие процесс общения с системой более простым и наглядным. Так, есть функции для ввода матриц вручную и выполнения файловых операций, создания простейших диалоговых окон и даже изменения меню основного командного окна [13].

SciLab обеспечивает широкий набор дополнительных инструментов. Приведем в качестве примера некоторые из них.

• RTAI-Lab - набор инструментов, позволяющий моделировать системы в режиме

реального времени; требует модифицированного ядра операционной системы Linux, проект RTAI;

• Lapack, LINPACK, О DEPACK, Atlas -библиотеки для численных расчетов;

• the Robotics Toolbox for Scilab/Scicos -набор инструментов, содержащий множество полезных функций в области робототехники для изучения таких областях, как кинематики, динамики и траектории поколения, предназначен для программирования и моделирования роботов манипуляторов, а также для анализа результатов, полученных в экспериментах с реальными роботами;

• Mavsim Scicoslab Toolbox - средства моделирования для управления, навигации и разработки алгоритмов для микро летательных аппаратов;

• Matlab-like plotting library - набор инструментов для построения графиков как в

MatLab;

• .NET component and COM server -инструменты для NET компонента и COM сервера;

• Assert - Коллекция корректировочных функций для поддержки численных модульных тестов;

• Mathieu functions - Инструменты для работы с функциями Матье;

• Documentation: Floating Point Numbers -инструменты для вычислений с плавающей запятой;

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

Это далеко не весь список инструментов, который пополняется не только от официальных разработчиков, но и от обычных пользователей.

Инженерный пакет SciLab работает с данными, полученными из программ:

• Maple;

• MatLab;

• LabVIEW;

В состав Scilab входит модуль Scicos -система компьютерного моделирования, аналогичная Simulink - инструмент для редактирования блочных диаграмм и симуляции. Рассмотрим возможности

программирования,предоставляемые пакетом SciLab

Инженерный пакет позволяет создавать пользовательские объекты, функции, типы данных. Для этих целей Scilab располагает мощным встроенным языком, обладающим широким набором конструкций для организаций циклов, условных переходов, операций ввода/вывода. Естественно, что с помощью этого языка можно получить доступ ко всем внутренним возможностям приложения.

В данной СКМ реализована исключительно гибкая концепция процедурного программирования - процедурам (называемым в Scilab

функциями) разрешается возвращать целые массивы результатов произвольного типа, а список аргументов даже не обязан быть фиксированным. Процедуры можно объединить в библиотеки и сохраняить в компилированном бинарном формате (расширение *.bin) - именно так хранятся стандартные функции этой СКМ.

Scilab имеет полноценные средства отладки, которые дают возможность устанавливать контрольные точки, получать информацию о переменных по ходу выполнения процедуры [13].

Scilab поддерживает взаимодействие с кодом на языках С и Fortran.

Есть возможность компиляция программ в двоичный код, компиляции в Си-код, создание исполняемых файлов.

Рис. 9. Визуализация данных в 8аЬаЪ

Обобщим недостатки, присущие пакету 8аЬаЪ

• Интерфейс не очень удобен для пользователя;

• слабая поддержка аналитических операций и использование ограниченной разрядной сетки при вычислениях;

• количество символьно-аналитических операции ограничено;

• отладчик Scilab не интерактивен -контрольные точки необходимо разместить с помощью специальных операторов в теле программы, а управление процессом происходит через командную строку;

• если диаграмма, созданная пользователем в приложении SciCоs, имеет логические ошибки, при запуске процессов программа изредка может зависнуть или закрыться, не сохранив изменения.

Таким образом, можно сделать вывод,что пакет 8с1ЬаЪ позволяет создавать недорогие, но вполне конкурентоспособных решения в области обработки данных, численной реализации алгоритмов и визуализации. Прекрасно подходит для ведения научных расчетов и анализа

полученных данных. Огромное количество дополнительных наборов инструментов, созданных пользователями, расширяет, как сферы применения (физика, энергетика, химия), так возможности программы (узкоспециализированные функции, алгоритмы, и т.д.). 8с1соб используется для обработки сигналов систем автоматического управления, систем массового обслуживания, а также для изучения физических и биологических систем.

7. ПЕРСПЕКТИВЫ ПРОГРАММЫ LABVIEW

ИСПОЛЬЗОВАНИЯ

Сформулируем требования к системе, которые необходимо обеспечить для комфортной работы в LabVIEW.

Минимальные требования

• Процессор Pentium Ill/Celeron 866 МГц или аналогичный AMD

• Оперативная память 256 MB

• Монитор с разрешением: 1024 x 768

• ОС: Windows 7/Vista/XP/Windows Server 2003 R2/Windows Server 2008 R2

• Место на жестком диске 1.6 GB (включая драйверы)

Рекомендуемые:

• Процессор Pentium 4 или аналогичный

AMD

• Оперативная память 1 Гб

• Монитор с разрешением: 1024 x 768

• Операционная система Windows 7/Vista/XP/Windows Server 2003 R2 / Windows Server 2008 R2

• Место на диске: 1.6 GB (включая драйверы)

LabVIEW это коммерческий продукт. На официальном сайте разработчика стоимость лицензии для коммерческих организаций LabVIEW Full Development System составляет $4000, стоимость лицензии для университета составляет порядка $ 15 000.

Программа LabVIEW появилась на рынке математического программного обеспечения в 1986 г. Разработчиком является известная во всем мире американская компания National Instruments. Пакет быстро завоевал популярность среди инженеров и ученых, которые использовали этот продукт на разных стадиях проектирования, создания комплексных приложений в задачах измерения, тестирования, управления, автоматизации научного эксперимента и образования.

LabVIEW (Laboratory Virtual Instrument Engineering Workbench) - это среда графического программирования, выпущенная для технических специалистов, инженеров, преподавателей и ученых, позволяет разрабатывать прикладное программное обеспечение для организации взаимодействия с измерительной и управляющей аппаратурой, сбора, обработки и отображения информации и результатов расчетов, а также моделирования как отдельных объектов, так и

автоматизированных систем в целом.

В LabVIEW программы создаются в виде графических диаграмм, подобных обычным блок-схемам. Иногда можно создать приложение, вообще не прикасаясь к клавиатуре компьютера.

Система программирования LabVIEW является открытой и имеет встроенную поддержку применяемых в настоящее время программных интерфейсов, таких как Win32 DLL, COM, .NET, DDE, сетевых протоколов на базе IP, DataSоcket и др. В состав LabVIEW входят библиотеки управления различными

аппаратными средствами и интерфейсами, такими как PCI, CompactPCI/PXI, VME, VXI, GPIB (КОП), PLC, VISA, системами технического зрения и др. Программные продукты, созданные с использованием LabVIEW, могут быть дополнены фрагментами, разработанными на C/C++, Pascal, Basic, FORTRAN. А так же можно использовать модули, разработанные в LabVIEW, в проектах, создаваемых в других системах

программирования. Таким образом, LabVIEW позволяет разрабатывать приложения,

взаимодействующие со многими видами аппаратных средств, поддерживаемых операционной системой компьютера.

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

Несомненным достоинством LabVIEW является то, что разработчику и пользователю доступны функционально идентичные системы программирования для различных операционных систем, таких как Microsoft Windows 95/98/NT/2000/XP, Linux, MacOS. Например, программа разработанная под Windows будет почти без изменений работать на компьютере с Linux.

LabVIEW позволяет работать с широким спектром оборудования различных

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

• набор инструментов для подключения внешнего оборудования по интерфейсам и протоколам RS-232, GPIB-488, TCP/IP;

• библиотеки удалённого управления экспериментом;

• набор инструментов управления роботами и системами машинного зрения;

• набор инструментов для генерации сигналов, цифровой обработки ;

• набор инструментов различных математических методов обработки данных;

• набор инструментов визуализации данных, обработки (включая 3D-модели);

• моделирования сложных систем;

• базы данных для хранения информации и инструменты для генерации отчетов;

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

• набор инструментов для взаимодействия с приложениями в рамках концепции COM/DCOM/OLE [I4].

Для выполнения на тех компьютерах, на которых не установлена полная версия программы существует специальный компонент LabVIEW Application Builder. Для работы таких программ требуется бесплатно распространяемый компонент «LabVIEW Runtime Engine» и, при необходимости, драйверы используемых внешних устройств.

Пакет может работать с программами и данными, созданными в программах:

• MatLab;

• SciCos;

• MathCad.

Программа LabVEIW является средой графического программирования, т.е. работа с пакетом сводится к созданию и настройке блок-диаграмм.

Приложения и программы, разработанные при помощи данного программного продукта, могут быть скомпилированы в бинарный исполняемый код.

Инженерный пакет поддерживает импорт, редактирование сценариев *.m файлов, традиционно используемые в области математического моделирования и анализа, обработки сигналов и сложных математических вычислений с помощью модуля LabVIEW MathScript RT. Позволяет использовать их совместно с кодом на языке G и создавать самостоятельные приложения для настольных ПК или оборудования, работающего в режиме реального времени.

Отметим недостатки системы LabVIEW.

Программа LabVIEW является хорошо проработанной системой визуального программирования, однако, можно отметить следующие недостатки:

• сложность в освоении. Разработчики программы для получения базовых знаний предлагают пройти специальный обучающий курс;

• стоимость лицензии для учебного заведения c дополнительными модулями составляет около S I5000.

Пакет первоначально был разработан для использования в исследовательских

лабораториях, и на данный момент является наиболее популярным программным пакетом для проведения исследований в лабораториях фундаментальной науки (например, Lawrence Livermore, Argonne, Batelle, Sandia, Jet Propulsion Laboratory, White Sands и Oak Ridge в США, CERN в Европе), а так же в отраслевых промышленных лабораториях.

LabVIEW начинают использовать в сфере образования, в университетских лабораторных практикумах - особенно по предметам электротехники, механики и физики.

Пакет LabVIEW получил широкое распространение: применяется на борту

космических аппаратов, на подводных лодках, от буровых установок в Северном море до промышленных предприятий в Новой Зеландии. В связи с ростом возможностей Internet сфера применения LabVIEW стала расширяться не только в географическом, но и в виртуальном пространстве (cyberspace). Все большее число разработчиков создает виртуальные приборы, допускающие удаленное управление и наблюдение через Internet. Измерительные системы на основе виртуальных приборов отличаются своей многофункциональностью, гибкостью и низкой стоимостью как с точки зрения оборудования, так и с точки зрения затрат времени на разработку.

В настоящее время LabVIEW широко применяется в следующих сферах:

• автомобильная промышленность;

• телекоммуникации;

• аэрокосмическая промышленность;

• полупроводниковая промышленность;

• разработка и производство электроники;

Сравнение характеристик рассмотренных

• управление технологическими процессам;

• биомедицина.

Благодаря своей гибкости и масштабируемости, LabVIEW может

использоваться на всех этапах технологического процесса: от моделирования и разработки прототипов продуктов до широкомасштабных производственных испытаний.

8. ВЫБОР ПРОГРАММЫ ДЛЯ РАЗРАБОТКИ БЛОКА УПРАВЛЕНИЯ

На основе проведенного обзора математического ПО составлена сравнительная таблица характеристик рассмотренных программ.

Для решения поставленных задач был выбран пакет SciLab. По данным таблицы 1. видно, что этот продукт является наиболее подходящим по системным требованиям и возможностям. Пакет SciLab имеет открытый исходный код, выпускается для операционных систем Windows, Linix, Mac OS.

Таблица 1.

Наименование МагЬаЪ Octave Macsyma МагкСаЛ SciLab ЬаЪУ1БМг

Удовлетворяет ли системным требованиям одноплатного компьютера превышает требуемое объем памяти на диске да да превышает требуемое объем памяти на диске да Превышает требования к процессору, рекомендуемой ОЗУ, объем памяти на диске

Стоимость лицензии свыше $7000 включая ЗшиНпк бесплатное ПО от $1 000 от $ 800 Бесплатное ПО от $4 000

Наличие библиотек визуального моделирования да нет нет нет да да

Открытость программного кода нет да нет нет да нет

Возможность создавать исполняемые файлы да да да нет да да

Программа SciLab выпускается под лицензией GPL (англ. General Public License - Открытое лицензионное соглашение).

Преимуществом этой программы является бесплатность, невысокие системные требования. По работе с этой программой имеется достаточное количество литературы, в сети Интернет можно найти большое количество форумов и сообществ пользователей.

Можно сделать вывод, что ПО SciLab является

более подходящим для реализации поставленных в рамках данной работы задач.

Пакет SciLab использовался для создания системы управления в режиме реального времени вакуумным переключателем типа ЕХ-ВВ 6-20/1000 У3-1 в выпускной работе «Имитационное моделирования системы управления с использованием пакета SciLab». Система управления разработана с использованием библиотеки визуального моделирования SciCos.

Модель была скомпилирована в бинарный исполняемый файл, который использовался для управления включением и отключением вакуумного переключателя. Тестирование системы управления на реальном объекте прошло успешно: система обеспечивала требуемые временные характеристики переключения.

ЗАКЛЮЧЕНИЕ

Результаты, полученные в рамках данной работы, показывают, что современные свободные математические и инженерные пакеты могут быть успешно использованы для создания систем управления в робототехнике. Наиболее перспективным является применение свободно распространяемого открытого пакета SciLab, который позволяет проводить как моделирование, так и выгружать СИ код модели, открытый к модификации и компиляции. Исходный код хорошо анализируется, обладает интуитивно понятной структурой и легко модифицируется. В данной работе продемонстрирован пример создания аппаратно-программного комплекса управления автономным гусеничным шасси с использованием одноплатного компьютера и встраиваемой операционной системы Линукс. Полученные результаты позволяют рекомендовать данный метод создания систем управления к использованию при синтезе методов и проектировании сложных систем автоматики и робототехники.

Работа выполнена по заданию Министерства образования и науки РФ, проекты № 7.559.2011 (Темплан) и ГК № П761 от 20.05.2010.

Авторы благодарят за постановку задачи и общее руководство работами д.т.н. В.А. Жмудя.

ЛИТЕРАТУРА

[1] Компьютер-пресс: науч. электрон. журн. URL: http://www.compress.ru/Archive/CP/2006/7/18/#MatLab

[2] Официальный сайт разработчика MatLab. URL: www.mathworks.com

[3] Статьи по автоматическому трейдингу и оптимизации стратегий: электрон. журн. URL: http://www.mql5.com/ru/articles/44

[4] Тюменский государственный университет Информационная служба: URL: http://infs.tsogu.ru/support/download/matlab

[5] Свободные математические программы: URL: http://openmath.ucoz.ru/

[6] Официальный сайт разработчика Octave: URL: http://octave.sourceforge.net/odepkg/overview.html .

[7] The 8th International conference of developers and usersof free / open source software. URL: http://summer.lvee.org/en/reports/LVEE 2011 23

[8] Экспонента.ру: науч. электрон. журн. URL: http://www.exponenta.ru/soft/Others/macsvma/macsvma.asp

[9] Компьютер-пресс: науч. электрон. журн. http://www.compress.ru/article.aspx?id=12530&iid=474

[10] Мир ПК [ Электронный ресурс]: URL: http://www.osp.ru/pcworld/1999/04/160253/

[11] Экспонента.ру: науч. журн. -http://www.exponenta.ru/soft/Mathcad/Mathcad.asp

[12]Средства автоматизации: науч. электрон. журн. -http://mathlab2011.h12.ru/index.php?p=2

[13] IT для бизнеса: URL: http://ko.com.ua/scilab sereznava matematika dostupnava vsem 1 6168

[14] Официальный сайт разработчика LabVIEW: URL: http://www.labview.ru/

Колкер Алексей Борисович - доцент кафедры Автоматики НГТУ, к.т.н., e-mail: fierv77@vandex.ru Ливенец Дмитрий Александрович окончил кафедру Автоматики НГТУ, e-mail: dmitrv.livenets@gmail.com Кошелева Алёна Игоревна - магистр кафедру Автоматики НГТУ,

e-mail: kosheleva. alvona@mail. ru

магистр,

окончила

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