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

РАЗРАБОТКА ГЕНЕРАТОРА УРАВНЕНИЙ ДВИЖЕНИЯ МЕХАНИЧЕСКИХ СИСТЕМ НА ОСНОВЕ ИХ КОРОТКОГО ТЕКСТОВОГО ОПИСАНИЯ Текст научной статьи по специальности «Физика»

CC BY
60
7
i Надоели баннеры? Вы всегда можете отключить рекламу.
Область наук
Ключевые слова
МЕХАНИЧЕСКИЕ СИСТЕМЫ / ФОРМАТ КОРОТКОГО СИМВОЛИЧЕСКОГО ОПИСАНИЯ МЕХАНИЧЕСКИХ СИСТЕМ / MATLAB / УРАВНЕНИЯ ДВИЖЕНИЯ МЕХАНИЧЕСКИХ СИСТЕМ / УНИВЕРСАЛЬНЫЙ МЕХАНИЗМ

Аннотация научной статьи по физике, автор научной работы — Голомаздин Павел Игоревич, Дмитроченко Олег Николаевич

Проведен краткий обзор и анализ существующих методов формирования уравнений движения для механических систем. Выделены основные преимущества и недостатки рассмотренных подходов. Рассмотрены основные принципы описания механических систем при использовании формата короткого текстового их описания, а также алгоритм формирования уравнений движения. На основе рассмотренного алгоритма разработан генератор уравнений движения механических систем в символьной форме на основе их короткого текстового описания. Генератор реализован программно в среде Matlab. Корректность работы генератора проверена путем сравнения теоретических уравнений простейших случаев описания механических систем с результатами работы генератора, а также путём сравнения с уравнениями усложненных систем, полученными в программном комплексе Universal Mechanism для моделирования механических систем. Поскольку формат короткого текстового описания можно считать языком описания механических систем, для данного формата было разработано его описание в форме Бэкуса-Наура. На основе разработанного описания Бэкуса-Наура разработан конвертор, позволяющий на основе короткого текстового описания получить исходные данные для моделирования механических систем в программном комплексе Universal Mechanism. Экспериментальная проверка разработанного алгоритма подтвердила его работоспособность. Механические системы различной сложности были смоделированы и проверены с использованием разработанного алгоритма.

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

MOTION EQUATION GENERATOR DEVELOPMENT FOR MECHANICAL SYSTEMS BASED ON THEIR SHORT SYMBOLIC LINE DESCRIPTION

A short review and analysis of existing methods of motion equations building for mechanical systems has been carried out. Advantages and disadvantages of reviewed methods have been pointed out. General principals of mechanical system description by a short symbolic line and an algorithm for motion equations building have been reviewed. A generator of motion equations based on the reviewed algorithm has been developed in the Matlab environment. The appliance and correctness of the developed generator have been verified by comparing theoretical results obtained manually to practical outcomes obtained by using the generator. Also a comparison of more complicated motion equations for mechanical systems has been carried out using the generator results and results gained by using the program package Universal Mechanism. Since the short symbolic line description can be considered as a special language describing mechanical systems, its Backus-Naur form has been developed. Based on the Backus-Naur description an algorithm allowing to transform the data from the short symbolic line description into initial data for simulation in a program package Universal Mechanism has also been developed. Experimental tests of the developed algorithm verified its correctness and efficiency. Mechanical systems of a various complexity have been modeled using the algorithm.

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

Разработка генератора уравнений

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

П.И. Голомаздин, О.Н. Дмитроченко

Аннотация—Проведен краткий обзор и анализ существующих методов формирования уравнений движения для механических систем. Выделены основные преимущества и недостатки рассмотренных подходов. Рассмотрены основные принципы описания механических систем при использовании формата короткого текстового их описания, а также алгоритм формирования уравнений движения. На основе рассмотренного алгоритма разработан генератор уравнений движения механических систем в символьной форме на основе их короткого текстового описания. Генератор реализован программно в среде Matlab. Корректность работы генератора проверена путем сравнения теоретических уравнений простейших случаев описания механических систем с результатами работы генератора, а также путём сравнения с уравнениями усложненных систем, полученными в программном комплексе Universal Mechanism для моделирования механических систем.

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

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

I. ВВЕДЕНИЕ

Уравнения Лагранжа 2-го рода. Классическим подходом получения уравнений движения для

Статья получена 23 мая 2022 г.

Голомаздин Павел Игоревич, Брянский государственный технический университет. E-mail: golomazdinp@gmail.com. Номер ORCID: 0000-0002-4567-0038.

Дмитроченко Олег Николаевич, Брянский государственный технический университет. E-mail: dmitroleg@rambler.ru. Номер ORCID: 0000-0003-0614-5991.

механических систем в аналитической механике являются уравнения Лагранжа 2-го рода. Основой для получения уравнений движения являются уравнения

* дТ дт л ■ 1

= <}1Г 1=1 ...п,

dtôqj dqj

(1)

где - полная кинетическая энергия системы; V; -обобщённая сила, соответствующая ьой обобщённой

координате п - количество степеней свободы (обобщённых координат) механической системы. Уравнение (1) представляет систему из п обыкновенных дифференциальных уравнений 2-го порядка относительно обобщённых координат.

Уравнения движения после вычисления производных имеют вид:

М(ц,€)ц = (¿(ц.ч.Ь) (2)

где ^ - матрица масс системы размером Ф -

вектор обобщённых сил.

Этот способ получения уравнений движения довольно прост и вычисления согласно нему могут быть выполнены вручную. Однако для реальных технических систем, состоящих из десятков и сотен тел, вывод уравнений вручную становится невозможным по причине их громоздкости. Вместе с тем, уравнения Лагранжа II рода в последнее время практически не используются для автоматизации вывода уравнений движения сложных механических систем. Во-первых, они требуют составления в явном виде зависимостей кинетической энергии и обобщённых сил от обобщённых координат и их производных по времени и многократного дифференцирования этих выражений, и, как следствие, их применение ограничивается выводом уравнений в полной символьной форме. С другой стороны, для систем с большим числом степеней свободы выражение для кинетической энергии является очень громоздким, и его часто невозможно разместить в оперативной памяти ЭВМ. Кроме того, практика показывает, что автоматизированный вывод уравнений движения с использованием уравнений Лагранжа является малоэффективным с точки зрения времени синтеза [1].

Альтернативный подход к формированию уравнений движения. Данный подход предложен Погореловым Д.Ю [1]. Вывод уравнений движения использует

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

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

6г.

Sîl,

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

Подставив эти зависимости в уравнение (3) получим:

(5)

Исключаем из данного уравнения силы реакции с помощью уравнения (2.3):

(6)

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

(7)

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

(2).

(8)

где:

(9)

Здесь М - матрица масс, к - матрица-столбец обобщенных сил инерции, О - матрица-столбец обобщенных сил. Матрица масс является симметричной.

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

М'* к О

распадается на определение матриц для

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

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

II. Формат короткого текстового описания

МЕХАНИЧЕСКИХ СИСТЕМ

Данный подход для формального описания кинематики и геометрии механических систем предложен в работах [2-3]. Здесь он реализуется в виде программного алгоритма.

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

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

и, V, w - определяют поступательные степени свободы вдоль местных осей х, у, ъ;

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

Другие шесть символов предлагаются для ЭП, которые не вводят степеней свободы:

^ к - описывают постоянные или явно заданные сдвиги вдоль местных осей х, у, ъ;

1, т, п - задают постоянные или явно заданные повороты вокруг местных осей х, у, ъ.

На рис. 1 представлены все двенадцать введённых ЭП и,...,ъ и ^...,п. Показано, как они изменяют относительное положение или ориентацию двух смежных систем координат. Каждый символ и, V, w, х, у, ъ вводит степень свободы, идентификатор которой обозначается именем по умолчанию:

и1, VI, w1, х1, у1, С1; числовой индекс (здесь 1) увеличивается последовательно в порядке появления соответствующего символа и,...,ъ в строке описания. Подобным образом, каждый символ ^...,п вводит параметр длины сдвига (угла поворота) с именем по умолчанию П. .¡1. к1, XI, VI (ню1).

Рис. 1 - Элементарные преобразования

Каждое из введённых элементарных кинематических преобразований может быть представлено в алгебраической форме с помощью однородной матрицы [1]:

ти _

ZJ i

irtl'

If,

т* = /1

1 О В Ut1

О 1 О О

: - : 5

D D D i J

1 D О 0 "1

0 10 0 - '

n n n i -I

7*!" _

1 В 0 Б H D 1 D

: - : 5

D D D l J

Ty = Yl

(10) T\

fi

D COSJi -inj! I D 5Î71 XL COSXl DO 0 1 ■

COS fj O SÍ71 yL

D 1 D D

- SÍ71 yL D СОВ Yí D OOl"

ODS fl -SÍ71 fi 0 0" SÍ71 COS^! О 0

D D 1С

В D В 1

■ - : i

■ - : '

1 J

1

rTTí _ T

К

rpv

î i'

)t.

= П'

t. 5

ти _ Т-У

Mi

it*?! _

U, V,

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

Ш. Формирование уравнений движения

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

tv^-лч i-T^const гглУаГт rrrí,const гглУаГт rrí,const r^var rrí,const1

Т(@) = [Т0- ■ т@1] ■ [ту ■ т(§2]■ т2- ■... ■ [T@w ■ щ ]

(11)

Здесь координаты @1, @2, ..., составляют

вектор @. Результирующая матрица (11) содержит

радиус-вектор начала г и матрицу ориентации А системы координат тела:

А{@) г(@)1 = [ аа-а£Х

(12)

Т(@) =

Произвольная материальная точка, заданная вектором р в связанной с телом системе координат, в инерциальной системе имеет координаты вида

Ра ~ t ~ Ар jjeg абсолютная скорость вычисляется по формуле Эйлера:

ра = г + А£)р = г — Apto (13)

где ы — А А _ кососимметричная матрица угловой

скорости тела. Далее в формуле (13) матрица и преобразуется посредством оператора Ходжа * в псевдовектор угловой скорости

(i-j)(J-k)(k-i)

2 - кососимметричный символ

Леви-Чивиты. И наоборот, вектор Р преобразуется в

кососимметричную оператора *

матрицу Р с использованием следующим образом:

Ё„

Pij = [*P]íj = — Pfc - -taj

Учитывая соотношение (13), лагранжиан для тела вычисляется по формуле:

L = Г - П = |Ц

р a р a m dv -

2 V

{¿Л

2

m I

mfcA1

mA~C in

I: I-

i

(14)

где

Pc =

постоянная

m

vP

ÎSvPv^

кососимметричная матрица

соответствует радиус-вектору Jo = ñvPTP^dV '

центра масс тела Рс, а * и "V постоянная симметричная матрица инерции тела (в системе координат тела). Интегрирование в формуле

(14) ведётся по объёму ^ тела, т - это масса тела, а - абсолютная вертикальная координата центра масс тела.

После суммирования лагранжианов для всех тел, уравнения движения системы могут быть записаны в форме уравнений Лагранжа 2-го рода (1):

-

J

+

dtdQi * B&iS&j

naipim= свлы ккёрцин

líate М

_ (15)

S&idt dí&i

p = О НО !.[НЫт EiHIEHKí

силы Of ÍIL",tI Qa

i = 1,..., N

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

i

V

IV. Формальное описание языка короткого текстового ОПИСАНИЯ с помощью БНФ

Нормальная форма Бэкуса-Наура (БНФ, BNF) - это формальная система описания синтаксиса, в которой одни синтаксические категории последовательно определяются через другие категории. БНФ обычно используется для описания синтаксиса языков программирования, форматов документов, наборов инструкций и протоколов связи.

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

имя_ЭП = '(' идентификатор ')' нач_ко ординат а = (">| I [число_Еыражение] нап_скорость = "' [число_Быражение] шарннрная_снла = "" [число_ЕЬ[ражение]

повтор I масса | инерция | имя_тела повтор = '(' [ЭП} У [[гл1 натуральное] масса = '$' [число_ЕЬ[ражение]

Описание кинематической структуры системы состоит из описания тел и различного рода разделителей между ними.

кинематика —

{разделитель описание _тела}

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

разделитель —

л' г>'

Описание тела состоит из элементарных преобразований (ЭП) и других элементов:

о пи сан и е_т ела = [ЭП}

ЭП = 3ncf I ЭПст I 3Hvi I ЭПуг I ЭШ£ I ЭП£г I ЭП_ I gravity

ЭПс£

число

(V I у I 'к'-) [число_Быражение]

= [[знак] ['

ВЬфЛМБЖ

ЭПсг

= [[знак] [

число

вырзг^кпЕ

["Г I 'лг' | '■»'} [число_Быражение]

ЭПу£ = [знак] Си' I V | V) {НУсилы}

ЭПуг = [знак] ('ж' I У | 'г'} [НУ_силы}

Начальные символы ЭП соответствуют таковым в коротком символьном описании, см. выше. Опциональные параметры ЭП могут включать: имя, начальные условия (НУ - начальное положение и скорость, приложенная сила в шарнире) и другие:

НУоиы = имяэп I

□иы "■'"■ЭП I Начкиврд1!нзта нач_скорость | шарннрная_сила

I

gravity = 'д' [числовырзшн|,2] [vector [_моном]] [';"' |.,, | г-п' | 'и' | ... | rs']

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

V. Генератор уравнений движения

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

Движение точки. Прямолинейное движение тела (точки) является простейшим примером. Тело, движущееся вдоль оси x, представляется одним символом u, см. рис. 2 (вдоль y - соответствует описанию v, и, наконец, w, если вдоль z). Такая запись указывает лишь направление движения, а остальные параметры заданы по умолчанию: идентификатор координаты u1, начальные условия u1=0, u1'=0, приложенные силы отсутствуют, масса тела 1 кг и др. Но если необходимо представить всю вышеуказанную информацию, описание может принять следующий вид (данная строка символов подаётся на вход генератора):

r(vo) ,г(-с1» + (16)

—d^u' —cí0sigriu' -\-asinft Здесь символ u вводит степень свободы вдоль оси x, скобки ( ) дают ей имя xp, символы °( ) определяют начальное значение координаты (x0), штрих '( ) задаёт начальную скорость (v0), знак $( ) вводит массу тела mp, двойной штрих "( ) добавляет силу, приложенную к телу. Сила в формуле (16) упруго-диссипативная с

параметрами

содержит сухое трение

и

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

и и явную гармоническую функцию с

амплитудой а и частотой f.

Материальная точка в плоскости обозначается иу на

рис. 2:

UV,

LUirs - ■

-l^l Bljgr.

+ ■

™1г1=-"11

(17)

Индекс g в выражении (17) означает, что сила тяжести учитывается в модели.

Рис. 2 - Свободная материальная точка на плоскости

и в пространстве Аналогично, точка в пространстве описывается

выражением uvwg (см. рис. 2 справа):

ЭР pdLI.lt

uvwg

jUVWg — ml"l ^ ml"l

Bl1Li1 = 0

m1ü;L = 0 ra,w, --m, g

(18)

i

На рис. 3 . приведен лагранжиан, полученный генератором уравнений и соответствующий свободному движению точки в пространстве. Он совпадает с уравнением (18).

Рис. 3 - Лагранжиан, полученный в результате генерации и^ Движение плоского тела. Плоское движение твёрдого тела естественно представляется комбинацией иУ7, которая показывает используемые степени свободы, см. рис. 4 слева.

Рис. 4 - Абсолютно твердое тело на плоскости и в пространстве

Простейшая форма иУ7 соответствует ситуации, когда центр масс С совпадает с началом подвижной системы координат. Это приводит к независимым уравнениям движения:

uvzQ

тело Е плоскости m1ii: = 0

(19)

Полученный генератором лагранжиан совпадает с теоретическим в формуле (19).

Рис. 5 - Лагранжиан, полученный в результате генерации uvzg Движение маятника. Вращательное движение маятника является популярной тестовой задачей. Различные кинематические комбинации возможны, в зависимости от направления вращения и определения продольной оси маятника (рис. 6). После поворота маятника вокруг оси z на угол Z, сдвиг вдоль оси x на постоянную величину ц к его центру масс приводит к звену, обозначаемому через R в робототехнике (zig на рис. 6). Если сдвиг происходит вдоль оси y на расстояние j, то получим обращённый маятник zjg. Если сдвиг происходит вдоль отрицательного направления оси уь получается обычный часовой маятник, z-jg. Для проверки работы генератора уравнений подадим на вход соответствующие описания маятников, например, zig или zjg, и сравним полученные формулы (рис.6 и 7). Как видно, сгенерированные выражения совпадают с теоретическими.

Рис. 6 - Различные описания маятника

M = M =

i1A2*m1 j1A2*m1

Q = Q =

д"11 *пгь1 *соз(г1) -g*j*l*rn1*siri(z1)

Рис. 7 - Матрицы M и Q маятников zig и zjg, полученные генератором уравнений

Проверка кинематических параметров. Проверим результаты работы разработанного алгоритма генерации уравнений движения путем сравнения кинематических параметров полученных при работе алгоритма с параметрами, полученными в программном комплексе «Universal mechanism» (рис. 8). Как видно на рис. 9, результаты совпадают.

Теперь проверим результаты работы алгоритма применительно к сложной механической системе -6-тизвенного манипулятора (рис. 10). Как видим, в обоих случаях получаются громоздкие выражения, которые сложно сравнить визуально (рис. 11-12). Если присмотреться, то можно увидеть расхождения в выражениях, - это связано с различающимися методами формирования уравнений движения. При этом если подставить в эти выражения конкретные значения, то результат будет абсолютно одинаковым.

Рис.10. Модель манипулятора

k3*(cos(xl)*sin(x2)*sin(z1) + cos(x2)*sin(x1)*sin(zl)) + k4*(cos(xl)*sin(x2) »sin(z1) + cos(x2)"sin(x1)"sin(z1)) + k5"-{sin(x3)'(cos{zl)*5in(z2) + cos(z2)-(cos(x1)*cos(x2)"sin(zl) -sin(xl)*sin(x2),sin(zl))) + C05(X3)*(C0S(Xl)-Sin(X2)-Sin(Zl) + cos(x2)*sin(xl)*sin(zl))) + k6 *(sin(x3)'(cos(zl)*sin(z2) + cos(z2Hcos(x1)*cos(x2;)*sin(zl) - sin(x1)"sin(x2)*sin(zl))) + cos(x3)*(cos(x1)*sin(x2)*sin(z1) + cos(x2),sin(x1),sin(z1))) + k2*sin(x1)4sin(z1)

k5i(sin(x3)i(sin(z1)isin(z2) + cos(z2)i(cos(z1)i5in(x1)isin(x2) - cos(x1)icos(x2)icos(z1))) -cos(x3)4(cos(x1)*ccis(z1)4sin(x2) + cos(x2)*cos(z1)*sin(x1))) - k44(cos(x1)*cos(z1)4sin(x2) + cos{x2)4cos(z1)4sin{x1)) - k3*{cos(x1)4cos{z1)4sin{x2) + cos{x2)*cos{z1)4sin(x1)) + k6 4(sin(x3)4(sin(z1)4sin(z2) + cos(z2)4(cos(z1)4sin(x1)4sin(x2) - cos(x1)*cos(x2)4cos(z1))) -cos(x3)4(cos(x1)4cos(z1)4sin(x2) + cos(x2)4cos(z1)45in(x1))) - k2*cos(z1)4sin(x1)

kl + k34(cos(x1)4cos(x2) - sin(>il)4sin(x2)) + k44(cos(x1)*-cos(x2) - sïn(x1)4sin(x2)) + k2 4cos(x1) + k54(cos(x3)4(cos(x1)*cos(x2) - sin(x1)4sin(x2)) - cos(z2)4sin(x3)4(cos(x1)4sïn(x2) + cos(x2)4sin(x1))) + k64(cos(x3)4(cos(x1)4cos(x2) - sin(x1)4sin(x2)) cos(z2)4sin(x3)4(cos(x1)4sin(x2) + cos(x2)4sin(x1)))

Рис.11. Результат алгоритма, применительно к манипулятору

Г =

0 body pos i t ion [ 1 ] := 0;

-fcl*sin(xl) body pos it ion [ 2 ] := -_ -kl*, si;

kl*cos (xl) body pos i t i on [ 3 ] : = _. _d*_.kl;

kl - длина тела;

а) 6) si - sin(xl);

cl - cos(xl).

Рис.9. а) результат работы алгоритма; б) результат

работы UM

*_._s2-_._s3+_,k5-_._c1»_._s4*_._s5-_.k34_,_c2*_._c34_,_s1+_,k3-_._sT_,_s24_,_s3

_bodyposition[2] := -_.k6*_._cl«_._c3-_._c54_._524_._s4-_.k6-_._c1*_._c24_._c5 "_._s34_._s4+_.k6*_._c1*_._c2i_._c34_._c4-_.k64_._c14_._c4,'_._s2,'_._s3+_.k6*_._s14_.

_c44_,_524_,_53+_.k54_,_s1*_._s4-_._s5+_,k3-_._c1*_._c24_,_c3-_.k34_,_cl*_,_524_,_s3

_bodyposition[3] := _.к6*_._с2*_._с3"_._с54_._54-_.к6*_._с54_._524_._53*_._54 +_.k6"_._c34_._c4*_._s2+_.k6"_._c24_._c4*_._s3+_.k4*_._c34_._s2+_.k44_._c2"_._s3

+_-k54_._c2'_._c44_._s3+_.k3*_._c3'_._s2+_.k3'_._c24_._s3+_.k24_._c2+_.k1 +_.base;

k1 - кб - длины звеньев манипулятора;

cl, si - cos(zl), sin(zl);

c2,s2 - cos(xl), sin(xl);

c3,s3 - cos(x2), sin(x2);

c4,s4 - cos(z2), sin(z2);

c5,s5 - cos{x3), sin(x3);

c6,s6 - cos(z3), sin(z3).

Рис. 12. Результат расчета в UM

VI. Разработка конвертора из формата MBSD в

ВХОДНЫЕ ДАННЫЕ ДЛЯ МОДЕЛИРОВАНИЯ В ПРОГРАММНОМ

комплексе Universal Mechanism

Основываясь на построенном описании БНФ был создан код конвертора. Разработанный конвертор на входе принимает символическое описание механической системы в формате MBSD, а на выходе генерерует текстовый файл input.dat, который представляет собой необходимые входные данные для построения модели механической сисетмы, описанной символическим представлением. Далее приведены некоторые примеры работы данного конвертора, подтверждающие его корректную работу.

Двухзвенный маятник описывается можно описать на языке MBSD как z°30 i > z°30 i g. С помощью конвертора удалось получить следующую модель (рис. 13).

Рис. 13. Модель двузвенного маятника, полученная с

помощью конвертора Можно применить возможности данного языка для моделирования многозвенных систем, например, рассмотренного выше манипулятора. С помощью следующей записи можно получить похожую модель: 2к+0.2>хк+0.4>х]+0.3>у]+0.15>х]+0.1>у]+0.05g.

__ - "*—■——

— g

--______ ~

/

w Ж s /

Рис. 14. Модель манипулятора с помощью конвертора Демонстрация примеров завершается моделью РАТи 655 крана для транспортировки бревен, представленного на рисунке 15 вместе с его основными геометрическими данными. Текстовое описание этой модели довольно длинное, что естественно для реальных технических систем. Для удобства читателя строка описания разделена на несколько частей (выделено красным цветом)._

1) У Йои'еМ > {-АВх, АВу} Ъ #Ьоош1 > {ВОх, ВОу} Ъ #|{Ь2 > {— аьс+ш, О1у+иу} ¡(Ж(^) #агш3 > У ъ ^^¡аипк) ё—у[] {}

2) \#Ьоош1 и(ВНх) У(ВЫу) #поаеЫ

3) \#поаен :(НБ, шаББш) {БОх—БОх, ВОу—БОу} < #Ьоош1

4) \#по<1ен :(Н1, шаББи) {О1х, О1у} < #)1Ь2

5) \#toweг4 {АСх, Асу} :"(foгcecD(t,@,@'), шавБсв)

{ВБх, BDy} < #Ьоош1

6) \#Ьоош1 {ВОх—БОх—ЕБх, ВОу—БОу—ЕБу}

:"(АэгсеЕнО;,@,@'), шаББЕн) < #по1ен

7) ; АВх=0.09, АВу=1.115, ВОх=2.88, ВОу=0.02, О1х=0.095, О1у=0.24, Ш=2.145, Пу=0.008, АСх=0.26, АСу=0.105, BDx=0.3025, BDy=0.104, ...

[Vector 1I v"'°r 1

Рис. 15. Модель PATU 655 и его геометрические

параметры

Первая строка содержит описание основной кинематической цепочки тел, обозначенных #toweг4, #Ьоош1 и т.д. Все степени свободы — вращательные вокруг осей у или 7; они выделены жирным шрифтом. Комбинация ¡(Ж(Т)) определяет относительное движение выдвижного рычага вдоль локальной оси х способом предопределенной функции Ж(Т). Положения шарниров показаны в фигурных скобках, использующих параметры смещения обозначенных в таблице на рисунке 7. Обозначение в коце ё-у определяет направление силы гравитации, комбинация []{} назначает стандартные названия для инерционных параметров 1х1, 1у1, 1Л, ... и для локальных координат центра гравитации рх1, ру1, рл, ... для каждого тела. Этим названиям должны быть назначены чиленные значения, как показано в последней строке.

Вторая строка определяет вспомогательное звено #по1ен, служащая как точка приложения для силового привода Ен, см. ниже. Движение этого звена определяется относительно звена #Ьоош1, использующего две дополнительных декартовы степени свободы Внх и Вну с началом в точке В.

Третья строка и четвертая соединяют звено #по1ен со звеньями #Ьоош1 и #]1Ь2 с помощью нерастяжимых

соединений длинами HF и HI, соответственно, обозначенных символами :().

Пятая строка и шестая описывают подъемный привод CD и привод EH с помощью биполярных сил :"(). Функции forceCD(t,@,@') and forceEH(t,@,@'), вместе с упомянутым выше JK(t) должны быть объявлены пользователем (не показаны).

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

VII. Заключение

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

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

Была проведена проверка работоспособности реализованного алгоритма генерации уравнений движения и конвертора на примере как примитивных тестовых, так и реальных механических систем. Также было проведено сравнение результатов работы разработанного алгоритма с результатами расчета в программном комплексе «Universal mechanism».

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

Библиография

[1] Погорелов Д.Ю. Введение в моделирование динамики систем тел: Учеб. пособие. - Брянск: БГТУ, 1997

[2] Погорелов Д.Ю., Дмитроченко О.Н. Формальное символическое описание механических систем тел: Статья. - XI Всероссийский съезд по фундаментальным проблемам теоретической и прикладной механики. Казань: Казанский (Приволжский) федеральный университет, 2015.

[3] O. Dmitrochenko, A. Mikkola, A. Olshevskiy. Arbitrary mechanical system description by a symbolic line. - IOP Conference Series: Materials Science and Engineering, Volume 124, International Conference on Mechanical Engineering, Automation and Control Systems 2015 (MEACS2015) 1-4 December 2015, Tomsk, Russia

[4] Программный комплекс [Электронный ресурс]: среда моделирования «Универсальный механизм» - Режим доступа: http://www.umlab.ru/ (Дата последнего обращения: 28.02.2022)

Motion equation generator development

for mechanical systems based on their

short symbolic line description

P.I. Golomazdin, O.N. Dmitrochenko

Abstract - A short review and analysis of existing methods of motion equations building for mechanical systems has been carried out. Advantages and disadvantages of reviewed methods have been pointed out. General principals of mechanical system description by a short symbolic line and an algorithm for motion equations building have been reviewed. A generator of motion equations based on the reviewed algorithm has been developed in the Matlab environment. The appliance and correctness of the developed generator have been verified by comparing theoretical results obtained manually to practical outcomes obtained by using the generator. Also a comparison of more complicated motion equations for mechanical systems has been carried out using the generator results and results gained by using the program package Universal Mechanism.

Since the short symbolic line description can be considered as a special language describing mechanical systems, its Backus-Naur form has been developed. Based on the Backus-Naur description an algorithm allowing to transform the data from the short symbolic line description into initial data for simulation in a program package Universal Mechanism has also been developed. Experimental tests of the developed algorithm verified its correctness and efficiency. Mechanical systems of a various complexity have been modeled using the algorithm.

Key words - mechanical systems, short symbolic line description, Matlab, motion equations of mechanical systems, Universal mechanism.

References

[1] Pogorelov D.Ju. Vvedenie v modelirovanie dinamiki sistem tel: Ucheb. posobie. - Brjansk: BGTU, 1997

[2] Pogorelov D.Ju., Dmitrochenko O.N. Formal'noe simvolicheskoe opisanie mehanicheskih sistem tel: Stat'ja. - HI Vserossijskij s"ezd po fundamental'nym problemam teoreticheskoj i prikladnoj mehaniki. Kazan': Kazanskij (Privolzhskij) federal'nyj universitet, 2015.

[3] O. Dmitrochenko, A. Mikkola, A. Olshevskiy. Arbitrary mechanical system description by a symbolic line. - IOP Conference Series: Materials Science and Engineering, Volume 124, International Conference on Mechanical Engineering, Automation and Control Systems 2015 (MEACS2015) 1-4 December 2015, Tomsk, Russia

[4] Programmnyj kompleks [Jelektronnyj resurs]: sreda modelirovanija «Universal'nyj mehanizm» - Rezhim dostupa: http://www.umlab.ru/ (Data poslednego obrashhenija: 28.02.2022)

Golomazdin Pavel Igorevich, student of the «Informatics and software» Department of the Bryansk State Technical University, tel. +7-953-270-2473, E-mail: golomazdinp@gmail.com. ORCID number: 0000-0002-45670038.

Dmitrochenko Oleg Nikolaevich, candidate of physical and mathematical sciences, docent of the Department informatics and software of the Bryansk State Technical University, tel. +7-903-818-34-24, E-mail: dmitroleg@rambler.ru. ORCID number: 0000-0003-0614-5991.

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