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 Actuator. При моделировании подвижных пушечных установок важным фактором является воздействие стрельбы из автоматического оружия (АО) на элементы конструкции и динамику полета летательного аппарата. На рисунке 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 для визуализации параметров движения системы (измерения положения, скоростей, ускорений и т.д. в функции времени). Можно также данные с выхода блока SENSOR передавать другим блокам модели 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