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

Программные продукты и системы /Software & Systems

№ 4 (108), 2014

УДК 004.942 Дата подачи статьи: 04.07.2014

DOI: 10.15827/0236-235X.108.010-015

ВИЗУАЛЬНЫЙ РЕДАКТОР И МОДУЛЬ РАСЧЕТА ФУНКЦИОНАЛЬНЫХ СХЕМ ДЛЯ ИМИТАЦИОННО-ТРЕНАЖЕРНЫХ КОМПЛЕКСОВ

М.В. Михайлюк, д.ф.-м.н., профессор, зав. отделом, mX@niisi.ras.ru;

М.А. Торгашев, к.ф.-м.н., зав. сектором, mtorg@mail.ru

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

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

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

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

В области моделирования систем управления на основе функциональных схем существует большое количество разработок, например программные пакеты Simulink, Scicos, Dymola,

LabView. Рассмотрим их возможности и особенности.

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

Аналогом программного продукта Simulink является Scicos [2] - инструмент для редактирования блочных диаграмм и симуляции, входящий в пакет Scilab. Этот программный продукт предоставляет схожую с Simulink функциональность, но является при этом некоммерческим opensource-проектом.

Еще один аналог Simulink - программный пакет Dymote [3]. Это коммерческий продукт компании Dassault Systems, предназначенный для мо-

10

Программные продукты и системы /Software & Systems

№ 4 (108), 2014

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

Коммерческим продуктом для моделирования систем управления на основе функциональных схем является и пакет LabView [4] компании National Instruments, он обычно используется для управления оборудованием и АСУ в промышленности. Пакет предоставляет широкий набор блоков для обмена данных с промышленным оборудованием и различными контроллерами. Используемые форматы данных закрыты, для использования построенной системы управления в своем приложении генерируется исполняемый код, который требует наличия runtime-библиотек. Существуют и другие похожие продукты, предназначенные для узкого применения.

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

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

Создание функциональных схем

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

рое количество т входов, некоторое число п выходов, вектор q внутренних состояний и реализует некоторый вектор функций (уь ..., y„)=(Ji(xb ..., хт, q, t), ...,fn(xi, ..., xm, q, t)). В зависимости от типа блока значения х„ qt и f могут быть действительными числами, целыми числами из некоторого диапазона или булевскими значениями из множества {0, 1}. Вектор внутренних состояний q предназначен для запоминания информации из предыдущих шагов расчета схемы (накопленной суммы, предыдущего значения величины для вычисления дифференциала и т.д.). Многие функции блоков зависят также от времени t (дифференциатор, интегратор и т.д.). Существует возможность добавления новых блоков, необходимых для реализации функциональной схемы.

Визуальный редактор позволяет выбрать нужный блок из соответствующей библиотеки и переместить его с помощью мыши в нужное место поля редактора. После этого можно задать параметры блока (число входов блока «Сумматор», начальное значение и т.д.) и с помощью мыши соединить линиями входы и выходы блока соответственно с выходами и входами других блоков (при этом возможно образование циклов). Оставшиеся неприсоединенными входы (выходы) блоков будут являться входами (выходами) схемы. Входы схемы в дальнейшем можно будет присоединить к элементам управления (виртуального или реального пульта управления), а выходы - к исполнительным элементам (к электрическим двигателям, мембранам, электромагнитам и т.д.). В процессе проектирования можно заменить созданную функциональную схему пиктограммой макроблока и использовать его в редакторе как составную часть более сложной схемы. Сами блоки, а также их входы и выходы в редакторе имеют всплывающие подсказки, что позволяет быстро получить краткую информацию о них. Все это в целом дает возможность быстро разрабатывать, анализировать и выявлять ошибки функционирования структурной схемы системы управления. На рисунке 1 показан пример функциональной схемы автоматизированной системы управления мобильным роботом.

Любая структурная схема реализует некоторый набор функций, зависящий от всех ее входов. Вычисления в схеме производятся по сигналу от системы управления, каждое такое вычисление будем называть тактом. Во многих случаях результаты вычислений некоторых блоков одного такта могут использоваться в этих или других блоках для вычислений в последующих тактах. Тогда они сохраняются в памяти блоков в виде векторов q их внутренних состояний. Например, блок «буферный регистр» имеет два входа - W и D и хранит в памяти последнее значение входа D. Если в очередном такте вычислений на вход W поступает ло-

11

Программные продукты и системы /Software & Systems

№ 4 (108), 2014

Рис. 1. Графический редактор структурной схемы Fig. 1. A structure scheme graphic editor

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

Алгоритмы расчетов

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

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

Алгоритм расчета схемы.

1. Инкрементируется номер такта расчета схемы: CalcID++.

2. Цикл по i от 1 до количества элементов списка BO.

2.1. Вызов функции расчета для i-го блока из

списка BO : CalcBlock(BOi, CalcID).

3. Конец цикла.

Алгоритм процедуры расчета блока Calc-Block(B, CalcID).

1. Если входной номер такта вычисления равен сохраненному, значит, на данном шаге блок уже обрабатывался (это возможно при организации обратной связи): Если CalcID = = ID, то выход.

2. Сохраняем номер текущего такта для блока:

ID = CalcID.

3. Цикл по i от 1 до m (количества входов блока B).

3.1. Если i-й вход не имеет связи, переходим к следующей итерации цикла.

3.2. Рекурсивный вызов функции расчета блока O, связанного с i-м входом: CalcBlock(O, CalcID).

4. Конец цикла.

5. Расчет векторной функции f зависящей от типа блока.

6. Конец процедуры.

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

12

Программные продукты и системы /Software & Systems

№ 4 (108), 2014

Номер

4 3 ◄---------------------------- последовательности

0

Рис. 2. Порядок расчета блоков Fig. 2. A procedure for blocks computing

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

Примеры использования функциональных схем

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

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

Первый способ управления АРТС состоит в использовании виртуальных пультов [5, 6]. Виртуальный пульт представляет собой схематическое изображение робота, на котором задано расположение осей вращения его двигателей (рис. 3). Пользователь с помощью клика на соответствующих элементах может выбрать один или несколько шарниров, после чего с помощью перемещения виртуального джойстика управлять движением робота в данных суставах. Функциональная схема для реализации ручного режима организует вычисление и передачу управляющих воздействий на соответствующие двигатели.

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

Рис. 3. Виртуальный пульт управления роботом Fig. 3. Virtual control panel for a robot

13

Программные продукты и системы /Software & Systems

№ 4 (108), 2014

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

Значения текущего угла поворота двигателя передаются в систему управления из подсистемы моделирования динамики. Новое значение угла поворота, которого должен достичь двигатель, поступает от экзоскелета через отдельный подключаемый модуль. Значение рассогласования вычисляется с помощью блоков умножения на константу (-1) и сумматора. Далее рассогласование подается на входы блоков дифференциатора и интегратора. Значения с выходов этих блоков умножаются на коэффициенты дифференциального Кд и интегрального Ки регулирования соответственно и суммируются со значением пропорционального регулирования, получаемым умножением величины рассогласования на коэффициент пропорционального регулирования Кп. Результирующее значение Цдвиг интерпретируется как на-

пряжение и передается в систему моделирования динамики на вход двигателя.

Представленная схема аналогична для всех двигателей антропоморфного робота; значения коэффициентов пропорционального Кп, дифференциального Кд и интегрального Ки регулирования либо задаются исходя из параметров реальных регуляторов, если они доступны, либо подбираются экспериментально. Построенная функциональная схема была успешно апробирована для реализации копирующего режима управления антропоморфным роботом SAR-401 в Центре подготовки космонавтов им. Ю.А. Гагарина [7, 8].

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

Система была успешно апробирована для построения имитационно-тренажерного комплекса подготовки космонавтов [9].

14

Программные продукты и системы /Software & Systems

№ 4 (108), 2014

Предложенная система может быть успешно использована для моделирования систем ручного и автоматического управления сложными динамическими системами, в том числе робототехническими, для построения систем управления тренажерных и обучающих систем, а также для моделирования АСУ технологическими процессами. Преимуществами системы являются простота ее использования, нетребовательность к ресурсам и расширяемость.

Литература

1. Simulink. URL: http://matlab.ru/products/simulink (дата обращения: 27.05.2014).

2. Scicos: Block diagram modeler/simulator. URL:

http://www.scicos.org (дата обращения: 27.05.2014).

3. CATIA Systems Engineering - Dymola. URL: http://www.3ds.com/products-services/catia/capabilities/systems-engineering/modelica-systems-simulation/dymola (дата обращения: 27.05.2014).

4. LabVIEW System Design Software. URL: http://www.ni. com/labview/ (дата обращения: 27.05.2014).

5. Михайлюк М.В., Хураськин И.А. Технология взаимодействия человека с виртуальными пультами управления // Информационно-измерительные и управляющие системы. 2009. № 6. С. 77-82.

6. Михайлюк М.В. Двумерные виртуальные пульты управления в тренажерных комплексах // Программная инженерия. 2014. № 5. С. 20-25.

7. Михайлюк М.В., Сохин И.Г., Торгашев М.А., Бурдин Б.В. Исследование возможности использования андроидов в космосе с помощью технологий виртуальной реальности // Пилотируемые полеты в космос: матер. 10-й Междунар. науч.-практич. конф. Звездный городок, 2013. С. 29-31.

8. Бурдин Б.В., Михайлюк М.В., Сохин И.Г., Торгашев М.А. Использование виртуальных 3D-моделей для экспериментальной отработки бортовых полетных операций, выполняемых с помощью антропоморфных роботов // Робототехника и техническая кибернетика. 2013. № 1. С. 42-46.

9. Михайлюк М.В., Торгашев М.А. Система визуализации "GLView" для имитационно-тренажерных комплексов подготовки космонавтов // Пилотируемые полеты в космос. 2013. № 4 (9). С. 60-72.

DOI: 10.15827/0236-235X.108.010-015 Received 04.07.2014

THE VISUAL EDITOR AND CALCULATION MODULE OF BLOCK DIAGRAMS FOR SIMULATION AND TRAINING COMPLEXES

MikhaylyukM. V., Dr.Sc. (Physics), Professor, Head of Department, mix@niisi.ras.ru;

Torgashev M.A., Ph.D.

Abstract. One of the most important components of simulation and training complexes is a control system for controlling motors, payload, actuators, etc. It can be presented as a diagram of functional elements which are called functional units or functional blocks. There are a lot of developments in this field. However, despite the abundance of existing software products, the task of creating simple and affordable systems based on block diagrams for simulation and training complexes is still urgent. The article describes a software package for creating, testing, editing and calculation of functional block diagrams designed for control systems of simulation and training complexes, including robots' and manipulators' simulation, virtual laboratories and training systems. The paper discusses in detail both functionality and technology of visual editor, the algorithm and the scheme of calculation module of block diagrams. The proposed editor has broad functionality and allows simulating rather complex schemes. A calculation module is implemented as a dynamic link library which can be connected to any software package. The developed technology allows enhancing functionality by connecting additional software modules, which may include the implementation of special purpose computing blocks and blocks for data exchange, such as external consoles. The possibilities of applying the proposed system for process simulation and training systems are illustrated by simulation of anthropomorphic robot control in manual and copying mode. The advantages of the system are the ease of use, undemanding to resources and extensibility.

Keywords: control systems, functional diagrams, simulation and training complexes, virtual modeling.

References

1. Simulink. Available at: http://matlab.ru/products/simulink (accessed May 27, 2014).

2. Scicos: Block diagram modeler/simulator. Available at: http://www.scicos.org (accessed May 27, 2014).

3. CATIA Systems Engineering - Dymola. Available at: http://www.3ds.com/products-services/catia/capabilities/sys-tems-engineering/modelica-systems-simulation/dymola (accessed May 27, 2014).

4. LabVIEW System Design Software. Available at: http://www.ni.com/labview/ (accessed May 27, 2014).

5. Mikhaylyuk M.V., Khuraskin I.A. Human and virtual control panel interaction technology. Informatsionno-izmeritelnye i upravlyayushchie sistemy [Information-measuring and Control Systems]. 2009, no. 6, pp. 77-82 (in Russ.).

6. Mikhaylyuk M.V. 2D Virtual control panels in simulators. Programmnaya inzheneriya [Software Engineering]. 2014, no. 5, pp. 20-25 (in Russ.).

7. Mikhaylyuk M.V., Sokhin I.G., Torgashev M.A., Burdin B.V. The research of the possibility of using androids in the Space applying virtual reality technologies. Materialy 10 Mezhdunar. nauchno-praktich. konf. "Pilotiruemye polety v kosmos” [Proc. 10th Int. Science and Practice Conf Space Manned Missions]. Zvezdny gorodok, 2013, pp. 29-31 (in Russ.).

8. Burdin B.V., Mikhaylyuk M.V., Sokhin I.G. Torgashev M.A. Using of virtual 3D models for testing on-board flight operations using androids. Robototekhnika i tekhnicheskaya kibernetika [Robotics and Technical Cybernetics]. 2013, no. 1, pp. 42-46 (in Russ.).

9. Mikhaylyuk M.V., Torgashev M.A. “GLView” visualization system for astronaut training simulation complexes. Pilotiruemyepolety v kosmos [Space Manned Missions]. 2013, no. 4 (9), pp. 60-72 (in Russ.).

15