Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

2205

.pdf
Скачиваний:
14
Добавлен:
07.01.2021
Размер:
4.03 Mб
Скачать

Рис. 35. Блоки упруговязких элементов

Force Elements

Раздел содержит два блока (рис. 35): 1. Body Spring & Damper; 2. Joint Spring & Damper.

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

тели Sensors & Actuators.

Body Spring & Damper

1. Блок Body Spring & Damper

 

 

 

 

 

 

 

 

 

 

 

Body B

 

моделирует соединение

двух точек

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

F

 

двух тел упруговязким

элементом

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

так, как это показано на рис. 36.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

F

То есть при изменении расстоя-

 

 

 

 

 

 

 

 

 

 

 

Body A

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ния между заданными точками двух

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

тел (к портам которых присоединен

Рис. 36. Схема соединения двух тел

блок Body Spring & Damper) изменя-

 

упруговязким элементом

 

ется усилие F, которое прикладыва-

 

Body Spring & Damper

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

40

Рис. 37. Настройка параметров блока

Body Spring & Damper

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

F = –k·(r-r0)–b·v,

где k – коэффициент упругости; b – коэффициент вязкого трения. Значения коэффициента упругости Spring constant (k), коэффи-

циента вязкого трения Damper constant (b) и расстояния равновесия между точками Spring natural length (r0) должны быть заданы в окне настройки параметров блока (рис. 37).

Расстояние равновесия между точками Spring natural length (r0) – это такое расстояние, при котором сила упругости равна нулю.

Блок Body Spring & Damper имеет в окне модели два обязательных порта, для соединения двух соседних тел. Число портов блока не может быть изменено. Подключение блока Body Spring & Damper к двум блокам Body в окне модели должно выполнятся параллельно с соединением блоков Body через какой-либо шарнир типа Joint, например так, как показано на рис. 38.

41

 

 

 

 

 

 

 

B

F

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

CS2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

CS2

 

 

 

 

Custom Joint

 

 

 

 

 

 

 

 

 

 

 

CS1

 

 

 

 

 

 

 

 

 

 

 

CS1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

CS3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

CS3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Body1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Body2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Body Spring & Damper

Рис. 38. Пример соединения двух тел блоком Body Spring & Damper

Соединение двух тел параллельно необходимо, поскольку сам упруговязкий элемент Body Spring & Damper не задает никаких степеней свободы.

2. Блок Joint Spring & Damper моделирует соединение двух частей примитивов шарнира, к которому он подключен. Этот блок имеет только один порт, поскольку он присоединяется к единственному блоку шарнира Joint.

Действие блока Joint Spring & Damper аналогично действию упруговязкого элемента Body Spring & Damper с той лишь разницей, что Joint Spring & Damper прикладывает усилие/момент не к двум точкам тел, а к двум частям примитива (элементарного сочленения вращательного типа R или поступательного типа P) какого-либо шарнира. В зависимости от того, какой тип примитива выбран (P или R), прикладывается усилие или момент соответственно. Один блок Joint Spring & Damper может возбуждать сразу все примитивы шарнира, к дополнительному порту которого он присоединен, или только часть из них. Для выбора возбуждаемых примитивов служит простановка флажков в полях колонки Enable окна настройки (рис. 39).

Также в окне настройки должны быть заданы значения коэффициента упругости Spring constant (k), коэффициента вязкого трения Damper constant (b) и линейного/углового расстояния равновесия между частями примитива Spring Offset (x0).

42

Рис. 39. Настройка параметров блока Joint Spring & Damper

Описанные блоки Body Spring & Damper и Joint Spring & Damper

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

С помощью блоков Body Actuator и Joint Actuator, дополнитель-

но используя блоки Body Sensor, Joint Sensor и ряд обычных блоков Simulink, можно выполнять те же функции, что и при помощи блоков

Body Spring & Damper и Joint Spring & Damper. Поясним это на при-

мере моделирования упруговязкого элемента вращательного шарнира Revolute с одной степенью свободы. Возбуждение шарнира Revolute происходит по единственному его примитиву R1. На рис. 40, а показано моделирование упруговязкого элемента при помощи блоков Joint Sensor, Joint Actuator, Constant, Demux, Gain и Sum, то есть не прибегая к использованию специального блока из раздела Force Elements. Обработка сигналов происходит следующим образом: блок Joint Sensor измеряет текущий угол поворота шарнира (в радианах) и угловую скорость. Затем этот векторный сигнал разделяется на два скалярных при помощи блока Demux. Текущий угол сравнивается с равновесным значением X0=2.2 при помощи сумматора, и их

43

разность умножается на приведенный коэффициент упругости k=20000. В результате получается момент упругости. Угловая скорость умножается на коэффициент вязкого трения b=50000 и получается момент вязкого трения, который вычитается из момента упругости, поскольку он всегда направлен против движения. Результатом является искомый возбуждающий момент, который при помощи бло-

ка Joint Actuator подается на шарнир Revolute.

CS1 CS2

 

 

 

 

 

 

 

 

 

 

CS1 CS2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Body1

 

 

 

 

 

 

 

 

 

 

 

Body2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

B F

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

CS1 CS2

 

 

 

 

 

 

 

 

 

 

 

 

CS1 CS2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

B

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Body1

 

 

 

 

 

 

F

 

 

 

 

 

Body2

 

 

 

 

Revolute

 

 

 

 

 

 

 

 

 

 

 

 

20000

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Revolute

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Joint Sensor

 

 

 

 

 

2.2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

50000

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Joint Spring & Damper

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Joint

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Actuator

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

а)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

б)

Рис. 40. Две альтернативные модели SimMechanics, имитирующие упруговязкий элемент шарнира Revolute: а) с использованием блоков Joint Sensor и Joint Actuator; б) с использованием блока Joint Spring & Damper

Модель на рис. 40, б, напротив, использует единственный специальный элемент Joint Spring & Damper для решения той же задачи. Сравнив схемы, можно сделать вывод, что один блок Joint Spring & Damper заменяет собой восемь блоков при альтернативном описании, то есть очевидно значительное упрощение модели. Причем в рассматриваемом примере шарнир имеет лишь один примитив, а если бы их было, например два, то единственный блок Joint Spring & Damper заменил бы собой уже не восемь, а шестнадцать альтернативных блоков.

Однако использование блоков из раздела Force Elements имеет и свои недостатки. Задаваемые в окне настройки параметры блоков, а именно коэффициент упругости, коэффициент вязкого трения и расстояние равновесия, не могут быть изменены обычными средствами во время моделирования. Это ограничивает колебания малыми перемещениями, делает описание линейным. Альтернативная модель (см. рис. 40, а), несмотря на свою сложность, более универсальна, допус-

44

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

1.6. Вспомогательные механические блоки Utilities

Блоки из этого раздела выполняют в моделях SimMechanics вспомогательные функции. Всего в разделе Utilities четыре блока

(рис. 41): 1. Connection Port; 2. Continuous Angle; 3. Convert from Rotation Matrix to Virtual Reality Toolbox; 4. Mechanical Branching Bar.

Рис. 41. Вспомогательные механические блоки Utilities

1. Блок Connection Port используется в модели SimMechanics вместо обычных Simulink-блоков ввода и вывода In и Out. Если создается подсистема, содержащая блоки SimMechanics, и необходима передача двухсторонних механических сигналов в основную модель или подсистему более высокого уровня, то вместо однонаправленных блоков In и Out используется вспомогательный механический блок

Connection Port.

45

2.Блок Continuous Angle позволяет получить (при использовании совместно с блоком измерителя Joint Sensor) правильное значение угла относительного поворота двух частей вращательного примитива шарнира, если угол поворота превышает значение ±π радиан. Использование в этих случаях только одного блока Joint Sensor вызывает разрыв измеряемого значения угла величиной в 2π радиан. Блок Continuous Angle должен следовать за блоком Joint Sensor, и на его вход, кроме самого угла Angle, нужно подавать скорость изменения угла Rate. Тогда на выходе блока получится непрерывный сигнал угла.

3.Необходимость использования блока Convert from Rotation Matrix to Virtual Reality Toolbox может возникнуть лишь в том слу-

чае, если для визуализации движений звеньев механизма в процессе моделирования используется пакет Virtual Reality Toolbox системы MATLAB. Для задания ориентации тела в 3-D пространстве виртуальной анимационной сцены Virtual Reality необходимо подать на вход специального блока VR Sink из отдельной библиотеки Virtual Reality Toolbox векторный сигнал, состоящий из четырех компонент вида [nX nY nZ θ], где nX, nY, nZ – компоненты единичного вектора, определяющего в декартовой системе координат тела Base ось поворота тела Follower относительно Base на воображаемом сферическом примитиве; θ – угол поворота вокруг указанной оси в радианах.

Блок Convert from Rotation Matrix to Virtual Reality Toolbox пре-

образует подаваемую на его вход матрицу направляющих косинусов

углового положения тела ([3 3] Rotation matrix, может быть измерена блоком Body Sensor) в четырехкомпонентный вектор [nX nY nZ θ], который может быть подан на вход блока виртуальной анимации VR Sink.

4.Блок Mechanical Branching Bar выполняет важную функцию

вплане упрощения механических моделей. Он способен объединить нескольких линий, соединяющих механические блоки тел Bodies, шарниров Joints или связей Constraints & Drivers с виртуальными измерителями и возбудителями Sensors & Actuators в одну линию. Это позволяет использовать один порт блока Body, Joint, Constraint или Driver для связи с несколькими блоками типа Sensors & Actuators.

Пример использования блока Mechanical Branching Bar приведен на рис. 42. Блок шарнира Custom Joint здесь имеет один дополни-

46

тельный порт вместо четырех, благодаря использованию Mechanical Branching Bar.

CS1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Scope

 

Body

 

 

 

 

 

 

 

 

 

Ground

Joint Sensor

 

 

 

 

B

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

F

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Custom Joint1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Joint Sensor1 Scope1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Sine Wave

Joint Actuator

Mechanical

Branching

 

 

Bar

Sine Wave1

Joint Actuator1

 

Рис. 42. Пример использования блока

Mechanical Branching Bar

В качестве единственного параметра блока Mechanical Branching Bar выступает число ветвлений.

1.7. О топологии механизмов в SimMechanics

Основу блок-схемы любого механизма в SimMechanics составля-

ет цепь звеньев типа Ground-Joint-Body-Joint-Body-Joint-…-Body. Как вариант, вместо шарниров типа Joint в цепи могут присутствовать блоки связей Constraints & Drivers. Эти цепи могут быть с открытой или с закрытой топологией, то есть замкнутые или разомкнутые.

Чтобы избежать ошибок при моделировании, необходимо быть уверенным, что топология построенной блочной диаграммы SimMechanics правильная. Блочная диаграмма будет правильна с топологической точки зрения, если все механизмы, из которых она состоит, адекватны. Механизм же адекватен, если адекватно его основное дерево (цепь звеньев, указанная выше). Таким образом, чтобы определить, является ли модель адекватной, сначала необходимо по-

47

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

Для получения основного дерева механизма необходимо удалить (условно) из модели механизма все блоки, кроме блоков тел и шарниров Ground, Joint и Body и открыть каждый замкнутый контур в механизме при их наличии. Чтобы открыть замкнутый контур, необходимо удалить из этого контура блок шарнира Joint или связи (при наличии блоков из раздела Constraints & Drivers).

Например, для механизма с двумя замкнутыми контурами (рис. 43) для решения задачи возможно удаление двух блоков: разобранно-

го шарнира Disassembled Prismatic и стационарной связи Parallel Constraint.

Рис. 43. Пример определения основного дерева механизма с двумя замкнутыми контурами

Топологическая адекватность основного дерева гарантируется следующими условиями: основное дерево должно иметь по меньшей мере один блок основания Ground, связывающий механизм с инерциальной системой координат; каждый блок шарнира должен быть обязательно связан с двумя блоками тел; каждый блок тела не основания Body должен иметь собственный путь к блоку основания Ground; каждый блок тела не основания Body в конце цепи звеньев

48

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

Примеры неправильной топологии механизмов приведены на рис. 44, а) механизм с закрытым контуром не имеет блока основания; б) открытый механизм имеет обособленный блок шарнира Prismatic; в) другой открытый механизм имеет тело с массой, равной нулю в конце цепи тел (например, тело Body4, из блок-схемы этого не видно).

а)

б)

в)

Рис. 44. Примеры неправильной топологии механизмов (начало)

Рис. 44. Примеры неправильной топологии механизмов (окончание)

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]