УДК 004.896 + 004.4 DOI: 10.14529/^190417
SVG-МОДЕЛИРОВАНИЕ УПРАВЛЯЕМЫХ СИСТЕМ ТЕЛ
Д.Н. Тимофеев1, В.А. Телегин2, А.И. Телегин1, С.Г. Пудовкина1
1 Южно-Уральский государственный университет, филиал в г. Миассе, г. Миасс, Россия,
2 ПО «АвтоРеал», г. Миасс, Россия
Описаны новые функциональные возможности программной системы (ПС) «СистемаТел», основанной на XML-технологиях, в которой для 3D-моделирования управляемых систем тел (СТ) используется расширяемый язык разметки трехмерной векторной графики (X3D). А для 2D-моделирования СТ используется скалярная векторная графика (SVG). Выполнен краткий обзор ПС моделирования роботов, использующих XML-ориентированные языки (URDF, SRDF, PLM) разметки параметров роботов. Указано на основное отличие ПС «СистемаТел» от ее аналогов. Оно связано с тем, что в ПС «СистемаТел» коллизии описываются как условия перехода от одной структуры СТ к другой, а не перехватываются в процессе графического моделирования, например, как события столкновения двух тел. Предложен язык XsysTel разметки СТ, состоящий из корневого узла <системаТел> и узлов <тело>, <связи>. Структура вложенности узла <тело> декларирует структуру СТ. Поля узла <тело> расширяют его использование до описания кинематических, статических и динамических свойств СТ. В узле <связи> описываются неудерживающие и динамические связи, зависящие от состояния и структуры СТ. Предложена структурная классификация СТ.
В ПС «СистемаТел» различают СТ с одной Открытой Ветвью (СТОВ), СТ с одной замкнутой Ветвью (СТВ), Древовидную СТ с Открытыми Ветвями (ДСТОВ), Древовидную СТ с открытыми и замкнутыми Ветвями (с циклами) (ДСТВ). К ДСТ относится СТ, в которой структура меняется в процессе движения тел. Приведен пример СТ с изменяющейся структурой. Условия перехода между структурами могут быть геометрическими, кинематическими и динамическими, например, в виде неравенств, содержащих динамические реакции в сочленениях тел. Приведены примеры XsysTel-описания СТ на плоскости (ПСТ). Рассмотрена плоская СТОВ (ПСТОВ) и плоская ДСТ (ПДСТ) в виде моделей двуногого шагающего аппарата в одноопорной и двухопорной фазах ходьбы, а также в фазе полета. Разработан алгоритм XSLT-преобразования XsysTel-описания ПСТ в SVG-модель ПСТ.
Ключевые слова: XML, X3D, SVG, Web-приложение, декларативное программирование, манипулятор, шагающий аппарат.
Введение
На кафедре «Автоматика» филиала ЮУрГУ в г. Миассе разрабатывается ПС «СистемаТел». Она состоит из нескольких Web-приложений, которые описаны в статьях [1-4]. Отдельные модули ПС «СистемаТел» зарегистрированы в качестве интеллектуальной собственности [5-7]. Для трехмерного графического моделирования СТ в ПС «СистемаТел» используется XML-ориенти-рованный расширяемый язык разметки (X3D). Примеры X3D-моделей СТ приведены, например, в монографии [8].
Здесь рассматриваются аналоги ПС «СистемаТел» и ее принципиальные отличия от этих ПС. Одно из таких отличий связано с задачей реализации в ПС «СистемаТел» 2D-моделирования ПСТ с анимацией движения тел и автоматической генерацией кода программ управления приводами с известной системой команд, в частности, автоматической генерации управляющих программных последовательностей для приводов фирмы FAULHABER. Некоторые результаты решения этой задачи изложены в настоящем сообщении.
С необходимостью иметь средство 2D-моделирования ПСТ мы столкнулись, например, в процессе разработки торговых автоматов. В статье [9] приведены десятки, а в справочнике [10] сотни ПСТ, которые можно моделировать в ПС «СистемаТел».
1. Отличия ПС «СистемаТел» от аналогов
В ПС «СистемаТел» используются XML-технологии, т. е. XML-ориентированные декларативные языки программирования (XSLT, SVG, X3D, xhtml, xforms, MahtML), а также технология CSS и AJAX. Поэтому рассмотрим некоторые известные нам ПС, использующие эти технологии для моделирования роботов, и отметим их принципиальные отличия от ПС «СистемаТел».
Для преодоления проблем моделирования СТ расширяются возможности универсального языка моделирования (UML) и используются XML-технологии [11]. Для графического моделирования СТ используются технологии html5, SVG и X3D [12]. Обзор Web3D-технологий, анализ и сравнение инструментов WebGL, X3D и Stage3D в моделировании СТ проведены в статье [13]. В статьях [14-20] описано использование операционной системы для роботов (Robot Operating System - ROS) и XML-языков разметки роботов (Unified Robot Description Format - URDF), SRDF, PLM как средство моделирования, визуализации и анимации СТ с вращательными (ВКП) и поступательными (ПКП) кинематическими парами (КП). В [14] используется AJAX3D, обеспечивающий асинхронную связь браузера с сервером (AJAX3D объединяет технологии X3D и AJAX). ROS вместе с URDF - это платформа для моделирования, управления и визуализации роботов [15]. URDF содержит семь XML-элементов. SRDF похож на URDF и расширяет его возможности, имея девять XML-элементов. PLM - формализм XML-описания физической модели СТ. Перечисленные языки являются инструментом быстрого прототипирования программного обеспечения для роботов. Они обеспечивают возможности интеграции, тестирования и повторного использования алгоритмов и программ с открытым исходным кодом, создаваемых в области автоматики и робототехники научным сообществом по всему миру. Например, в [16] рассматривается система моделирования и управления для многофункционального автономного сельскохозяйственного робота с помощью ROS и URDF. В [17-19] URDF и ROS используются для визуального представления виртуальных роботов, а также для получения информации о его кинематике и динамике. В Web-приложениях используются физические си-муляторы, написанные на JavaScript и позволяющие осуществлять 3D-моделирование на основе X3DOM [20].
В большинстве симуляторов СТ моделирование начинается с обнаружения столкновений (коллизий). При обработке контакта используются расчетные контактные точки для получения соответствующих контактных сил, которые вызывают отталкивание тел в результате столкновения. Этот эффект приводит к изменению параметров движения тел. Положения, скорости и ускорения движения взаимодействующих тел рассчитываются во время обработки коллизий. Физика моделирования основана на законах Ньютона и других законах классической механики.
В ПС «СистемаТел» возможные коллизии описываются на XML-языке как условия возможных изменений связей между телами и как следствие изменения структуры исследуемой СТ. В процессе симуляции СТ на основе их уравнений динамики (УД) решаются задачи механики и управления. Если при этом выполняются условия изменения структуры СТ, то она меняется и вычисления продолжаются для СТ с новой структурой. Таким образом, в рассматриваемых аналогах сначала обнаруживаются коллизии, а потом решаются задачи механики и управления. В ПС «СистемаТел» наоборот. В процессе решения задач механики проверяются условия перестройки структуры СТ и, если они выполняются, то задача продолжает решаться для СТ с новой структурой. Если учесть, что используемые в ПС «СистемаТел» УД являются оптимальными в смысле минимума математических операций и в большинстве процессов структура СТ не меняется, то время моделирования резко сокращается, что мы наблюдаем на практике.
2. Структурная классификация СТ
В процессе описания СТ необходимо указать ее структурные, геометрические, кинематические и инерционные параметры. Они определяют вид кинематической схемы (КС) СТ, громоздкость и вид УД, а также влияют на процессы моделирования СТ.
Для структурной классификации СТ будем использовать следующие понятия. Неподвижное относительно земли тело, образующее КП с одним из тел СТ, будем называть Неподвижным Телом Отсчета (НТО). Цифрой ноль будем нумеровать НТО. Цифрой 1 будем нумеровать одно из тел СТ, образующее КП с НТО. Рассмотрим произвольное тело. Если оно образует КП с одним телом СТ, то это тело является концевым. Если тело образует КП с двумя или более телами, то
одно из этих тел называют базовым телом (базой) для рассматриваемого тела, а остальные тела называют смежными. В качестве базы рассматриваемого тела выбирают следующее за ним тело на пути к НТО.
Если все тела СТ кроме концевого имеют по одному смежному телу, то такую СТ по структурному классификационному признаку будем относить к СТОВ (СТ с одной Открытой Ветвью) или к СТВ (СТ с одной замкнутой Ветвью). Если хотя бы одно тело СТ имеет больше одного смежного тела, то по структурному признаку эту СТ будем относить к ДСТОВ (Древовидная СТ с Открытыми Ветвями) или к ДСТВ, т. е. к Древовидной СТ с открытыми и замкнутыми Ветвями (с циклами). Через ДСТ будем обозначать СТ, в которой структура меняется в процессе движения тел.
Самой простой по структуре является СТОВ. В СТОВ только одно (концевое) тело образует КП с одним (предшествующим) телом. Все остальные тела СТОВ образуют КП с двумя соседними телами. У единственного концевого тела СТОВ нет смежного тела. К СТОВ относится, например, рука манипулятора с объектом манипулирования в захвате (переносимым грузом, горелкой сварочного аппарата, краскораспылителем, гаечным ключом и т. д.). Если манипулятор гаечным ключом закручивает гайку на винт, который жестко связан с землей, то манипулятор в этом процессе относится к СТВ. Ярким примером ДСТ является двуногий Шагающий Аппарат (ША), так как в двухопорной фазе ходьбы у него есть цикл, образованный связями концов ног с опорной поверхностью, т. е. с землей. Если руки ША свободны, то в фазе полета его структура относится к ДСТОВ. Таким образом по структурному признаку произвольную СТ в зависимости от ее конструкции или состояния тел можно отнести к одному из четырех классов - СТОВ, СТВ, ДСТОВ, ДСТВ или ДСТ. Общим для всех СТ является то, что любое тело СТ имеет единственное базовое тело, и если оно не концевое, то одно или несколько смежных тел. От каждого тела ДСТОВ существует единственная цепочка тел до НТО.
Самым простым способом идентификации тел СТ является их нумерация. На практике в основном используется подсистемная нумерация тел, которую можно осуществить следующим образом. Сначала от СТ необходимо перейти к ДСТОВ. Для этого в каждом цикле ДСТВ необходимо мысленно разорвать сочленение двух тел или разделить тело на части так, чтобы для каждого тела существовал единственный путь до НТО. Затем от НТО, мысленно двигаясь вдоль связей до любого концевого тела, необходимо встреченные на этом пути тела нумеровать числами 1, 2 и так далее. Потом вернуться назад (вдоль занумерованных тел) до первого занумерованного тела, у которого есть смежные незанумерованные тела, и снова двигаться вдоль незанумерован-ных тел до любого концевого тела, присваивая очередные порядковые номера этим телам. Необходимо повторять эту процедуру (возврат с продолжением нумерации) до тех пор, пока остаются незанумерованные тела. Простейшим параметром, описывающим структуру СТ, является Список Номеров Базовых Тел (СНБТ). В >й по порядку позиции СНБТ записывается номер базы >го тела. Последний по порядку элемент СНБТ равен номеру базы последнего тела СТ. Первый по порядку элемент СНБТ равен нулю, т. е. равен номеру НТО.
3. Описание кинематических параметров ПСТ
Объектами математического и 2D-моделирования в ПС «СистемаТел» являются управляемые СТ, тела которых движутся в параллельных друг другу плоскостях. Такие СТ мы называем плоскими и обозначаем аббревиатурой ПСТ. В ПС «СистемаТел» рассматриваются ПСТ со структурой дерева (ПДСТ). В ПДСТ тела образуют друг с другом связи, моделируемые ВКП, ПКП с одной (ПКП1) или двумя (ПКП2) степенями подвижности, а также свободными КП (СКП). В СКП тела не имеют механического контакта друг с другом, но взаимодействуют, например, посредством электромагнитных полей, или имеют друг с другом информационную связь, или меняют тип КП в процессе движения ПСТ. Чаще всего СКП образует первое тело с землей в моделях, например, ША, транспортных средств и летательных аппаратов. К ПКП или ВКП относится сочленение двух тел, допускающее относительное поступательное движение вдоль или вращение вокруг оси, жестко связанной с телами сочленения. Эту ось называют осью КП. В ПДСТ оси всех ВКП перпендикулярны плоскости движения тел. В СКП смежное тело может перемещаться относительно своей базы поступательно и вращаться вокруг оси, перпендикулярной плоскости движения тел ПСТ.
Формальное описание ПСТ рекомендуется начинать с построения ее КС. В КС ПСТ тела всех ВКП должны быть изображены в исходном относительном положении, т. е. в положении, когда их углы поворота относительно своих баз равны нулю. Все тела ПСТ должны быть пронумерованы. С каждым телом ПДСТОВ мысленно связывается СК, в которой ось абсцисс направлена горизонтально вправо, ось ординат - вертикально вниз. Начало связанной СК (ССК) тела располагается в полюсе этого тела. Если тело вращается относительно своей базы, то полюс тела выбирается на оси вращения. В ПКП полюс выбирается в любом месте смежного тела, т. е. тела с большим порядковым номером. Базовым телом КП является тело с меньшим порядковым номером. Полюс i-го тела обозначается через Oj. В ПКП и СКП исходное (до начала относительного движения смежного тела) положение полюса i-го тела в его базе обозначается через Oo1. Для ВКП Oj = Ooi.
4. XML-описание ПСТ
Для формального описания СТ создан расширяемый язык разметки XsysTel. Это наша XML-реализация. Язык XsysTel предназначен для формального описания СТ. В XsysTel корневым является узел <системаТел>. Его поле класс содержит аббревиатуру класса, к которому относится исследуемая СТ. Для разметки структуры и кинематики СТ используется узел <тело> с полями номер, КП, КПТ, min, max. Для ДСТ используется узел <связи>, описывающий мысленно разорванные связи, структуры, которые может иметь СТ в процессе движений тел, и условия перехода к этим структурам.
Кинематика ПСТ описывается в следующих полях узла <тело>: КП - тип КП, т. е. аббревиатуры ПКП1, ВКП, ПКП2, СКП или соответственно числа 0, 1, 2, 3; КПТ - координаты (в миллиметрах) полюса тела в ССК его базы (ССКБ) (два целых числа); min, max - минимальное и максимальное значения угла поворота (в градусах) для ВКП или величин КПТ для ПКП (в миллиметрах); или величин КПТ и углов поворота для СКП. В качестве примеров на рис. 1 приведены КС маятника на подвижном основании (а) и ША в одноопорной фазе ходьбы (б), в фазе полета (в) и в двухопорной фазе ходьбы (г). В листингах 1, 2 представлены XsysTel-разметки ПСТ на рис. 1. Очевидно соответствие между КС и XsysTel-кодом ПСТ. Каждому телу ПСТ соответствует узел <тело>. Порядковый номер тела является значением поля номер узла <тело>. Значение поля КПТ содержит координаты точки Oo1 в ССКБ(1), где 1 - номер тела. Структуре ПДСТОВ соответствует структура вложенности узлов <тело>. Например, в листинге 1 в узел <тело номер—'1"> вложен узел <тело номер—'2">, так как первое тело является базовым для второго. В листинге 2 в узел <тело номер—''1"> одновременно вложены два узла <тело номер—''2"> и <тело номер—''5">, так как корпус ША является базой для бедер ног.
а) б) в) г)
Рис. 1. Кинематические схемы систем тел в вертикальной плоскости
Листинг 1. XsysTel-разметка маятника на подвижном основании
<СистемаТел класс="ПСТОВ"> <Тело номер-'1" КП="0" КПТ="0,0" min="-100" max="100">
<Тело номер="2" КП="1" КПТ="0,0" min="-160" max="160"/> </Тело>
</СистемаТел>
Листинг 2. XsysTel-разметка шагающего аппарата в фазе полета
<СистемаТел класс="ПДСТ"> <Тело номер="1" КП="3" КПТ="0, 1000" min="0, 0, -90" max="5000, 3000, 90"> <Тело номер="2" КП="1" КПТ="0, 0" min="-90" max="160"> <Тело номер="3" КП="1" КПТ="0, 500" min="-160" max="0">
<Тело номер="4" КП="1" КПТ="0, 500" min="-90" max="30"/> </Тело> </Тело> <Тело номер="5" КП="1" КПТ="0, 0" min="-90" max="160"> <Тело номер="6" КП="1" КПТ="0, 500" min="-160" max="0"> <Тело номер="7" КП="1" КПТ="0, 500" min="-90" max="30"/> </Тело> </Тело>
</СистемаТел>
5. SVG-моделирование ПСТ
Между XsysTel-кодом и SVG-разметкой ПСТ установим взаимно однозначное соответствие. Каждому узлу <тело> поставим в соответствие элемент <g> с тем же уровнем вложенности, где полю КПТ соответствует атрибут transform с командой translate. Тогда каждой XsysTel-разметке ПСТ можно поставить в соответствие SVG-разметку структуры и кинематики ПСТ. Геометрию тела ПСТ удобно размечать в path-элементе SVG, который должен быть прямым потомком группы этого тела. В SVG-листингах 3, 4 приведены SVG-разметки ПСТ на рис. 1. Видно, что каждому узлу <тело> XsysTel-кода ставится в соответствие один групповой элемент <g> SVG-кода. Значению поля КПТ соответствует значение команды translation атрибута transform элемента <g> этого тела. Описанное соответствие положено в основу XSLT-кода трансформации XsysTel-разметки ПСТ в ее SVG-модель.
Для уменьшения объема SVG-кода мы используем маркеры. Многие детали тел ПСТ имеют стандартные изображения в КС. Например, базовое тело первой КП всегда заземляется. Одно из тел ПКП является кареткой или направляющей для смежного с ним тела. В конце последнего тела манипулятора изображается схват и т. д. Перечисленные графические элементы (заземление, каретка, направляющая, схват) размечаются маркерами у моделей соответствующих тел. Сами тела в этом случае являются маркируемыми элементами. В начале svg-кода листинга 3 описываются все маркеры, которые в нем используются. Потом эти маркеры вставляются в те места кода, в которых повторяются соответствующие графические элементы. Этот подход позволяет значительно сократить код SVG-моделей ПСТ.
Листинг 3. SVG-разметка маятника на подвижном основании
<?xml version="1.0" encoding="windows-1251"?>
<svg version-" 1.1" width="350mm" height="165mm" viewBox="0 0 9000 4000" xmlns="http://www.w3.org/2000/svg"> <defs> <style type="text/css"> path { stroke-width: 5; stroke: black } line { stroke-width: 2; stroke: black } </style>
<!-- Разметка библиотеки маркеров --> <marker id="земля" refX="20" markerWidth="40" markerHeight="8" orient="0"> ^^^заземление^М^ <desc>показывает жесткую связь с землей</desc> <line x2="40"/> <line x1="8" y2="8"/> <line x1="16" x2="8" y2="8"/> <line x1="24" x2="16" y2="8"/> <line x1="32" x2="24" y2="8"/>
<line x1—"40" x2—"32" y2—"8"/> </marker> <marker id—''шарнир" refX—"12" refY—"12" markerW1dth—"28" markerHeight—"28">
<circle cx—"12" cy—"12" r—"10" stroke—"black" fill—"white"/> </marker> <marker id—''каретка" refX—"20" refY—"10" markerW1dth—"40" markerHeight—"20"> <rect width—"40" height—"20" stroke—"black" fill—"white"/> <line x2—"40" y2—"20"/> <line y1—"20" x2—"40"/> </marker> </defs>
<! -- _Разметка структуры и геометрии ПСТ_ -->
<g Ы—"тело_0" transform—"translate(300, 1350)"> <path d—"m0,0h1000" marker-start="url(#земля)"/> <g 1d="тело_1" transform—"translate(300)"> <path d—"m0,0v200" marker-start="url(#каретка)"/> <g 1d="тело_2" transform—"translate(0,200) rotate(0)"> <path d—"m0,0v500" marker-start="url(#шарнир)"/> </g> </g> </g> </svg>
Листинг 4. SVG-разметка ША в фазе полета <g 1d="тело_0" transform—"translate(2200, 3000)"> <path d—"m0,0h7000" marker-start="url(#земля)"/> <g 1d="тело_1" transform—"translate(500,-1020) rotate(20)"> <g 1d="тело_2" transform—"rotate(-40)"> <path d—"m0,0v500"/> <g 1d="тело_3" transform—"translate(0,500) rotate(80)"> <path d—"m0,0v500" marker-start="url(#шарнир)"/> <g 1d="тело_4" transform—"translate(0,500) rotate(0)"> <path d—"m0,0l200,100h-300z" marker-start="url(#шарнир)"/> </g> </g> </g> <g 1d="тело_5" transform—"rotate(-60)"> <path d—"m0,0v500"/> <g 1d="тело_6" transform—"translate(0,500) rotate(40)"> <path d—"m0,0v500" marker-start="url(#шарнир)"/> <g 1d="тело_7" transform—"translate(0,500) rotate(0)"> <path d—"m0,0l200,100h-300z" marker-start="url(#шарнир)"/> </g> </g> </g> <path d—"m0,0v-700" marker-start="url(#шарнир)"/> </g> </g>
Заключение
Входными документами в ПС «СистемаТел» являются разметки СТ на языке XsysTel, разметки программных движений тел в html-таблицах и постановок задач на авторских XML-языках. На основе этих документов генерируются SVG-разметки или X3D-разметки графических моделей СТ с анимацией, MathML-разметки математических моделей СТ, XForms-разметки форм ввода начальных условий и параметров задач кинематики, статики, динамики и управления, а также XSL-FO-разметки представления результатов решения задач. Такой подход позволил в рамках одной информационной технологии решать все задачи моделирования управляемых систем тел. Изложенную здесь информацию можно использовать для графического моделирования ПСТ на языке SVG. Разметка двухмерной графической модели ПСТ с анимацией движений ее тел осуществляется просто и быстро. Для разработки SVG-модели ПСТ достаточно использовать всего два узла <g> и <path>. Для создания анимации СТ достаточно владеть CSS-техно-логией. В настоящее время практически все браузеры воспроизводят SVG-разметку. Поэтому разработка web-приложений для моделирования ПСТ становится простой задачей.
Литература
1. Телегин, А.И., Генератор XSD-моделей механических систем / А.И. Телегин, Д.Н. Тимофеев // Наука ЮУрГУ: материалы 67-й научной конференции. Секции технических наук. - Челябинск, 2015. - С. 1709-1715.
2. Телегин, А.И., Web-приложение для моделирования механических систем со структурой открытого дерева / А.И. Телегин, Д.Н. Тимофеев // Наука ЮУрГУ: материалы 68-й научной конференции. Секции технических наук. - Челябинск, 2016. - С. 1123-1130.
3. Телегин, А.И. Web-приложение для моделирования РТК / А.И. Телегин, Д.Н. Тимофеев, Д.И. Читалов //Наука ЮУрГУ: материалы 69-й научной конференции. Секции технических наук. -Челябинск, 2017. - С. 500-508.
4. Пудовкина, С.Г. Моделирование и анимация роботизированных технологических комплексов / С.Г. Пудовкина, Д.Н. Тимофеев, Д.И. Читалов // Наука ЮУрГУ: материалы 70-й научной конференции. Секции технических наук. - Челябинск, 2018. - С. 776-784.
5. Свидетельство № 2015618268 Российская Федерация. Прикладная программа для ЭВМ «Генератор X3D-модели механической системы» / А.И. Телегин, Д.Н. Тимофеев; заявитель и правообладатель ФГБОУВПО ЮУрГУ (НИУ). - Зарегистр. 04.08.2015. - 1 с.
6. Свидетельство № 2017663301 Российская Федерация. Прикладная программа для ЭВМ ««Программа для автоматического синтеза X3D-моделей, программных движений и анимации механических систем» / А.И. Телегин, Д.Н. Тимофеев; заявитель и правообладатель ФГАОУ ВО ЮУрГУ (НИУ). - Зарегистр. 28.11.2017. - 1 с.
7. Свидетельство № 2017663707 Российская Федерация. Прикладная программа для ЭВМ ««Maxima-код для выписывания формул вычисления динамических реакций и обобщенных движущих сил манипуляционных систем роботов»/ А.И. Телегин, Д.Н. Тимофеев; заявитель и правообладатель ФГАОУ ВО ЮУрГУ (НИУ). - Зарегистр. 11.12.2017. - 1 с.
8. Телегин, А.И. X3D-моделирование механических систем: Опыт использования X3D в моделировании механических систем: моногр. / А.И. Телегин, Д.Н. Тимофеев, Д.И. Читалов; Юж.-Урал. гос. ун-т, ЭТФ. - Миасс: ЭТФ, 2014. - 66 с. - http://elibrary.ru/item.asp?=22585700.
9. Телегин, А.И. Программно-методический комплекс для автоматического выписывания математических моделей плоских шарнирных механизмов / А.И. Телегин, М.И. Кайгородцев // Ракетодинамика. Энергетика. Информатика: сб. науч. тр. - Челябинск: Издат. центр ЮУрГУ, 2012. - 233 с.
10. Крайнев, А.Ф. Словарь-справочник по механизмам /А.Ф. Крайнев. - 2-е изд., перераб. и доп. -М. : Машиностроение, 1987. - 560 с.
11. An Extension of the Systems Modeling Language for Physical Interaction and Signal Flow Simulation / C. Bock, R. Barbau, I. Matei, M. Dadfarnia // Systems Engineering. - 2017. - Vol. 20, no. 5. -P. 395-431. DOI: 10.1002/sys.21380
12. Бойков, А.А. Геометрические тренажеры для курса инженерной графики / А.А. Бойков // Информационная среда вуза. - 2015. - № 1 (22). - С. 49-52.
13. Текутьева, Н.В. Обзор и анализ Web3D и его инструментов / Н.В. Текутьева, И.Р. Хася-нов //Международная научно-техническая конференция студентов, аспирантов и молодых специалистов им. Е.В. Арменского. - 2017. - С. 155-157.
14. Web-Based TeleRobotics Revisited / E. Duff, K. Usher, K. Taylor, C. Caris // Proceedings of Australian Conference on Robotics and Automation. - 2007. - 6p.
15. Zubrycki, I. Introducing modern robotics with ROS and Arduino, including case studies / I. Zubrycki, G. Granosik // Journal of Automation Mobile Robotics and Intelligent Systems. - 2014. -Vol. 8, no. 1. - P. 69-75. DOI: 10.14313/JAMRIS1-2014/9
16. Rapid Developing the Simulation and Control Systems for a Multifunctional Autonomous Agricultural Robot with ROS / Z. Wang, L. Gong, Q. Chen et al. // Intelligent Robotics and Applications: 9th International Conference. - 2016. - P. 26-39. DOI: 10.1007/978-3-319-43506-0 3
17. Mortimer, M. Building a Relationship between Robot Characteristics and Teleoperation User Interfaces /M. Mortimer, B. Horan, M. Seyedmahmoudian //Sensors. - 2017, no. 17 (3). - P. 587. DOI: 10.3390/s17030587
18. YARC - A universal kinematic controller for serial robots based on PMAC and Movelt! / Y. Su, Y. Gao, Y. Wu et al. // 2014 Asia-Pacific Signal and Information Processing Association Annual Summit and Conference. - 2014. DOI: 10.1109/APSIPA.2014.7041708
19. Searching Baxter's URDF robot joint and link tree for active serial chains / M. Mortimer, B. Horan, M. Joordens, A. Stojcevski // 2015 10th System of Systems Engineering Conference (SoSE). -2015. - P. 428-433. DOI: 10.1109/SYSOSE.2015.7151971
20. Huber, L. Initial Steps for the Coupling of JavaScript Physics Engines with X3DOM / L. Huber // Workshop on Virtual Reality Interaction and Physical Simulation (VRIPHYS). - 2013. - P. 81-90. DOI: 10.2312/PE. vriphys. vriphys13.081 -090
Тимофеев Дмитрий Николаевич, младший научный сотрудник кафедры автоматики, ЮжноУральский государственный университет, филиал в г. Миассе, г. Миасс; timofeevdn@susu.ru.
Телегин Вадим Александрович, ведущий программист, ПО «АвтоРеал», vadimt_82@mail.ru.
Телегин Александр Иванович, д-р физ.-мат. наук, профессор, декан Электротехнического факультета, Южно-Уральский государственный университет, филиал в г. Миассе, г. Миасс; telegin@susu.ru.
Пудовкина Светлана Геннадьевна, канд. техн. наук, доцент кафедры прикладной математики и ракетодинамики, Южно-Уральский государственный университет, филиал в г. Миассе, г. Миасс; pudovkinasg@susu.ru.
Поступила в редакцию 1 сентября 2019 г
DOI: 10.14529/ctcr190417
SVG MODELING OF CONTROLLED SYSTEMS OF BODIES
D.N. Timofeev1, timofeevdn@susu.ru, V.A. Telegin2, vadimt_82@mail.ru, A.I. Telegin1, telegin@susu.ru, S.G. Pudovkina1, pudovkinasg@susu.ru
1 South Ural State University, Miass, Russian Federation,
2 AutoReal Ltd, Miass, Russian Federation
The new functionality of the SistemaTel software system (SS) has been described. An extensible markup language for three-dimensional vector graphics (X3D) for 3D modeling of controlled systems of bodies (ST) and scalar vector for 2D modeling of ST Graphics (SVG) have been used in this SS. A brief review of the SS of robots' modeling using XML-oriented languages (URDF, SRDF, PLM) for marking the parameters of robots has been completed. The main difference between the SistemaTel and its analogues has been indicated. It depends on the fact that collisions are described as conditions for the transition from one ST structure to another one and are not intercepted in the process of graphical modeling, for example, as two-body collision events. An XsysTel language for marking ST has been proposed. It consists of the root node <SystemaTel> and nodes <body>, <connections>. The nesting structure of the node <body> declares the structure of the ST. The fields of the node <body> expand its use to the description of the kinematic, static, and dynamic properties of ST. The node <connections> describes non-holding and dynamic bonds depending on the state and structure of the ST. Structural classification of the ST has been proposed. There distinguish ST with one Open Branch (STOB), ST with one Closed Branch (ST), Tree-like ST with Open Branches (TSTOB), Tree-like ST with open and closed Branches (with cycles) (TSTB) in the SistemaTel software system. Tree-like ST (TST) is a ST with the structure changing while the bodies' moving. An example of the ST with a varying structure has been given. The transition conditions between structures can be geometric, kinematic and dynamic, for example, in the form of inequalities containing dynamic reactions in the joints of bodies. Examples of the XsysTel description of the ST in the plane (PST) have been given. An algorithm for XSLT conversion of the XsysTel description of the PST to the SVG-model of the PST has been developed.
Keywords: XML, X3D, SVG, Web-application, declarative programming, manipulator, walking machine.
References
1. Telegin A.I., Timofeev D.N. [Generator of X3D-Models of Mechanical Systems]. Science of SUSU: Materials of the 67 th Scientific Conference. Section of Technical Sciences, 2015, pp. 1709-1715. (in Russ.)
2. Telegin A.I., Timofeev D.N. [Web Application for Modeling Mechanical Systems with an Open Tree Structure]. Science of SUSU: Materials of the 68th Scientific Conference. Section of Technical Sciences, 2016, pp. 1123-1130. (in Russ.)
3. Telegin A.I., Timofeev D.N., Chitalov D.I. [Web Application for RTC Modeling]. Science of SUSU: Materials of the 69th Scientific Conference. Section of Technical Sciences, 2017, pp. 500-508. (in Russ.)
4. Pudovkina S.G., Timofeev D.N., Chitalov D.I. [Modeling and Animation of the Robotic Technological Complex]. Science of SUSU: Materials of the 70th Scientific Conference. Section of Technical Sciences, 2018, pp. 776-784. (in Russ.)
5. Telegin A.I., Timofeev D.N. Svidetel'stvo N2015618268. Prikladnaya programma dlya EVM "Generator X3D-modeli mekhanicheskoy sistemy" [The Application Program for the Computer "The Generator of X3D-Model of Mechanical System]. Certificate no. 2015618268, Applicant and Copyright Holder is the South Ural State University. Reg. 04.08.2015, 1 p.
6. Telegin A.I., Timofeev D.N. Svidetel'stvo N2017663301. Prikladnaya programma dlya EVM "Programma dlya avtomaticheskogo sinteza X3D-modeley, programmnykh dvizheniy i animatsii mek-hanicheskikh sistem" [The Application Program for the Computer "Program for Automatic Synthesis of X3D-Models, Program Movements and Animation of Mechanical Systems"]. Certificate no. 2017663301, Applicant and Copyright Holder is the South Ural State University. Reg. 28.11.2017, 1 p.
7. Telegin A.I., Timofeev D.N. Svidetel'stvo N2017663707. Prikladnaya programma dlya EVM "Maxima-kod dlya vypisyvaniya formul vychisleniya dinamicheskikh reaktsiy i obobschennykh dvizhu-schikh sil manipulyatsionnykh sistem robotov" [The Application Program for the Computer "Maximacode for Derivation of Dynamic Reactions and Generalized Driving Forces of Robotic Manipulators"]. Certificate no. 2017663707, Applicant and Copyright Holder is the South Ural State University. Reg. 11.12.2017, 1 p.
8. Telegin A.I., Timofeev D.N., Chitalov D.I. X3D-modelirovanie mekhanicheskikh sistem: Opyt is-pol'zovaniya X3D v modelirovanii mekhanicheskikh sistem [X3D-Modeling of Mechanical Systems: Experience of Using X3D in Modeling of Mechanical Systems: Monograph]. South Ural State University, Miass, ETF, 2014. 66 p. Available at: http://elibrary.ru/item.asp?=22585700.
9. Telegin A.I., Kaigorodtsev M.I. [Program-Methodical Package for Automatic Creation of the Mathematical Models of Flat Hinge Mechanisms]. Dynamics of the Rockets, Power Engineering. Computer Science: Collection of Scientific Papers. Chelyabinsk, South Ural State Univ. Publ., 2012. 233 p.
10. Krainev, A.F. Slovar'-spravochnik po mekhanizmam [Dictionary-Handbook of Mechanisms]. 2nd ed. Moscow, Mechanical Engineering, 1987. 560 p.
11. Bock C., Barbau R., Matei I., Dadfarnia M. An Extension of the Systems Modeling Language for Physical Interaction and Signal Flow Simulation. Systems Engineering, 2017, vol. 20, no. 5, pp. 395-431. DOI: 10.1002/sys.21380
12. Boykov A.A. [Geometric Exercise Machines for Engineering Drawing Course]. Information Environment of the University, 2015, no. 1 (22), pp. 49-52. (in Russ.)
13. Tekut'eva N.V., Khasyanov I.R. [Review and Analysis of Web3D and its Tools]. Mezhvu-zovskaya nauchno-tekhnicheskaya konferentsiya studentov, aspirantov i molodykh spetsialistov im. E.V. Armenskogo [Interuniversity Scientific and Technical Conference of Students, Graduate Students and Young Specialists Named after E.V. Armenskiy], Moscow, 2017, pp. 155-157. (in Russ.)
14. Duff E., Usher K., Taylor K., Caris C. Web-Based TeleRobotics Revisited. Proceedings of Australian Conference on Robotics and Automation, 2007, 6 p.
15. Zubrycki I., Granosik G. Introducing Modern Robotics with ROS and Arduino, Including Case Studies. Journal of Automation Mobile Robotics and Intelligent Systems, 2014, vol. 8, no. 1, pp. 69-75. DOI: 10.14313/JAMRIS_1-2014/9
16. Wang Z., Gong L., Chen Q., Li Y., Liu C., Huang Y. Rapid Developing the Simulation and Control Systems for a Multifunctional Autonomous Agricultural Ro-Bot with ROS. Intelligent Robotics and Applications: 9th International Conference, 2016, pp. 26-39. DOI: 10.1007/978-3-319-43506-0_3
17. Mortimer M., Horan B., Seyedmahmoudian M. Building a Relationship between Robot Characteristics and Teleoperation User Interfaces. Sensors, 2017, no. 17 (3), p. 587. DOI: 10.3390/s17030587
18. Su Y., Gao Y., Wu Y., Dong W., Wang W., Du Z. YARC - A Universal Kinematic Controller for Serial Robots Based on PMAC and Movelt! 2014 Asia-Pacific Signal and Information Processing Association Annual Summit and Conference, United States, 2014. DOI: 10.1109/APSIPA.2014.7041708
19. Mortimer M., Horan B., Joordens M., Stojcevski A. Searching Baxter's URDF Robot Joint and Link Tree for Active Serial Chains. 2015 10th System of Systems Engineering Conference (SoSE), 2015, United States, pp. 428-433. DOI: 10.1109/SYSOSE.2015.7151971
20. Huber L. Initial Steps for the Coupling of JavaScript Physics Engines with X3DOM. Workshop on Virtual Reality Interaction and Physical Simulation (VRIPHYS), 2013, pp. 81-90. DOI: 10.2312/PE.vriphys.vriphys13.081-090
Received 1 September 2019
ОБРАЗЕЦ ЦИТИРОВАНИЯ
FOR CITATION
SVG-моделирование управляемых систем тел / Д.Н. Тимофеев, В.А. Телегин, А.И. Телегин, С.Г. Пудовкина // Вестник ЮУрГУ. Серия «Компьютерные технологии, управление, радиоэлектроника». - 2019. -Т. 19, № 4. - С. 156-165. DOI: 10.14529/^190417
Timofeev D.N., Telegin V.A., Telegin A.I., Pudovki-na S.G. SVG Modeling of Controlled Systems of Bodies. Bulletin of the South Ural State University. Ser. Computer Technologies, Automatic Control, Radio Electronics,, 2019, vol. 19, no. 4, pp. 156-165. (in Russ.) DOI: 10.14529/ctcr190417