Uploaded by vakormgtu

Метод. матер. для инженеров в Simulink. Ч1

advertisement
See discussions, stats, and author profiles for this publication at: https://www.researchgate.net/publication/327915610
Методические материалы для подготовки инженеров. Часть 1: Simulink
для робототехнических систем
Preprint · September 2018
DOI: 10.13140/RG.2.2.18688.48643
CITATIONS
READS
0
1,263
2 authors, including:
Dmytro Humennyi
Global Logic
54 PUBLICATIONS 16 CITATIONS
SEE PROFILE
Some of the authors of this publication are also working on these related projects:
Methodical materials for the training of robotics engineers View project
Автоматизація управління кібернетичним протезом опорно-рухового апарата людини View project
All content following this page was uploaded by Dmytro Humennyi on 27 September 2018.
The user has requested enhancement of the downloaded file.
Global Logic Ukraine
Методические материалы для подготовки
инженеров
Часть 1:
Simulink
для робототехнических систем
Составители:
Дмитрий Гуменный, Ph.D.
Андрей Пирумов, Ph.D.
Ответственный редактор:
Эдуард Канцыпа
Киев, 2018
СОДЕРЖАНИЕ
1.
2.
3.
4.
5.
6.
Введение
Моделирование систем в Simulink MATLAB
Моделирование динамики средствами SimScape Simulink MATLAB
3.1. Моделирование динамики средствами SIMULINK SimScape
Simmechanics I GENERATION
3.2. Моделирование динамики средствами SIMULINK SimScape
Simmechanics II GENERATION
Використання Embedded Coder для формування пограмних вихідників
Список использованных источников
Авторы и составители
Simulink для робототехнических систем
GlobalLogic Ukraine
Страница 2 из 71
1.Введение
Целью разработки данного методического материала является
интеграция базовых объяснений к применению программного комплекса
средств SIMULINK MATLAB для решения задач Globallogic Ukraine
связанных с робототехникой с точки зрения моделирования динамики
системы.
Пакет Simulink может использоваться для расчетов, функционального и
имитационного моделирования различных систем.
Используя принцип визуального программирования, пакет Simulink
позволяет создавать модели из стандартных блоков, помещенных в
различных библиотеках, а также выполнять различные расчеты. При
моделировании пользователь имеет возможность выбирать метод решения
дифференциальных уравнений, способ изменения времени моделирования (с
фиксированным или переменным шагом), а также следить за процессами,
которые происходят в системе. Результаты моделирования могут выводиться
в различные приемники в виде числовых значений, графиков или таблиц.
Пакет Simulink [1–2] включает в себя полный комплекс библиотек
блоков, необходимых для создания функциональных моделей систем
управления и динамических систем, механических систем, систем связи,
цифровых, электротехнических и энергетических устройств и т.д. При этом
он позволяет изменять библиотечные блоки, а также создавать собственные.
Библиотека SimScape включает Mechanical и Multibody (рисунок 1.1).
Simulink для робототехнических систем
GlobalLogic Ukraine
Страница 3 из 71
Рисунок 1.1. - Библиотеки SimScape
Библиотека SimScape > Mechanical включает Mechanical Sensors | Sources для
считывания и задачи динамических свойств механическому телу. Также
библиотека включает Rotational | Translational Elements для описания
поворотного и линейного перемещения механических тел. Эта библиотека
описывает силы, моменты и положения с точки зрения абстрактной
динамической системы.
Библиотека SimScape > Multibody Разделяется на две группы (поколения).
Эти библиотеки позволяют описать динамику систем абсолютно-твердых
тел, связанные с кинематические и динамические цепи.
В данных методических указаниях описывается версия MATLAB R2017а.
2.Моделирование систем в Simulink MATLAB
MATLAB позволяет проводить в диалоговом режиме визу​альные
исследования во времени (визуальное программирование) характеристик
различных систем, с помощью программного модуля Simulink. При этом
модель исследуемой системы представляется в виде структурной модели и
сохраняется в файле с расширением .slx (для более ранних версий MATLAB с расширением .mdl).
Simulink для робототехнических систем
GlobalLogic Ukraine
Страница 4 из 71
Модели создаются по технологии Drag-and-Drop (перетащи и оставь) из
отдельных блоков (модулей). Сами модули хранятся в библиотеках
программного модуля Simulink, которые имеют иерархическую структуру и
могут расширяться пользователем за счет разработки собственных блоков.
При этом в зависимости от особен​ностей имитации процессов различают
S-модели и Р-модели. В S-моделях входные и выходные величины не имеют
физического содержания, а линии соединения переносят некоторый
информаци​онный сигнал (Р-модели имитируют процессы в электрических
цепях).
Для наблюдения моделируемых процессов используются спе​циальные блоки
(«обзорные окна»), входящие в состав библиотек Simulink.
1. Запустить программу MATLAB и
с помощью команды Home
> New > Simulink
Model (для
версии с меню - это
команда File^New^Model) открыть новое пустое окно untitled
(рису​нок 1), в котором будет осуществляться сборка Системи.
Выбрать в открывшемся окне команду File > Save As... и
со​хранить файл под именем model_l на диске в своей папке.
2. 2 С помощью кнопки
открыть окно библиотеки Simulink
Library Browser (рисунок 1.1.). В левой части которого
представлен перечень Simulink-библиотек, входящих в состав
установленной конфигурации программного модуля Simulink. В
правой части окна на закладке Library (Рисунок 2.1.): Simulink в
зависимости
от
выбранной
библиотеки
помещаются
соответствующие пиктограммы ее разделов.
Simulink для робототехнических систем
GlobalLogic Ukraine
Страница 5 из 71
Рисунок 2.1. - Закладка Library Simulink
3. Ознакомиться с основными блоками раздела Sinks (Приемники)
библиотеки Simulink. На рисунке 2.2. показаны блоки раздела Sinks, которые
используются как обзорные окна при моделировании. Они позволяют
управлять
процессом
моделирования,
обеспечивают
сохранение
промежуточных и исходных результатов моделирования. Блоки раздела Sinks
имеют только входы и не имеют выходов.
Simulink для робототехнических систем
GlobalLogic Ukraine
Страница 6 из 71
Рисунок 2.2. - Раздел Sinks в Simulink
В данной работе в качестве обзорных окон при моделировании используются
следующие блоки раздела Sinks:
● блок Scope с одним входом – выводит в графическое окно график
зависимости от времени подаваемой на его вход величины;
● блок Display с одним входом – предназначен для отображения
численных значений входной величины.
4. Ознакомиться с основными блоками раздела Sources (Источники)
библиотеки Simulink (рисунок 2.3.), которые предназначены для
формирования входных сигналов и обеспечивают работу S-модели в целом
или отдельных ее частей при моделировании. Они имеют по одному выходу,
но не имеют входов. Блоки ​источники могут настраиваться
пользователем.
Simulink для робототехнических систем
GlobalLogic Ukraine
Страница 7 из 71
Рисунок 2.3. - блоками раздела Sources (Источники)
В данной работе будут использоваться следующие блоки-источники:
● Sine Wave – генерирует непрерывный гармонический сигнал;
● Signal Generator – создает непрерывный колебательный сигнал одной
из форм: синусоидальной, прямоугольной, треугольной или случайной;
● Pulse Generator – генерирует непрерывный прямоугольный сигнал;
● Constant – генерирует сигнал, постоянный по времени.
5.Построить блок-схему S-модели, содержащей следующие блоки
библиотеки Simulink: Sine Wave из раздела Sources, дифференцирующий
блок Derivative из раздела Continuous и Scope из раздела Sinks (рисунок 2.4.).
Добавить блок можно с помощью команды Add to (Имя модели)
контекстного меню, вызываемого нажатием правой кнопки мыши (ПКМ),
или перетаскиванием блока между открытыми окнами при нажатой левой
кнопки мыши (ЛКМ).
Если требуется развернуть блок, то нужно выделить блок,
нажать ПКМ и выбрать в появившемся контекстном меню команду
Rotate&Flip, которая имеет несколько вариантов исполнения:
● Clockwise – разворот блока на 90 по часовой стрелке(Ctrl+R);
● Clockwise – разворот блока на 90 против часовой стрелки
(Ctrl+Shift+R);
Simulink для робототехнических систем
GlobalLogic Ukraine
Страница 8 из 71
● Flip Block – разворот блока в другую сторону (Ctrl+I);
● Flip Block Name – перенос надписи с другой стороны блока.
Рисунок 2.4. - дифференцирующий блок Derivative из раздела Continuous и Scope из
раздела Sinks
Для соединения между блоками нужно нажать ЛКМ на блоке - источнике и,
удерживая кнопку Ctrl, нажать ЛКМ на блоке - приемнике или протащить
нажатую ЛКМ от выхода одного блока к входу другого.
5.1 Выполнить двойной щелчок по блоку Sine Wave и установить в
появившемся окне свойств следующие значения:
● амплитуда гармонического сигнала Amplitude – 5;
● смещение или постоянная составляющая Bias – 0;
● частота колебаний , рад/с Frequency (rad/sec) – 1;
● начальная фаза, рад Phase – 0.
Так как моделируется непрерывная система, то установим значение шага
модельного времени Sample time – 0. При моделировании дискретных систем
Sample time > 0. При Sample time = –1 значение шага модельного времени
устанавливается таким же, как в предыдущем блоке. Все остальные
установки в окне свойств блока Sine Wave оставить без изменения.
5.2 Выполнить двойной щелчок по блоку Scope. В результате откроется
окно Scope, для настройки свойств которого необходимо нажать на его
панели инструментов кнопку
В результате откроется диалоговое окно
‘Scope’ parameters (рисунок 2.5.), на вкладке General которого необходимо
задать следующие значения параметров:
● количество графических полей Number of axes: – 2;
Simulink для робототехнических систем
GlobalLogic Ukraine
Страница 9 из 71
● верхняя граница модельного времени, укладываемого по оси абсцисс
Time range: – 2*pi (определим исходя из заданного значения угловой
частоты блока Sine Wave = 2f = 2/Т = 1 рад/с, что соответствует
периоду гармонического сигнала в секундах Т = 2/ = 2/1 = 2);
● подписи для всех осей Tick labels: – all.
Рисунок 2.5. - Настройки свойств блока Scope
Следует иметь в виду, что если размер заданного интервала моделирования
Тм будет установлен больше значения Time range, то в окне Scope будет
отображен только график, соответствующий последнему отрезку времени,
равному Тм – n* Time range, где n – целое число.
Выбрать в окне ‘Scope’ parameters из списка Sampling (Дискретизация)
значение Decimation (Прореживание) и задать в соседнем правом окне
значение «1», обозначающее количество интервалов дискретизации, через
которые полученные данные моделирования будут использоваться для
построения графиков. Если в списке Sampling выбрать значение Sample time,
то в соседнем правом окне необходимо указать промежуток времени,
кратный интервалу дискретизации, через который полученные данные
моделирования будут использоваться для построения графиков.
Команды на вкладке History в окне ‘Scope’ parameters (рисунок 2.6.)
позволяют задать максимальное количество элементов массива данных,
используемых для построения графиков. Данные, которые используются для
построения графика в окне Scope, можно записать в рабочее пространство
MATLAB, если установить флажок Save data to workspace. При этом в поле
Simulink для робототехнических систем
GlobalLogic Ukraine
Страница 10 из 71
Variable name (Имя переменной) можно изменить имя переменной, а в поле
Format (формат) выбрать один из трех форматов записи данных: Array
(Массив, матрица), Structure (Структура) или Structure with time (Структура с
временем).
Рисунок 2.6. - History в окне ‘Scope’ parameters
Команды на вкладке Style в окне ‘Scope’ parameters (рисунок 2.7.) позволяют
задать цвет для фигуры, фона и осей, тип, толщину и цвет линии, тип маркера
в точках дискретизации, используемых для построения графиков в окне
Scope.
Установить белый цвет фигуры Figure color: и фона Axes color:, а цвет осей –
черным. Задать в области Line: для обеих линий толщину 2 и черный цвет.
5.3 Соединить блоки между собой в соответствии с рисунком 2.8. Для
этого установить указатель мыши в области выходного порта блока Sine
Wave (при этом указатель принимает вид крестика) и, удерживая нажатой
ЛКМ, переместить указатель к верхнему входному порту блока Scope. После
отпускания кнопки мыши появится линия связи со стрелкой на конце,
указывающей направление передачи сигнала. Нижний входной порт блока
Scope соединить с выходным портом блока Derivative. Входной порт блока
Derivative навести на нужное место первой линии связи при нажатой ЛКМ и
отпустить. В результате на линии связи появится узел в виде точки.
Simulink для робототехнических систем
GlobalLogic Ukraine
Страница 11 из 71
Рисунок 2.7. - Параметры визуализации графиков
Рисунок 2.8. - Связи между блоками
5.4 Перед запуском полученной блок-схемы на моделирование сначала
необходимо установить требуемые параметры моделирования, выбрав
команду Simulation > Simulation Model Configuration Parameters или нажав на
панели инструментов клавишу. В результате откроется окно настройки
параметров, группа Solver которого показана на рисунке 2.9.
Simulink для робототехнических систем
GlobalLogic Ukraine
Страница 12 из 71
Рисунок 2.9. - Окно Simulation Model Configuration Parameters
Задать в области Simulation time значения начального времени
моделирования Start time: 0.0 и конечного времени моделирования Stop time:
2*pi. Величина конечного времени выбрана из условия проведения
моделирования в течение одного периода гармонического сигнала, частота
которого в рассматриваемом случае равна 1 рад/с. Однако следует иметь в
виду, что текущее физическое время и время моделирования не являются
одинаковыми понятиями. Время моделирования зависит от сложности
модели, метода решения и быстродействия компьютера. Выбор метода
моделирования и его параметров осуществляется в области Solver options.
Опция Type: задает тип решения:
● с переменным шагом (Variable-step), который рекомендуется при
расчете непрерывных систем;
● c фиксированным шагом (Fixed-step), который рекомендуется при
расчете дискретных систем.
Лучшие результаты чаще всего дает решение с переменным шагом, так как
при увеличении скорости изменения результатов в процессе решения
автоматически уменьшается шаг и наоборот [1]. Кроме того, программа с
переменным шагом в отличие от программы с постоянным шагом выполняет
контроль ошибок моделирования и определение пересечения нуля.
Опция Solver: задает несколько вариантов методов моделирования. Первый
вариант (discrete) используется для расчета дискретных систем. Остальные
методы используются для расчета непрерывных систем. При моделировании
с переменным шагом по умолчанию устанавливается метод общего
назначения ode45 (одношаговый явный метод Рунге – Кутта 4-го и 5-го
порядков точности).
Simulink для робототехнических систем
GlobalLogic Ukraine
Страница 13 из 71
Выбрать способ моделирования Variable-step. При этом системой по
умолчанию устанавливаются значения auto:
● для максимального шага расчета, который определяется как
Мах step size = (StopTime – StartTime)/50;
● минимального шага расчета Мin step size;
● начального значения шага моделирования Initial step size.
Для выбранного на рисунке 10 диапазона при моделировании с переменным
шагом моделирования максимальный шаг расчета в секундах равен:
(2 – 0)/50 = /25 0,126.
5.5 Начать моделирование с помощью команды Simulation > Run. На
рисунке 2.10 представлены результаты моделирования, показывающие
гармонические сигналы на входе и на выходе дифференцирующего блока
Derivative.
Рисунок 2.10 - Результаты моделирования (гармонические сигналы на входе и на выходе
дифференцирующего блока Derivative)
Из графиков видно, что для обоих сигналов амплитуда равна 5, период
синусоидального сигнала в секундах равен:
Т = 2 * pi = 6.28,
что соответствует частоте синусоидального сигнала в герцах равной:
f = 1/Т = 1/(2 * pi)
и угловой частоте в радианах в секунду:
w = 2 * pi * f = 1.
Синусоидальный сигнал sin(t) на входе дифференцирующего блока
преобразуется на его выходе в сигнал cos(t), так как дифференциал от синуса
равен косинусу.
5.6 Установить в диалоговом окне ‘Scope’ parameters: на закладке Style
тип маркера Marker: в точках дискретизации, используемого для построения
графика в окне Scope, в виде круга.
Начать моделирование с помощью команды Simulation > Run.
Simulink для робототехнических систем
GlobalLogic Ukraine
Страница 14 из 71
На рисунке 2.11 представлены результаты моделирования. Расстояние между
двумя соседними маркерами соответствует интервалу дискретизации, через
который полученные данные моделирования используются для построения
графиков.
Рисунок 2.11 - Результаты моделирования: расстояние между двумя соседними маркерами
соответствует интервалу дискретизации
5.7 Установить в диалоговом окне ‘Scope’ parameters: на закладке
General для списка Sampling значение Decimation, равным «5», что
соответствует шагу дискретизации для построения графика, равному:
5 * pi / 25 = pi / 5 = 0.63.
Начать моделирование с помощью команды Simulation > Run. На рисунке
2.12 представлены результаты моделирования. Расстояние между двумя
соседними маркерами соответствует интервалу дискретизации, примерно
равному 0.63.
Рисунок 2.12. - Результаты моделирования: расстояние между двумя соседними
маркерами соответствует интервалу дискретизации
Подобрать параметры моделирования таким образом, чтобы на графике в
блоке Scope отображался один период. Включить в отчет по лабораторной
Simulink для робототехнических систем
GlobalLogic Ukraine
Страница 15 из 71
работе содержимое рабочего окна с моделью и окна параметров входящих в
нее блоков. Представить результаты моделирования в обзорном окне блока
Scope для значения его параметра Decimation, равного 1 и 5. Провести анализ
полученных графиков зависимостей и сделать выводы.
6 Построить блок-схему S-модели, содержащей следующие блоки
библиотеки Simulink: Pulse Generator из раздела Sources, интегрирующий
блок Integrator из раздела Continuous, блок Mux из раздела Commonly Used
Blocks и Scope из раздела Sinks (рисунок 2.13).
Рисунок 2.13 - Блоки Pulse Generator из раздела Sources, блок Integrator из раздела
Continuous, блок Mux из раздела Commonly Used
6.1 Выполнить двойной щелчок по блоку Pulse Generator и установить в
появившемся окне следующие значения параметров:
● тип импульсов (Pulse type:) – непрерывный импульс, аргумент
время (Time based);
● время (Time(t):) – Use simulation time;
● амплитуда (Amplitude) – 1;
● период в секундах (Period) – 2;
● ширина импульса в процентах от периода (Pulse width) – 50;
● величина задержки первого импульса относительно t = 0 (Phase
delay) – 0.
6.2 Выполнить двойной щелчок по блоку Integrator и установить в
появившемся окне следующие значения:
● источник начального значения выходного сигнала (Initial condition
source:) – внутренний (Internal);
● начальное значение выходного сигнала (Initial condition:) – 0;
● верхний уровень ограничения выходного сигнала (Upper saturation
limit) – inf (бесконечность);
● нижний уровень ограничения выходного сигнала (Lower saturation
limit:) – –inf (минус бесконечность).
6.3 Выполнить двойной щелчок по блоку мультиплексор (смеситель) Mux, предназначенному для объединения входных сигналов в вектор, и установить в появившемся окне следующие знаЧения:
Simulink для робототехнических систем
GlobalLogic Ukraine
Страница 16 из 71
● количество входов (Number of Inputs:) – 2;
● способ отображения (Display option:) – bar (вертикальный узкий
прямоугольник черного цвета).
6.4 Соединить блоки в соответствии с рисунком 2.14.
6.5 Выполнить двойной щелчок по блоку Scope и установить на
вкладке Style окна ‘Scope’ parameters белый цвет фигуры Figure color: и фона
Axes color:, а цвет осей – черным.
Рисунок 2.14 - Соединение блоков в систему
Задать в области Line: для первой линий тип линии – сплошная, толщину – 2,
цвет – черный, тип маркера Marker в точках дискретизации – в виде круга.
Задать в области Line: для второй линий тип линии – пунктирная, толщину –
2, цвет – черный, тип маркера Marker в точках дискретизации – none.
Для информативности на вкладке General в окне ‘Scope’ parameters
необходимо установить флажок Legends.
6.6 Перед выполнением моделирования сначала необходимо
установить требуемые параметры моделирования, выбрав команду
SimulationModel Cofiguration Parameters.
Задать в области Simulation time окна настройки параметров:
● значения начального времени моделирования Start time: 0.0 и
конечного времени моделирования Stop time: 10 (величина
конечного
времени выбрана из условия проведения
моделирования в течение пяти периодов гармонического
сигнала);
● тип решения (Type:) Fixed-step (решение с фиксированным
шагом);
● метод моделирования (Solver:) ode1 (метод Эйлера);
● значение фиксированного шага Fixed-step size – 0.5, что
соответствует 21 точке моделирования.
Simulink для робототехнических систем
GlobalLogic Ukraine
Страница 17 из 71
6.7 Начать моделирование с помощью команды Simulation Run. На
рисунке 2.15 представлены результаты моделирования. Выходной векторный
сигнал мультиплексора Mux поступает на вход блока Scope, в результате на
его экране строятся два графика: сплошная линия соответствует выходному
сигналу блока Integrator, а пунктирная линия соответствует выходному
сигналу блока Pulse Generator.
Нажать на среднюю кнопку
на панели инструментов окна Scope, которая
позволяет автоматически устанавливать оптимальный масштаб осей. При
этом результаты моделирования преобразуются к виду, представленному на
рисунке 2.16.
Рисунок 2.15 - Выходной векторный сигнал мультиплексора
Mux поступает на вход блока Scope
Рисунок 2.16 - Установка оптимального масштаба осей
6.8 Смоделировать схему, приведенную на рисунке 15, установив для
нее амплитуду и период прямоугольных импульсов (в секундах), равные
номеру варианта.
Simulink для робототехнических систем
GlobalLogic Ukraine
Страница 18 из 71
Подобрать параметры моделирования таким образом, чтобы на графике в
блоке Scope отображалось пять периодов. Включить в отчет по лабораторной
работе содержимое рабочего окна с моделью и окна параметров входящих в
нее блоков. Представить результаты моделирования в обзорном окне блока
Scope для значения его параметра Decimation, равного 1. Провести анализ
полученных графиков зависимостей и сделать выводы.
7 Построить блок-схему S-модели, содержащей следующие блоки
библиотеки Simulink: Signal Generator и Constant из раздела Sources; блок
усилителя Gain, блок суммирования Sum и блок мультиплексора Mux из
раздела Commonly Used Blocks; блок Abs из раздела Math Operations; блок
Scope из раздела Sinks (рисунок 2.17).
Рисунок 2.17 - Блок-схема S-модели:
Signal Generator, Constant, Gain, Sum, Mux, Abs, Scope
7.1 Выполнить двойной щелчок по блоку Constant и установить в
появившемся окне значение постоянного выходного сигнала (Constant
value:), равное «2».
7.2 Выполнить двойной щелчок по блоку Signal Generator и установить
в появившемся окне следующие значения:
● форма волны (Wave form:) – sine;
● время (Time(t):) – Use simulation time;
● амплитуда гармонического сигнала (Amplitude:) – 1;
● частота колебаний (Frequency:) – 1;
● единица измерения частоты (Units:), герц – Hertz.
7.3 Выполнить двойной щелчок по блоку усилителя Gain и установить
в появившемся окне значение коэффициента усиления (Gain:), равное «2».
7.4 Значения параметров блока Abs, который вычисляет абсолютное
значение входного сигнала, и блока суммирования Sum оставить по
умолчанию.
Simulink для робототехнических систем
GlobalLogic Ukraine
Страница 19 из 71
П р и м е ч а н и е – По умолчанию форма блока Sum в виде круга,
сверху, слева и снизу которого расположены суммирующие входы, а справа
выход. Другие настройки блока Sum можно задать в окне его свойств.
Параметр List of signs (лист сигналов) определяет количество входов
сумматора (в зависимости от количества символов) и их действие. При этом
функциональные значения символов следующие:
● – вход блока не задействован;
● + – прямой вход (сигнал суммируется);
● – – инверсный вход (сигнал вычитается).
По умолчанию через пробел установлены следующие символы: | + +.
7.5 Выполнить двойной щелчок по блоку мультиплексор Mux и
установить в появившемся окне количество входов (Number of inputs:),
равное «3».
7.6 Перед выполнением расчета установить параметры моделирования
с помощью команды Simulation Model Cofiguration Parameters. Задать в
области Simulation time окна настройки параметров:
● значения начального времени моделирования Start time: 0.0 и
конечного времени моделирования Stop time: 2 (величина
конечного
времени выбрана из условия проведения
моделирования в те чение двух периодов гармонического
сигнала);
● тип решения (Type:) Fixed-step (решение с фиксированным
шагом);
● метод моделирования (Solver:) ode1 (метод Эйлера);
● значение фиксированного шага Fixed-step size – 0,02, что
соответствует 100 точкам моделирования.
7.7 Запустить программу на моделирование. На рисунке 2.18
представлены результаты моделирования блока Scope.
Simulink для робототехнических систем
GlobalLogic Ukraine
Страница 20 из 71
Рисунок 2.18 - Запустить программу на моделирование
(представлены результаты моделирования блока Scope)
Выходной векторный сигнал блока мультиплексора Mux поступает на вход
блока Scope. В результате на его экране в одних осях строятся три графика:
● штрих-пунктирная линия соответствует выходному сигналу блока
суммирования Sum, равному 1 * sin (2 * pi * 1 * t) + 2;
● пунктирная линия соответствует выходному сигналу блока Abs,
равному | 1 * sin(2 * pi * 1 * t) |;
● сплошная линия соответствует выходному сигналу блока усилителя
Gain (коэффициент усиления которого равен «2»), равному
2 * sin(2 * pi * 1 * t).
7.8 Смоделировать схему, приведенную на рисунке 2.17, установив для
нее частоту колебаний (в герцах) и амплитуду гармонического сигнала,
равные номеру варианта.
Подобрать параметры моделирования таким образом, чтобы на графике
в блоке Scope отображалось два периода. Включить в отчет по лабораторной
работе содержимое рабочего окна с моделью и окна параметров входящих в
нее блоков. Представить результаты моделирования в обзорном окне блока
Scope для значения его параметра Decimation, равного 1. Провести анализ
полученных графиков зависимостей и сделать выводы.
Simulink для робототехнических систем
GlobalLogic Ukraine
Страница 21 из 71
3.1.Моделирование динамических систем средствами
SIMULINK Simscape Simmechanics I GENERATION
Что такое ​Simscape Sim Mechanics I GEN
Sim Scope Sim Mechanics I GEN - это средство исследования динамики
системы твердых тел на основе построения модели такой системы в виде
блоковой диаграммы в среде Simulink MATLAB
При помощи Simscape Sim Mechanics I GEN осуществляется моделирование
механических систем: как плоских механизмов, так и пространственных, как
простых (с одной-двумя степенями свободы), так и сложных (со многими
степенями свободы). Встроенные в Simscape Sim Mechanics I GEN
инструменты моделирования позволяют с высокой степенью точности
описывать твердые тела с учетом их массово-инерционных характеристик,
взаимного расположения, степеней свободы и связей между ними, а также
измерять параметры их движения под действием приложенных сил и
моментов в различных системах координат.
Simscape Sim Mechanics I GEN обладает средствами визуализации,
обеспечивающими пространственное представление механической системы
как в начале, так и в процессе моделирования. При этом Simscape Sim
Mechanics I GEN в полной мере использует графические средства MATLAB.
Отметим, что, помимо упрощенного графического отображения
механической системы (в виде аппроксимирующих многоугольников или
эквивалентных эллипсоидов), в Simscape Sim Mechanics I GEN могут быть
использованы ресурсы VR TOOLBOX (пакета расширения виртуальной
реальности, VIRTUAL REALITY, VR), которые позволяют связать модели
твердых тел с соответствующими им VRML- файлами (VRML - Virtual
Reality Modeling Language) и обеспечивают наблюдение движе​ния модели
механизма в VRML-браузере[1]. Отметим также, что задача разработки
вирту​ального мира для сложной механической системы, тем более со
сложными по конфигурации деталями, очень трудоемка и требует
специальной подготовки, не связанной по существу ос​новной целью исследованием механизма и его проектированием. Однако такая
визуализа​ция существенно повышает наглядность процесса. Это явилось
одной из причин (хотя и не основной), побудивших разработчика
Simulink для робототехнических систем
GlobalLogic Ukraine
Страница 22 из 71
SimMechanics (компанию MathWorks Corp.) к созда​нию CAD-транслятора,
обеспечивающего построение модели механизма на основе его CAD- модели
(твердотельной модели, созданной в среде автоматизированного
проектирования). В случае использования CAD-транслятора модель
механизма может наследовать и графическое представление его деталей.
Рисунок 3.1 - Графическое отображение промышленного робота
(выполненное с использованием ​VR TOOLBOX)
На рисунок 3.1 представлено изображение модели промышленного робота с
использовани​ем VR Toolbox. На рисунок 3.2 - разработанная в SolidWorks
модель промышленного робо​та Mitsubishi RV-1A, а на рисунок 3.3 отображение динамической модели указанного робота, соз​данной в среде
SimMechanics с использованием CAD-транслятора. Видно, что при
использо​вании CAD -транслятора обеспечивается существенно более
качественное графическое ото​бражение модели.
Simulink для робототехнических систем
GlobalLogic Ukraine
Страница 23 из 71
Рисунок 3.2 - ​CAD-модель​ промышленного робота ​MITSUBISHI RV-1A​ в среде
SOLIDWORKS
Рисунок 3. 3 - Графическое отображение динамической модели промышленного робота
MITSUBISHI RV-1A​, созданной с использованием CAD-транслятора
SimMechanics и физическое моделирование
SIMMECHANICS реализует на платформе SIMULINK физическое
моделирование, охваты​вающее моделирование систем на основе базовых
физических принципов механики. Физиче​ское моделирование реализуется
непосредственно в среде SIMULINK в тесной связи с MATLAB. Но в
Simulink для робототехнических систем
GlobalLogic Ukraine
Страница 24 из 71
отличие от блоков собственно SIMULINK, которые реализуют
математические операции и операции над сигналами, блоки физической
модели представляют материальные компонен​ты (твердые тела или их
соединения). Иначе говоря, если в SIMULINK исследуемые процессы
обезличены, и разработчик модели при ее создании должен четко
представлять, каким физи​ческим величинам соответствует сигнал в той или
иной части модели, то в SIMMECHANICS они непосредственно связаны с
физическими процессами, характерными для механики, т.е. каж​дый сигнал в
модели имеет конкретное физическое содержание (перемещение, скорость,
ус​корение, сила или момент).
SIMMECHANICS представляет собой множество библиотек блоков и
дополнительных средств моделирования механических систем. При этом
реализация механической модели допускает в полной мере использование
окружения SIMULINK. Связь физической модели с общими блоками
SIMULINK осуществляется посредством специализированных блоков
SENSOR и ACTUATOR. На рисунок 3.4 представлена модель подвижной
артиллерийской установки, где пока​заны: часть модели, полученная
посредством CAD-транслятора из среды SOLIDWORKS (физи​ческая модель
механики установки), часть модели, созданная в среде SIMULINK (модели
при​водов вертикального и горизонтального каналов) и часть, связывающая
их при помощи бло​ков Joint Sensor и Joint Actuator.
Рисунок 3.4 - Связь механической модели и модели управления подвижной
артиллерийской установки
Блоки библиотек SIMMECHANICS представляют собой элементы,
необходимые для мо​делирования механических систем, состоящих из
Simulink для робототехнических систем
GlobalLogic Ukraine
Страница 25 из 71
твердых тел, соединенных связями, обес​печивающими требуемые степени
свободы. Как и в SIMULINK, SIMMECHANICS позволяет пред​ставлять
механизмы, имеющие иерархическую структуру, в виде подсистем.
Существует возможность устанавливать кинематические ограничения,
прикладывать силы и моменты, а также измерять в процессе моделирования
параметры движения. Например, в модели, пред​ставленной на рисунок 3.4
измерение моментов, действующих со стороны нагрузки на приводы
вертикального и горизонтального каналов, выполняют виртуальные датчики
JOINT SENSOR. В свою очередь, виртуальные приводы Joint Actuator
обеспечивают
передачу
моментов
дви​гателей
вертикального
и
горизонтального каналов к нагрузке.
Разработка моделей в SimMechanics I GEN
SIMMECHANICS является расширением SIMULINK для моделирования
механических сис​тем, дополняя его специфическими компонентами и
обеспечивая решение систем дифферен​циальных уравнений движения. Блоки
SIMMECHANICS построены по тем же принципам, что и блоки других
приложений к SIMULINK, но обладают своими особенностями.
Наиболее важным при использовании SIMMECHANICS является построение
модели ме​ханизма, включающее следующие последовательные шаги:
● определение
массово-инерционных характеристик
твердых
тел, их степеней свободы и ограничений в соответствии с системами
координат тел;
● включение в модель виртуальных датчиков для
измерения
параметров и виртуаль​ных двигателей для обеспечения движения
механизма, а также присоединенных сил и мо​ментов;
● запуск
процесса моделирования (реализуется
на
платформе
SIMULINK)
и
исследова​ние движения до остановки
его
существующими ограничениями;
● визуализация
процесса моделирования (движения
механизма)
во все время модели​рования в специализированном графическом окне.
Твердые тела, системы координат, связи и ограничения
Наиболее ответственным и трудоемким является этап определения
массо-​инерционных характеристик тел, связей между ними и наложенных на
Simulink для робототехнических систем
GlobalLogic Ukraine
Страница 26 из 71
движение ограниче​ний, т.е., иными словами, создание механической
физической модели. SIMMECHANICS под​держивает блоки (модели) твердых
тел
с
установленными
пользователем
массо-​инерционными
характеристиками (массой и тензором моментов инерции). Модели тел
со​единяются одно с другим посредством блоков соединений (JOINT),
устанавливающих допус​тимые относительные перемещения (степени
свободы, DoFs). Допускается установка также ограничений относительного
движения тел. Эти ограничения препятствуют перемещению тел в процессе
моделирования и могут быть функциями времени.
Интерфейс SIMMECHANICS поддерживает различные возможности по
установке пара​метров систем координат, ограничений, виртуальных
двигателей, сил и моментов. Среди них:
● размещение
систем координат (начала координат и углов
поворота осей) в различ​ных точках твердого тела для приложения в
них сил и моментов или датчиков для
измерения
параметров
движения;
● размещение
комбинированных блоков соединений из библиотеки
SIMMECHANICS;
● расширение
существующих библиотечных соединений
за
счет объединения библио​течных примитивов;
● использование в модели блоков из других библиотек
SIMULINK
(например, из SimPOWERSYSTEMS)
и
математических
средств MATLAB.
Несмотря на большие возможности по созданию систем твердых тел
(моделей меха​низмов), которые предоставляет интерфейс SIMMECHANICS,
сборка модели вручную чрезвы​чайно трудна. Относительно легко собрать
модель простого механизма, включающего 2-4 детали. Если же речь идет о
создании модели механизма сложной пространственной робото​технической
системы, разработать ее вручную практически невозможно. Это связано с
необ​ходимостью максимально точно рассчитывать координаты точек
присоединения деталей (что является непростой задачей, тем более для
пространственного механизма, а при наличии погрешностей механизм
становится неработоспособным), знать тензор моментов инерции и т.д.
Проблемы, сопровождающие ручную сборку механизма, изложены в [2], [3].
Учитывая существующие объективные трудности ручной сборки моделей
механизмов,
компания
MATHWORKS
разработала
и
внедрила
специализированный
CAD-транслятор,
обеспечивающий
создание
Simulink для робототехнических систем
GlobalLogic Ukraine
Страница 27 из 71
динамических моделей механизмов в среде SIMMECHANICS на основе их
твердотель​ных моделей в CAD-среде (на сегодня это SolidWorks,
Pro/Engineer и Autodesk Inventor). Практические основы создания сборок в
CAD-среде для последующей их трансляции в SlM- MECHANICS,
предъявляемые к CAD-моделям требования изложены в [3]. Таким образом,
при применении CAD-транслятора вопросы обеспечения работоспособности
моделей решаются в первую очередь в CAD-среде посредством установления
правильных связей между деталями механизма, созданием узлов,
сохраняющих относительную подвижность в модели и др., см. [3, 4].
Отметим, что тензоры моментов инерции и присоединительные размеры
передаются из CAD-среды в SIMMECHANICS без искажений, что
обеспечивает работоспособность динами​ческой модели.
Несмотря на высокую эффективность применения CAD-транслятора, он
обладает и существенными ограничениями. Эти ограничения касаются
установленных в CAD-модели связей: модель, вполне работоспособная в
CAD-среде, после трансляции может быть совер​шенно неработоспособной в
среде SIMMECHANICS. Это происходит в силу того, что не все связи
корректно компилируются. Рассмотрим примеры.
На рисунок 3.5 представлена простая модель: шар на наклонной плоскости. В
среде SOLID- WORKS эта модель вполне работоспособна: шар перемещается
вдоль наклонной плоскости. Это достигается установлением двух
сопряжений (связей): Совпадение - для справочных плоскостей, что
обеспечивает центрирование шара на плоскости, а также Касательность —
для поверхности шара и наклонной плоскости.
Рисунок 3.5 - Шар на наклонной плоскости
Simulink для робототехнических систем
GlobalLogic Ukraine
Страница 28 из 71
Но при трансляции этой модели возникает ошибка (см. рисунок 3. 6).
Рисунок 3.6 - Ошибка трансляции ​CAD-модели
Природа указанной ошибки в том, что сопряжение Касательность для
плоскости и по​верхности шара с учетом того, что установлено совпадение
справочных плоскостей, обеспе​чивает две степени свободы. Транслятор не
может распознать, будет шар катиться или скользить по плоскости,
вследствие чего не может установить соответствующее соединение (JOINT).
В этом случае транслятор генерирует сообщение об ошибке и устанавливает
соеди​нение Weld (жесткое соединение, сварка), исключающее в среде
SimMechanics движение шара. Устранить ошибку трансляции можно,
исключив возможность качения шара (устано​вив вместо сопряжения
Касательность сопряжение Расстояние между справочными плоско​стями,
рисунок 3.7). В этом случае трансляция завершается без ошибки, однако
ясно, ​Рисунок 3.8 - Ошибка трансляции сопряжения Касательность
для сферических поверхностей​что характер движения шара становится
неестественным.
Simulink для робототехнических систем
GlobalLogic Ukraine
Страница 29 из 71
Рисунок 3.7 - Изменение характера сопряжения шара и плоскости,
исключающее ошибки трансляции
Рассмотрим еще пример (рисунок 3.8). Здесь требуется установить
сферическое шарнирное соединение. Как видно из приведенного на рисунке
сообщения транслятора (SIMMECHANICS CAD Translation Error),
сопряжение Касательность для сферических поверхностей не транслируется.
Simulink для робототехнических систем
GlobalLogic Ukraine
Страница 30 из 71
Проблема решается, если в качестве сопряжения выбрать Совпадение для
исходных точек сферических поверхностей двух деталей (рисунок 3.9).
Рисунок 3.10 - Сопряжение Совпадение для исходных точек деталей
обеспечивает возможность трансляции сферического шарнира
В ряде случаев только изменением сопряжений решить задачу
работоспособности мо​дели в среде Sim Scope Sim Mechanics I GEN
невозможно и требуется прибегать к изменению конструкции. На рисунке
3.10 показан пример кулисного механизма, где установлено сопряжение
Касательность для плоскости кулисы и цилиндрической поверхности
штифта.
Simulink для робототехнических систем
GlobalLogic Ukraine
Страница 31 из 71
Рисунок 3.10 - Сопряжение Касательность между цилиндром и плоскостью
не транслируется в SIMMECHANICS I GEN
Указанное сопряжение препятствует созданию работоспособной модели в
SIMMECHANICS I GEN .
Изменение конструкции, показанное на рисунке 3.11 (включение в
конструкцию промежуточной втулки между кулисой и штифтом),
обеспечивает работоспособность модели.
Рисунке 3.11 - Включение в конструкцию промежуточной втулки
Simulink для робототехнических систем
GlobalLogic Ukraine
Страница 32 из 71
Отметим еще одно свойство создаваемых при помощи CAD-транслятора в
среде SIMMECHANICS I GEN динамических моделей: механические связи в
такой модели не могут быть разо​рваны. Например, в модели шара на
плоскости последняя имеет ограниченные геометриче​ские размеры.
Очевидно, что в тот момент, когда шар переместится на расстояние, равное
длине плоскости, он потеряет с ней связь и будет дальше двигаться свободно
под действием силы тяжести с учетом начальных условий, определяемых
параметрами движения шара в момент отрыва от плоскости. В динамической
модели
рассматриваемой
системы,
получен​ной
при
помощи
СЛ^-транслятора, плоскость имеет бесконечные геометрические размеры, что
приводит к движению шара далее вдоль плоскости, даже когда физически он
потерял с ней контакт. Указанная механическая связь не может быть
разорвана в процессе моделиро​вания. На рисунке 3.12 представлена ^-модель
системы и график изменения положения центра масс шара. Видно, что шар
движется по прямой.
Рисунок 3.12 - Система «Шар на плоскости»
Таким образом, несмотря на большие удобства, которые предоставляет
разработчику динамических моделей CAD-транслятор, он накладывает также
и существенные ограниче​ния. Учет этих ограничений необходим при
разработке CAD-модели.
Определяемые пользователем системы координат
Simulink для робототехнических систем
GlobalLogic Ukraine
Страница 33 из 71
При создании модели SIMMECHANICS устанавливает инерционные
характеристики и параметры систем координат в базовой инерциальной
системе координат, называемой ми​ровой (WORLD). При этом существует
возможность устанавливать также локальные (связан​ные) системы координат
(LOCAL CSS):
● Grounded CSs (системы координат заделки, стойки), связанные
с блоками Ground
(стойка), неподвижными
относительно
мировой системы координат;
● BODY
CSs (связанная система координат) - система координат,
связанная с твердым телом, неподвижная относительно
него
и
перемещающаяся вместе с ним.
При использовании CAD-транслятора указанные системы координат
создаются авто​матически. Как правило, существенная часть создаваемых
систем координат, за исключени​ем минимально необходимых для
обеспечения целостности механизма, скрыта от пользова​теля. Но доступ к
этим системам координат при необходимости возможен и достигается
ак​тивизацией соответствующих портов. На рисунке 3.13 показано окно
настройки параметров блока BODY шара. В этом окне активизирована
система координат, связанная с центром масс шара для присоединения к
нему виртуального датчика, предназначенного для измерения парамет​ров
движения (в исходном состоянии указанная система координат погашена).
Simulink для робототехнических систем
GlobalLogic Ukraine
Страница 34 из 71
Рисунок 3.13 - Окно настройки параметров блока BODY
Окно настройки параметров блока BODY обеспечивает возможность
добавлять систе​мы координат (СК), если это необходимо. На рисунке 3.14
представлена S-модель подвижной пу​шечной установки (ППУ) с нормальной
главной осью с приводами вертикального и горизон​тального каналов. Для
коррекции привода используется напряжение, пропорциональное ско​рости
вращения следящего вала. Как правило, эта скорость измеряется при помощи
тахоге​нератора, размещенного на оси вращения (или связанного с ней
передаточным отношением, равным 1). Таким образом, модель установки
должна обеспечивать доступ к параметрам оси вращения для связи с ней
виртуального датчика BODY SENSOR, обеспечивающего измерение в
модели заданной угловой скорости.
Simulink для робототехнических систем
GlobalLogic Ukraine
Страница 35 из 71
Рисунок 3.14 - Система подвижной пушечной установки
с приводами вертикального и горизонтального каналов
На рисунке 3.14 датчик BODY SENSOR, обеспечивающий измерение
параметров движения под​вижного основания BASE-1 вокруг вертикальной
оси, связан с СК CS4, параметры которой полностью совпадают с
параметрами СК CS3. То, что CS3 есть система координат, связанная с осью
вращения, следует из установленной CAD-транслятором связи между ней и
системой CS3 блока Kolko-1 (неподвижное основание ППУ) через блок
REVOLUTE, обеспечивающий одну вращательную степень свободы.
Система координат CS4 при создании модели отсутст​вует. Она создается
дополнительно в блоке BODY BASE-1 (см. рисунок 3.15).
Simulink для робототехнических систем
GlobalLogic Ukraine
Страница 36 из 71
Ри​сунок 3.15 - Окно настройки параметров блока BODY BASE -1
(выделены параметры системы координат CS4)
Допустимые ограничения
Устанавливая функциональные алгебраические или кинематические связи
между двумя твердыми телами, можно ограничивать их движение в составе
механизма. Как прави​ло, такие ограничения устанавливаются средствами
Simulink. Например, в модели ППУ (рисунок 3.14) задано ограничение
движения лафета относительно подвижной боковой оси Ох. Указан​ное
ограничение связано с установленными для лафета предельными значениями
углов поворота (от 0° до 45°) и обеспечивается блоком SATURATION
(насыщение)
Виртуальные датчики, виртуальные двигатели и силовые элементы
Как указано выше, виртуальные датчики и двигатели используются для
преобразова​ния сигналов между блоками SIMULINK, не входящими в
Simulink для робототехнических систем
GlobalLogic Ukraine
Страница 37 из 71
SIMMECHANICS, и блоками SIMMECHANICS. Пример применения
виртуальных датчиков и виртуальных двигателей Joint Sensor и Joint Actuator
представлен на рисунке 3.4. На рисунке 3.14 представлен пример применения
виртуаль​ного датчика Body Sensor. Рассмотрим пример применения
виртуального двигателя Body Ac​tuator.
При моделировании подвижных пушечных установок важным фактором
является воздействие стрельбы из автоматического оружия (АО) на элементы
конструкции и динами​ку полета летательного аппарата. На рисунке 3.16
представлена модель АО, учитывающая разрыв цепей стрельбы в случае,
если угол поворота по одному из каналов достигает максимального значения
(если это происходит, то срабатывает один из концевых выключателей ППУ,
обес​печивающий разрыв цепей управления огнем). Важнейшей чертой
модели АО является по​следовательность импульсов, амплитуда которых
соответствует максимальному значению давления на дно канала ствола, а
период и скважность определяются темпом стрельбы. Ука​занная
последовательность импульсов передается на силовую часть модели,
имитируя, таким образом, воздействие стрельбы. Для передачи указанной
последовательности используется блок Body Actuator (см. рисунок 3.16).
Рисунок 3.16 - Модель автоматического оружия
Simulink для робототехнических систем
GlobalLogic Ukraine
Страница 38 из 71
Рисунок 3.17 - Окно настройки параметров блока BODY ACTUATOR
На рисунке 3.17 - представлено окно настройки параметров блока BODY
ACTUATOR. Видно, что блок настроен на передачу усилия (APPLIED
FORCE). Но может, при необходимости, переда​вать и момент. Следует
только помнить, что передаваемой блоком силовое воздействие яв​ляется
трехмерным вектором.
Силовые элементы обеспечивают моделирование внутренних сил,
действующих меж​ду твердыми телами. На рисунке 3.17 представлен один из
таких элементов - JOINT SPRING & DAMPER .
Этот блок моделирует пружину (линейную или торсион - в зависимости от
того, с какой степенью свободы связан), определяя ее жесткость, внутреннее
демпфирование и предварительное поджатие.
Итак, блоки SENSOR (виртуальные датчики) обеспечивают измерение
параметров дви​жения тел и в соединениях. Существует возможность
соединения блока SENSOR и блока SCOPE Simulink для визуализации
параметров движения системы (измерения положения, скоростей, ускорений
и т.д. в функции времени). Можно также данные с выхода блока SEN​SOR
передавать другим блокам модели SIMMECHANICS посредством блоков
ACTUATOR (вирту​альный двигатель), определяя, таким образом,
действующие моменты и силы.
Simulink для робототехнических систем
GlobalLogic Ukraine
Страница 39 из 71
В свою очередь, блоки ACTUATOR устанавливают параметры движения для
твердых тел или в соединениях. Они обеспечивают преобразование сигналов
сил и моментов, определяе​мых в Simulink, к виду SimMechanics и передачу
их к твердым телам (или в соединения). Сам же сигнал SIMULINK может
создаваться на базе измеренных датчиком SENSOR параметрах (например,
это требуется при включении в модель относительного движения трения
между телами). Блоки ACTUATOR также могут устанавливать начальные
значения параметров движе​ния, которые затем интегрируются в процессе
моделирования.
Силовые элементы обеспечивают моделирование силовых взаимодействий
между те​лами (например, пружины, торсионы). Внутренние силы зависят
только от положения или скорости относительного перемещения тел,
независимо от внешних воздействий (сигналов). Возможность использовать в
модели силовые элементы (пружины) открывает перспективное направление
исследований. Речь идет об исследовании упругих механизмов.
Дело в том, что CAD-модель по определению жесткая, поскольку в
CAD-системах все тела твердые, недеформируемые. Однако есть
возможность после трансляции твердых тел в среду SimMechanics
преобразовать их, если это необходимо, в упругие. Для этого требуется
соответствующая подготовка CAD-модели. В [5] рассмотрен вариант
исследования упругого механизма авиационного катапультного устройства
АКУ-58. В этом АКУ важнейшую роль играют несущие рычаги,
обеспечивающие удержание массивного груза (авиационной раке​ты) и
перевод его в состояние, когда он может отделиться от АКУ.
На рисунке 3.18 представлена CAD-модель одного из рычагов. В этой модели
искусственно сделан разъем по оси его вращения. При создании сборки все
степени свободы удалены, так что рычаг представляет собой единое целое. В
составе блоковой диаграммы SIMMECHANICS модель такого рычага
состоит из двух частей с жестким соединением (WELD, рисунок 3.19). В
про​цессе моделирования жесткого механизма измеряются действующие
усилия, на основании чего выбирается расчетный случай. Он реализуется в
CAE-среде, где определяются характе​ристики жесткости рычага. Далее в
среде SIMMECHANICS блок WELD удаляется, вместо него устанавливается
блок REVOLUTE, к которому присоединяется силовой элемент - торсион. С
этого момента рычаг становится упругим (рисунок 3.19).
Simulink для робототехнических систем
GlobalLogic Ukraine
Страница 40 из 71
Рисунок 3.18 - Подготовка CAD-модели рычага для обеспечения упругости
и вид модели в SIMMECHANICS
Рисунок 3.19 - Расчет параметров жесткости рычага в CAE-среде
и обеспечение упругости в SIMMECHANICS
Моделирование и анализ параметров движения
Очевидно, любая модель создается для проведения исследований. Для
механизмов авиационных робототехнических систем важным является
исследование движения, опреде​ление действующих усилий и других
параметров, обеспечивающих последующий прочност​ной расчет, расчет
параметров эффективности применения и т.д. В этом смысле
SIMMECHANICS предоставляет два метода анализа механических систем в
процессе моделирования.
Прямой динамический анализ обеспечивает определение параметров
движения под действием присоединенных сил и моментов и действующих
ограничений. Следствием пря​мого динамического анализа является
кинематический анализ.
Simulink для робототехнических систем
GlobalLogic Ukraine
Страница 41 из 71
Обратный динамический анализ обеспечивает определение сил и моментов,
необхо​димых для реализации установленных параметров движения. В этом
случае элементам моде​ли передаются не усилия, а параметры движения
(перемещения, скорости и ускорения). Та​кую возможность обеспечивают
блоки Joint Actuator, именно при их помощи можно пере​давать либо силы и
моменты, действующие в соединении, либо параметры относительного
движения. Характер движения определит в этом случае силовое
взаимодействие тел (усилия, возникающие в контакте, инерционные усилия и
др.). Следствием обратного динамического анализа является возможность
определения значений факторов, обеспечивающих равновесие системы.
3.2.Моделирование динамики средствами SIMULINK
SimScape Simmechanics II GENERATION. Пошаговое
пособие
Описание продукта Simscape Multibody
Модель и моделирование многомерных механических систем
Simscape Multibody обеспечивает многоядерную среду моделирования для
трехмерных механических систем, таких как роботы, подвески транспортных
средств, строительное оборудование и т.д. Можно моделировать
многоярусные системы, используя блоки, представляющие тела, шарниры,
ограничения, силовые элементы и датчики. Simscape Multibody формулирует
и решает уравнения движения для полной механической системы. Вы можете
импортировать полные сборки САПР, включая все массы, инерции, суставы,
ограничения и трехмерную геометрию. Автоматически созданная
3D-анимация позволяет визуализировать динамику системы.
Simscape Multibody помогает вам разрабатывать системы управления и
тестировать производительность системного уровня. Так же, есть
возможность параметризовать свои модели с использованием переменных и
выражений MATLAB® и систем управления проектами для заданной
многоуровневой системы в Simulink®. Simscape Multibody позволяет
интегрировать
в
вашу
модель
гидравлические,
электрические,
пневматические и другие физические системы, используя компоненты
Simulink для робототехнических систем
GlobalLogic Ukraine
Страница 42 из 71
семейства продуктов Simscape. Для развертывания ваших моделей в других
симуляционных средах, включая аппаратно-контурные (HIL) системы,
Simscape Multibody поддерживает создание C-кода.
Ключевая особенность
● Единая среда для моделирования трехмерных механических систем
вместе с многомерными физическими системами и алгоритмами
управления в Simulink
● Инструменты определения деталей, включая стандартную геометрию,
экструзии, определенные в файлах MATLAB и STEP
● Механические соединения и ограничения, охватывающие стандартные
и пользовательские кинематические
● Зависимости
● Режимы моделирования для анализа движущих и расчетных сил
● 3D-анимация динамики многоядерных систем
● Импорт модели САПР, включая детали, узлы, соединения и
ограничения
● Поддержка генерации C-кода (с Simulink Coder)
Анатомия Multibody Model
В своей основе многоярусная система представляет собой совокупность тел,
связанных через суставы и связанных кинематическими ограничениями,
такими как шестерни. Силы и крутящие моменты различных типов
позволяют вам приводить в действие различные тела, в то время как датчики
позволяют вам ощущать возникающее движение. В программном
обеспечении
Simscape
Multibody
вы
используете
блоки
для
непосредственного представления этих компонентов.
Основные компоненты модели
Рассмотрим пример Simscape Multibody с четырьмя барами. Вы можете
открыть эту модель в командной строке MATLAB, введя sm_four_bar.Модель
состоит из подсистем твердых тел, связанных между собой соединительными
блоками. Подсистемы тела определяют посредством базовой блок-схемы
твердые свойства тела.
Simulink для робототехнических систем
GlobalLogic Ukraine
Страница 43 из 71
Рисунок 3.20 - Основные компоненты модели
Основные компоненты модели sm_four_bar
Подсистемы тела в свою очередь состоят из сплошных блоков, соединенных
между собой блоками жесткого преобразования. Блоки Solid обеспечивают
твердотельные свойства, в том числе геометрию, инерцию, цвет и триады оси
кадров, которые кодируют всю информацию о местоположении и
ориентации в модели. Блоки жесткого преобразования поворачивают и
переводят твердые тела, чтобы обеспечить надлежащую сборку корпуса.
На рисунке показана базовая блок-схема для подсистемы тела двоичного
соединения. Эта диаграмма включает три массива Solid, представляющие
центральную и дистальную части двоичной ссылки. Два блока жесткого
преобразования преобразуют дистальные твердые тела в соответствующие
места вблизи концов центрального тела. Диаграмма включает строго
необязательный блок Frame Reference.
Рисунок 3.21 - Типы блоков модели
Simulink для робототехнических систем
GlobalLogic Ukraine
Страница 44 из 71
Компоненты подсистем кузова
Другие общие блоки в модели включают:
● World Frame - добавляет к модели инерциальную систему отсчета.
● Rigid Transform - вращает и переводит тела и другие рамки
относительно друг друга.
● Mechanism Configuration - определяет гравитационную константу в
модели.
● Solver Configuration- устанавливает параметры локального решателя
Simscape, такие как типы, допуски и временные шаги. Это
единственный требуемый блок в модели.
Приведение в действие модели
Вы можете приводить в действие модель, применяя силу или крутящий
момент к жесткому телу или к шарниру. Для представления сил и крутящих
моментов, действующих на жесткое тело, Simscape Multibody предоставляет
библиотеку Force и Torques. Перетащите блок из этой библиотеки и
подключите его к жесткой раме (-ям), к которой вы хотите применить силу
или крутящий момент.
Block
Function
External Force and Torque
Общая сила и / или крутящий
момент, возникающие
вне многоярусной модели
Internal Force
Общая пара сил между двумя
произвольными кадрами
Spring and Damper Force
Пара дроссельной пружины между
двумя
произвольные кадры
Inverse Square Law Force
Силовая пара с обратной
зависимостью от квадратного
расстояния между двумя
произвольными кадрами (например,
кулоновскими электростатическими
силами)
Simulink для робототехнических систем
GlobalLogic Ukraine
Страница 45 из 71
Gravitational Field
Гравитационное притяжение
точечной массы на всех
жесткие тела в зависимости от их
расстояния до самой массы точки
На рисунке показана модель с четырьмя барами с блоком внешней силы и
крутящего момента для предписания о силе и крутящем моменте в каркасе
сцепного устройства.
Рисунок 3.22 - Многозвенная система твердых тел
(модель с базовым сенсором)
Чтобы указать силу или крутящий момент, действующие на шарнир,
Simscape Multibody обеспечивает выбор входов управления непосредственно
в соединительных блоках. Каждый совместный примитив - основной
компонент совместного блока - обеспечивает выбор входных входов,
специфичных для этого примитива.
Совместное управление может быть двух типов:
● Motion - укажите изменяющуюся во времени траекторию данного
примитивного примитива.
● Force or torque - задайте изменяющуюся во времени силу срабатывания
или вращающий момент, действующий на данный примитивный
примитив.
На рисунке показана модель с четырьмя барами с вращающим моментом,
действующим на револьверный шарнир.
Simulink для робототехнических систем
GlobalLogic Ukraine
Страница 46 из 71
Рисунок 3.23 - Многозвенная система твердых тел (модель)
Динамичное Sensing
Вы можете ощущать различные динамические переменные между парами
кадров, например, для анализа или проектирования управления.
Чувствительные выходы могут быть таких типов:
● Motion - вычисляет и выводит относительное положение, скорость или
ускорение между двумя кадрами Simscape Multibody. Вы можете
ощущать движение между совместными кадрами, используя
чувствительную способность соединительных блоков или между
произвольными кадрами, используя блок Transform Sensor.
● Force or torque. Вычислите и выведите силы и моменты, действующие
между двумя кадрами Simscape Multibody. Вы можете ощущать силу и
крутящий момент между рамами порта определенных блоков Силы и
Торка, такими как блок принудительной прямоугольной квадратной
силы или между рамками портов объединенного блока.
● Joint blocks позволяют вам ощущать различные типы сил и крутящих
моментов между соответствующими портовыми рамками, в том числе:
● Actuation force or torque, действующие на данный примитивный
примитив.
● Constraint force and torque действуют совместно, чтобы предотвратить
нормальное движение к совместным степеням свободы.
Simulink для робототехнических систем
GlobalLogic Ukraine
Страница 47 из 71
● Total force and torque, включая ограничения и совместные примитивные
прикладываемые усилия, действующие в масштабе всей организации.
На рисунке показана модель с четырьмя барами с блоком Transform Sensor
для определения координат траектории между рамкой связи соединителя и
мировым фреймом.
Рисунок 3.24 - Многозвенная система твердых тел
(модель с осциллограммой относительно базовой точки )
Создание многозвенной модели
Шаг 1: Изучение системы для модели
Рисунок 3.25 - Абстрактная механическая система
● Определяем соответствующие органы, суставы и ограничения для
включения в вашу модель.
● Анализируем силы и моменты, действующие между телами или
непосредственно в суставах.
Simulink для робототехнических систем
GlobalLogic Ukraine
Страница 48 из 71
Шаг 2: Моделирование тел
Рисунок 3.26 - Множество механических тел без общей базовой точки
● Указываем твердые свойства различных тел.
● Добавляем кадры в тела, чтобы вы могли соединять суставы и
ограничения, применять силы и крутящие моменты и движение
движения. См. «Модель простого соединения» на стр. 1-14 для
примера, показывающего, как моделировать простой корпус - один,
содержащий одно твердое тело. См. «Попробуйте: создать сложную
геометрию» для более подробного примера, показывающего, как
моделировать составное тело, состоящее из нескольких твердых тел.
Шаг 3: Собрать многоуровневую систему
Рисунок 3.27 - Совокупность механических тел
● Соединяем тела через пары через суставы.
● Ограничиваем движение тела через шестерни и другие кинематические
ограничения. См. «Модель кинематической цепи с открытым
контуром» на примере, показывающем, как соединять тела через
суставы. См. «Модель комбинированного зубчатого колеса» на
примере, показывающем, как ограничить движение через шестерни.
Simulink для робототехнических систем
GlobalLogic Ukraine
Страница 49 из 71
Шаг 4. Определение и определение динамических переменных
Рисунок 3.28 - Силы действующие на систему тел
Модельные внешние нагрузки, взаимодействия между телами и входы
совместного управления. Силы чувства, крутящие моменты и переменные
движения как функции времени. См. «Указание крутящего момента при
совместном соединении» на примере, показывающем, как указать общий
момент срабатывания. См. «Чувствительность движения с помощью блока
датчиков преобразования» на примере, показывающем, как определить
положение кадра с помощью блока Transform Sensor.
Новая модель
Вы можете запустить новую модель Simscape Multibody непосредственно из
командной строки MATLAB, введя smnew. Функция smnew открывает
шаблон модели Simscape Multibody с часто используемыми блоками и
выбором автоматического выбора правильного шага для лучшей
производительности. На рисунке показан шаблон модели.
Рисунок 3.29 - Синтез механической системы
средствами Simscape Multibody
Есть возможность открыть библиотеку блоков Simscape Multibody из
командной строки MATLAB, введя sm_lib.
Simulink для робототехнических систем
GlobalLogic Ukraine
Страница 50 из 71
Для выбора компонентов будущей модели необходимо открыть библиотеку,
(чтобы выбрать блоки). Кроме того, введите имя блока в окне модели
Simulink и выберите соответствие из результатов поиска Simulink.
См. «Модель простой ссылки» на стр. 1-14 для моделирования тела в
шаблоне модели Simscape Multibody. См. «Модель простого маятника» на
стр. 1-19 для интеграции тела в многомерный механизм.
Модель простого Link​
Механические соединения являются общими строительными блоками в
соединениях, механизмах и машинах. Простой маятник - пример с одной
ссылкой. В этом учебном пособии вы моделируете простую связь с двумя
конечными кадрами, которые впоследствии можно подключить к суставам.
Блоки жесткого преобразования обеспечивают конечные кадры, а массив
Solid - геометрию, инерцию и цвет. Для простоты модель предполагает, что
ссылка имеет кирпичную форму.
Рисунок 3.30 -объект механической системы - “звено”
Сборка модели
● В командной строке MATLAB введите smnew. Библиотека блоков
Simscape Multibody и шаблон модели с широко используемыми
блоками открываются.
● Сделайте копию блока Rigid Transform и вставьте его в модель. Блоки
Rigid Transform позволяют создавать новые кадры, к которым вы
можете подключать суставы во время сборки нескольких элементов.
Модем простой связи.
● Удалите блоки Simulink-PS Converter, PS-Simulink Converter и область
действия. Вам не нужны эти блоки в этом уроке.
Simulink для робототехнических систем
GlobalLogic Ukraine
Страница 51 из 71
● Подключите остальные блоки, как показано на рисунке. Убедитесь, что
порты базового кадра (B) блоков Rigid Transform обращены к порту
кадра Solid block. Поскольку каждый блок Rigid Transform применяет
пространственное преобразование по отношению к его базовому кадру,
соединения измененных портов обычно изменяют пространственную
взаимосвязь между двумя кадрами.
Рисунок 3.31 - Базовая часть системи:
Тело, базовая система координат и силы
● В диалоговом окне Solid block укажите следующие параметры. Позже
вы определяете переменные MATLAB, показанные с помощью блока
подсистемы, который содержит блоки Solid и Rigid Transform. Среди
его преимуществ этот подход позволяет вам обновлять переменные,
используемые в нескольких блоках из одного места - диалоговое окно
«Subsystem block».
Parameter
Value
Units
Geometry >
Dimensions
[L W H]
Change to cm
Inertia > Density
rho
Default units
Graphic > Visual
Properties > Color
rgb
Not applicable
Simulink для робототехнических систем
GlobalLogic Ukraine
Страница 52 из 71
● В диалоговых окнах блоков Rigid Transform и Rigid Transform 1
укажите следующие параметры. Эти параметры кодирования смещения
между базой и Введение в Simscape многотельных программного
обеспечения повторитель портов кадров жесткого Transform блоков,
расположенных на концах линии связи, по отношению к твердому
кадра опорного порта.
Parameter
Rigid Transform 1 Rigid Transform
Units
Translation >
Method
Standard Axis
Standard Axis
Not applicable
Translation >
Axis
-X
+X
Not applicable
Translation >
Offset
L/2
L/2
Change to cm
Генерация подсистемы
● Выберите блок Solid и два блока Rigid Transform.
● Щелкните правой кнопкой мыши выделенную область и выберите
Create Subsystem from Selection. Simulink добавляет новый блок
подсистемы, содержащий блоки Solid и Rigid Transform. В конце
учебника это будет настраиваемый блок, представляющий простую
связь жесткого тела.
Рисунок 3.32 - Реализация механической системы в виде подсистемы
Simulink для робототехнических систем
GlobalLogic Ukraine
Страница 53 из 71
● Щелкните правой кнопкой мыши блок подсистемы и выберите Mask >
Create Mask. Откроется редактор масок, позволяющий указать
числовые значения переменных MATLAB, введенных в диалоговых
окнах блока Solid and Rigid Transform.
● На вкладке Parameters & Dialog окна Mask Editor window, добавьте пять
полей редактирования в папку «Параметры». Вы можете найти эту
папку в панели Dialog box. В полях редактирования укажите
следующие параметры и нажмите «OK.
Prompt - это желаемый текст для каждого параметра в диалоговом окне
«Блок подсистемы».
Name - это переменная MATLAB, связанная с каждым параметром
блока подсистемы.
Prompt
Name
Length (cm)
L
Width (cm)
W
Thickness (cm)
H
Density (kg/m^3)
rho
Color [R G B]
rgb
● Дважды щелкните диалоговое окно «Блок подсистемы» и введите
следующие числовые значения. Это значения переменных MATLAB,
введенные вами в диалоговых окнах блока Solid and Rigid Transform.
Prompt
Name
Length (cm)
20
Width (cm)
1
Thickness (cm)
1
Density (kg/m^3)
2700
Color [R G B]
[0.25 0.40 0.70]
Simulink для робототехнических систем
GlobalLogic Ukraine
Страница 54 из 71
Визуализация модели
Обновите блок-схему. Вы можете сделать это, выбрав в строке меню
Simulink Simulation > Update Diagram. Механика Explorer открывается с
первого взгляда простой модели ссылки. В панели инструментов Mechanics
Explorer выберите кнопку изометрического просмотра, чтобы получить
трехмерное изображение, показанное ниже. Чтобы просмотреть фреймы,
присутствующие в модели, включая те, которые были созданы с
использованием блоков жесткого преобразования, выберите View > Show
Frames.
Рисунок 3.33 - Визуализация блока механической системы
Сохранить пользовательский блок
Переименуйте блок подсистемы Simple Link и сохраните его в специальной
библиотеке блоков. Вы повторно используете этот блок в учебнике “Model a
Simple Pendulum” (Модель простого маятника).
Рисунок 3.34 - Типичный пользовательский блок
Simulink для робототехнических систем
GlobalLogic Ukraine
Страница 55 из 71
Модель простого маятника. Обзор постоения
Маятник - это простейшая механическая система, которую вы можете
моделировать. Эта система содержит два жестких тела, звено и
фиксированный стержень, соединенные револьверным суставом. В этом
уроке вы моделируете и моделируете маятник, используя специальный блок
ссылок, который вы создали в «Моделирование простого звена» (“Model a
Simple Link”) на стр. 1-14. Блок Revolute Joint обеспечивает вращательную
степень свободы между звеном и мировым фреймом.
Рисунок 3.35 - механическая система вида “маятник”
Сборка модели
● В командной строке MATLAB введите smnew. В результате откроется
библиотека блоков Simscape Multibody и шаблон модели с широко
используемыми блоками.
● Удалить блоки Simulink-PS Converter, PS-Simulink Converter, Scope и
жесткое преобразование.
● Перетащите пользовательский блок Simple Link, созданный в учебнике
«Модель простой ссылки» на стр. 1-14 в модель.
● Перетащите блок Revolute Joint в модель. Этот блок можно найти в
библиотеке Simscape > Multibody> Joints. Этот блок обеспечивает одну
степень свободы вращения (между его логическими портами).
● Соедините блоки, как показано на Рисунке 3.36. Ориентация порта
блока Revolute Joint становится важной, когда вы указываете
“унаследование” последовательностей блоков или назначаете
совместные входы управления или динамические переменные
Simulink для робототехнических систем
GlobalLogic Ukraine
Страница 56 из 71
шарниров.
Блок Revolute Joint интерпретирует любое угловое или линейное
отклонение, которое применяется к “кадру” следящего элемента
относительно “базового кадра”, поэтому включение соединений портов
может повлиять на сборку модели и результаты моделирования.
Рисунок 3.36 - Реализация механической системы вида “маятник”
● В диалоговом окне Solid block укажите параметры соединяется Звена с
картой мира и поэтому не влияет на динамику модели. Вы можете
оставить параметры инерции в своих значениях по умолчанию.
Parameter
Value
Unit
Geometry > Dimensions
[4 4 4]
Change to cm
Graphic > Visual
Properties > Color
[0.80 0.45 0.00]
Not applicable
Удельная гравитация
Блок Revolute Joint использует общую ось Z основания и следящих кадров в
качестве оси вращения шва. Чтобы маятник колебался под действием силы
тяжести, измените вектор силы тяжести, чтобы он больше не совпадал с осью
Z. Для этого в диалоговом окне «Блок конфигурации механизма» установите
для параметра Uniform Gravity > Gravity значение [0 -9.81 0].
Simulink для робототехнических систем
GlobalLogic Ukraine
Страница 57 из 71
Установить начальную позицию маятника
Вы можете указать желаемый угол соединения, используя меню State Targets
в диалоговом окне Revolute Joint block dialog box.
. Для этого выберите State Targets > Position и введите требуемый угол
соединения. Для этого урока вы можете оставить угол в своем значении по
умолчанию, что соответствует исходной позиции горизонтального маятника.
Настройка модели (решатель модели)
● В строке меню Редактор Simulink выберите Simulation > Model
Configuration Parameters
● На вкладке Solver установите для параметра Solver значение ode15s
ode15s (stiff/NDF). Этот решатель является рекомендуемым выбором
для физических моделей.
● Установите максимальный размер шага (Max step size) на 0,01 и
нажмите «ОК». Небольшой размер шага увеличивает точность
моделирования и создает более плавную анимацию в Mechanics
Explorer. Малые размеры шага могут отрицательно влиять на скорость
моделирования, но в такой простой модели значение 0,01 обеспечивает
хороший баланс между скоростью и точностью моделирования.
Сборка модели
Обновите блок-схему. Вы можете сделать это в строке меню Simulink Editor,
выбрав Simulation > Update diagram. Mechanics Explorer открывается с
трехмерным представлением модели в начальной конфигурации.
В панели инструментов Mechanics Explorer убедитесь, что параметр
Mechanics Explorer toolstrip (View convention) установлен на «Y up» («XY
Front»). Это соглашение просмотра гарантирует, что гравитация будет
вертикально выровнена на экране. Выберите стандартную кнопку просмотра,
чтобы обновить Mechanics Explorer display. На рисунке показан вид спереди
модели. Сохраните настройки визуализации, нажав кнопку «Сохранить
проводник» на кнопку модели.
Simulink для робототехнических систем
GlobalLogic Ukraine
Страница 58 из 71
Рисунок 3.37 - Визуализация механической системы вида “маятник”
Моделирование системы
Запустите симуляцию. Вы можете сделать это через панель меню Редактор
Simulink, выбрав «Моделирование»> «Выполнить». Механика Explorer
играет на физике анимацию модели маятника.
Анализ простой модели маятника. Обзор
В этом уроке вы исследуете различные силы и моменты, которые вы можете
добавить в модель. Затем, используя блоки с возможностью обнаружения
движения, вы анализируете полученный динамический отклик модели.
Конечным результатом является набор временных и фазовых диаграмм, по
одному для каждой комбинации сил и крутящих моментов. Вы создаете эти
графики, используя команды MATLAB с выходами движения Simscape
Multibody в качестве аргументов.
Рисунок 3.38 - Исследования динамической системы вида маятник
Simulink для робототехнических систем
GlobalLogic Ukraine
Страница 59 из 71
Отправной точкой является простая маятниковая модель, которую вы
создали в «Модели простого маятника» на стр. 1-19. Добавляя силы и
крутящие моменты к этой модели, вы постепенно изменяете маятник от
незатухающих и свободных до демпфированных и управляемых. Силы и
моменты крутящего момента, которые вы применяете, включают:
● Гравитационная сила (Fg) - Глобальная сила, действующая на каждое
твердое тело, прямо пропорционально его массе, которую вы
указываете в терминах вектора ускорения g. Этот вектор указывается с
помощью блока «Конфигурация механизма».
● Совместное демпфирование (Fb) - Внутренний крутящий момент
между маятником и соединительным приспособлением, который вы
параметризуемые
в
терминах
линейного
коэффициента
демпфирования. Этот параметр указывается с помощью блока Revolute
Joint, который соединяет маятник с соединительным приспособлением.
● Момент срабатывания (FA) - вращающий момент между маятником и
соединительным
приспособлением,
который
вы
назначаете
непосредственно в качестве физического сигнала Simscape. Вы
определяете этот сигнал, используя блок Revolute Joint, который
соединяет маятник с соединительным приспособлением.
Датчик движения (Sense Pendulum Motion)
1. Откройте модель simple_pendulum, созданную в учебнике «Модель
простого маятника»
2. В меню Sensing диалогового окна «Revolute Joint block» выберите
следующие переменные:
• Позиция
• Скорость
Блок предоставляет два дополнительных порта физического сигнала с
метками q и w, которые выводят угловое положение и скорость маятника по
отношению к мировому кадру.
3. Переместите следующие блоки в модель. Вы используете их для вывода
положения и скорости сустава в базовое рабочее пространство MATLAB.
Библиотека
Блок
Simulink для робототехнических систем
Количество
GlobalLogic Ukraine
Страница 60 из 71
Simscape > Utilities
PS-Simulink Converter
2
Simulink > Sinks
To Workspace
2
4. Измените имя переменной параметров в диалоговых окнах блоков To
Workspace на q и w. Эти переменные позволяют просто идентифицировать
переменные сустава которые блоки To Workspace выводят при имитации
положения, через блок Revolute Joint порт q, и скорость через блок Revolute
Joint порт w.
5. Подключите блоки как показано на рисунке. Убедитесь, что блок To
Workspace с переменной q подключен через блок PS-Simulink Converter к
блоку Revolute Joint порт q и что блок To Workspace с именем переменной w
подключен к блоку Revolute Joint к порту w.
Рисунок 3.39 - Реализация динамической системы вида “маятник” с
использованием подсистемы
6.
Сохраните
модель
под
другим
simple_pendulum_analysis, в удобной папке.
именем,
например
Анализ нерегулируемого маятника
● Запустите симуляцию. Вы можете сделать это в строке меню редактора
Simscape Multibody, выбрав «Моделирование» > «Выполнить».
Mechanics Explorer открывается с трехмерной анимацией простой
маятниковой модели.
Simulink для робототехнических систем
GlobalLogic Ukraine
Страница 61 из 71
● Настройте положение и скорость соединения по времени, например,
введя следующий код в командной строке MATLAB:
figure; % Open a new figure
hold on;
plot(q); % Plot the pendulum angle
plot(w); % Plot the pendulum angular velocity
На рисунке показан результат.
Рисунок 3.40 - колебательный процесс маятника
● Постройте угловую скорость соединения относительно углового
положения, например, введя следующий код в командной строке
MATLAB.
figure;
Plot(q.data, w.data);
Результатом, показанным на рисунке, является фазовый график соединения,
соответствующий начальному положению нулевых градусов относительно
горизонтальной плоскости.
Simulink для робототехнических систем
GlobalLogic Ukraine
Страница 62 из 71
Рисунок 3.41 - смещение маятника
Попробуйте запустить модель на выполнение с использованием разных
начальных углов. Вы можете изменить начальный угол в меню State Targets >
Position диалогового окна «Револьверное соединение». На рисунке показан
график составной фазы для начальных углов -80, -40, 0, 40 и 80 градусов.
Рисунок 3.42 - положение маятника
Анализ демпфированного маятника
● В диалоговом окне «Revolute Joint block» установите «Внутренняя
механика»> «Демпфирование» 8e-5 (N * m) / (град / с). Коэффициент
затухания вызывает диссипацию энергии во время движения, что
приводит к постепенному распаду амплитуды колебаний маятника.
● Убедитесь, что для параметра State Targets > Position > Value
установлено значение 0 град.
● Запустите симуляцию.
Simulink для робототехнических систем
GlobalLogic Ukraine
Страница 63 из 71
● Постройте положение и скорость соединения относительно времени.
Для этого в командной строке MATLAB вы можете ввести этот код:
figure;
hold on;
plot(q);
plot(w);
На рисунке показан результат. Обратите внимание, что колебания
маятника затухают со временем из-за затухания. При больших
значениях затухания маятник становится слишком затухающим, и
колебания полностью исчезают.
Рисунок 3.43 - затухающие процессы маятника
● Запланируйте график совместной фазы. Для этого в командной строке
MATLAB вы можете ввести этот код:
figure;
plot(q.data, w.data);
На рисунке показан результат.
Simulink для робототехнических систем
GlobalLogic Ukraine
Страница 64 из 71
Рисунок 3.44 - движение маятника у фазовой плоскости
Попробуйте запустить модель на выполнение с использованием разных
начальных углов. Вы можете изменить начальный угол в меню «Задачи
состояния» > «Положение» диалогового окна «Револьверное
соединение». На рисунке показан график составной фазы для
начальных углов -240, -180, -120, -60, 0 и 60 градусов.
Рисунок 3.45 - положение (револьверное состояние) устойчивости маятника
Simulink для робототехнических систем
GlobalLogic Ukraine
Страница 65 из 71
Анализ затухающего и управляемого маятника
● В диалоговом окне «Revolute Joint block» установите «Активация»>
«Крутящий момент» в «Ввод». Блок предоставляет физический
входной порт сигнала, который вы можете использовать для
предписания совместного момента включения.
● Перетащите эти блоки в модель.
Library
Block
Simscape > Utilities
Simulink-PS Converter
Simulink > Sources
Sine Wave
Блок Sine Wave обеспечивает периодический ввод крутящего момента
в качестве сигнала Simulink. Блок преобразования Simulink-PS
преобразует сигнал Simulink в физический сигнал Simscape,
совместимый с блоками Simscape Multibody.
● Соедините блоки, как показано на рисунке.
Рисунок 3.46 - Механическая система “маятник” с источником сигнала,
наблюдателем и подсистемой
Simulink для робототехнических систем
GlobalLogic Ukraine
Страница 66 из 71
● В диалоговом окне «Блок синусоидальной волны» установите значение
«Амплитуда» равным 0,06. Эта амплитуда соответствует вращающему
моменту между 0,06 и 0,06 Н.
● В диалоговом окне «Revolute Joint block» убедитесь, что для параметра
State Targets > Position > Value установлено значение 0 град.
● Запустите симуляцию.
● Постройте положение и скорость соединения относительно времени.
Для этого в командной строке MATLAB вы можете ввести этот код:
figure;
hold on;
plot(q);
plot(w);
На рисунке показан результат.
Рисунок 3.47 - Положение маятника и скорость
соединения относительно времени
● Запланируйте график совместной фазы. Для этого в командной строке
MATLAB вы можете ввести этот код:
figure;
plot(q.data, w.data);
На рисунке показан результат.
Simulink для робототехнических систем
GlobalLogic Ukraine
Страница 67 из 71
Рисунок 3.48 - График совместной фазы маятника
Сравнение технологии Simscape Multibody
Программное обеспечение Simscape Multibody содержит две технологии:
первое поколение и последние поколение. Технология первого поколения
включает библиотеку блоков и функцию визуализации, найденную в версиях
Simscape Multibody до R2012a. Технология последнего поколения
представляет собой более простую модельную парадигму с новой
библиотекой
блоков,
мощным
вычислительным
движком,
усовершенствованной
программой
визуализации,
основанной
на
компьютерной графике OpenGL®, и более тесной интеграцией с продуктами
Simscape.
Технологии Simscape Multibody для первого и последнего поколений имеют
разные наборы возможностей. Какая технология использовать зависит от
эффектов, которые вам нужно моделировать. Последнее поколение Simscape
Multibody рекомендуется для всех моделей, за исключением тех, которые
требуют изменяющихся во времени ограничений или переменной массы. В
таблице приведены различия в функциональности между двумя поколениями
Simscape Multibody.
Feature
Simscape Multibody
First Generation
Simulink для робототехнических систем
Simscape Multibody
GlobalLogic Ukraine
Страница 68 из 71
Mass/Inertia Calculation
только вручную
Автоматически или
вручную
Solid Geometry
No
Yes
Animation Replay
No
Yes
3-D Model Exploration
Ограничено
Yes
Initial State Targets
Ограничено
Yes
Simscape Logging
No
Yes
Code Generation
Yes
Yes
CAD Import
Yes
Yes
Motion Actuation
Yes
Yes
Force/Torque Sensing
Yes
Yes
Complex Constraints (1)
Yes
Yes (2)
Variable Mass/Gravity
Yes
Yes (3)
Gravitational Fields
No
Yes
(1) Точка-на-кривой (Point-on-curve),передачи, скорость
и винтовые ограничения (gear, velocity, and screw constraints)
(2) Все, кроме ограничений скорости
(3) Только переменная сила тяжести
Simscape Multibody продолжает поддерживать технологию первого
поколения. Вы можете поддерживать и моделировать устаревшие модели,
созданные с использованием блоков первого поколения. Вы также можете
создать новую модель первого поколения, используя библиотеку блоков
Simscape Multibody First Generation.
Simulink для робототехнических систем
GlobalLogic Ukraine
Страница 69 из 71
Библиографический список
1. Тихонов К.М. SimMechanics Matlab как средство моделирования
динамики сложных авиационных робототехнических систем / К.М.
Тихонов, В.В. Тишков // Электронный журнал «Труды МАИ». Выпуск
No 41
2. Герамисов А.И. Моделирование в среде MATLAB-Simulink : метод.
указания к лабораторным работам / сост.: А. И. Герасимов, В. В.
Регеда, О. Н. Регеда. – Пенза : Изд-во ПГУ, 2017. 104 с.
3. Тихонов К.М., Доан Чан Нгок. Разработка методики моделирования
механизмов авиационных катапультных устройств// Известия
Тульского государственного университета. Серия «Вычислительная
техника. Информационные технологии. Системы управления». Выпуск
3 «Системы управления». Том 2. – Тула, Изд-во ТулГУ, 2006. С.
213-216.
4. А.И. Данеко, А.В. Косарев, К.М. Тихонов, В.В. Тишков. Применение
современных интегрированных информационных технологий в
моделировании авиационных робототехнических систем / Под ред.
чл.-корр. РАРАН, д.т.н. Б.В. Обносова. – М.: Изд-во МАИ-ПРИНТ,
2010.-212с.
5. http://www.mathworks.com/products/simmechanics/download_sw2sm.html
6. Тихонов К.М. Разработка методики моделирования динамики
квазиупругих рычажных
7. механизмов АКУ/Проблемы совершенствования робототехнических и
интеллектуальных систем летательных аппаратов: Сб. докл. VII-й
Всерос. юбилейной науч.-техн. конф., Москва, Мос. авиац. ин-т, 25-27
мая 2005г./Редкол.: В.А. Полковников (пред). – М.: Изд-во МАИ, 2005.
– С.18-22.
Simulink для робототехнических систем
GlobalLogic Ukraine
Страница 70 из 71
View publication stats
Авторы и компоновщики
D. Humennyi
https://scholar.google.com.ua/citations?user=s_nrWpsAAAAJ&hl
https://www.researchgate.net/profile/Dmytro_Humennyi
A.Pitumov
https://scholar.google.com.ua/citations?user=UaliSyQAAAAJ&hl
Simulink для робототехнических систем
GlobalLogic Ukraine
Страница 71 из 71
Download