Симуляция прыгающего мяча

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

Обзор

Рисунок 1: шар подброшен со скоростью 15 м/с от высоты 10 м.

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

где ускорение происходит из-за силы тяжести, является положением шара и является скоростью. Поэтому система имеет два непрерывных состояния: положение и скорость.

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

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

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

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

Откройте эту модель

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

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

Чтобы наблюдать поведение Дзено системы, перейдите к панели Решателя диалогового окна Configuration Parameters. В 'Разделе опций пересечения нулем подтвердите, что 'Алгоритм' установлен в 'Неадаптивный' и что симуляция 'Время остановки' установлена в 25 секунд. Запустите симуляцию.

Заметьте, что ошибки симуляции как шар поражают землю все более часто и теряют энергию. Следовательно, симуляция превышает предел по умолчанию 1 000 для 'Количества последовательных нулевых пересечений', позволенных. Теперь перейдите к диалоговому окну Configuration Parameters. В 'Разделе опций пересечения нулем, набор 'Алгоритм' к 'Адаптивному'. Этот алгоритм вводит сложную обработку такого болтающего поведения. Поэтому можно теперь моделировать систему вне 20 секунд. Отметьте, однако, болтовню состояний между 21 секундой и 25 секундами и предупреждением от Simulink о сильной болтовне в модели приблизительно 20 секунд.

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

Откройте эту модель

Можно использовать один блок Second-Order Integrator, чтобы смоделировать эту систему. Второе уравнение является внутренним к блоку Second-Order Integrator в этом случае. Перейдите к диалоговому окну блока Second-Order Integrator и заметьте, что, как ранее, имеет нижний предел нуля. Перейдите к вкладке Attributes на диалоговом окне блока и обратите внимание, что опция 'Повторно инициализирует dx/dt, когда x достигает, насыщение' проверяется. Этот параметр позволяет нам повторно инициализировать (в модели прыгающего мяча) к новому значению в момент, достигает его предела насыщения. Для модели прыгающего мяча эта опция поэтому подразумевает, что, когда мяч попадает в землю, ее скорость может быть установлена в различное значение, т.е. в скорость после влияния. Заметьте цикл для вычисления скорости после столкновения с землей. Чтобы получить скорость шара непосредственно перед столкновением, выходной порт блока Second-Order Integrator и Блока памяти используется. затем используется, чтобы вычислить скорость восстановления.

Перейдите к панели Решателя диалогового окна Configuration Parameters. Подтвердите, что 'Алгоритм' установлен в 'Неадаптивный' в 'Разделе опций пересечения нулем, и симуляция 'Время остановки' установлена в 25 секунд. Моделируйте модель. Обратите внимание на то, что симуляция не столкнулась ни с какими проблемами. Вы смогли моделировать модель, не испытывая чрезмерную болтовню после t = 20 секунд и не устанавливая 'Алгоритм' на 'Адаптивный'.

Модель интегратора второго порядка является предпочтительным подходом к моделированию прыгающего мяча

Можно аналитически вычислить точное время, когда шар успокаивается к земле с нулевой скоростью путем подведения итогов времени, требуемого для каждого возврата. Это время является суммой бесконечного геометрического ряда, данного:

Здесь и начальные условия для положения и скорости соответственно. Скорость и положение шара должны быть тождественно нулевыми для. В фигуре ниже, следует из обеих симуляций, построены рядом. Вертикальная красная линия в графике для данных параметров модели. Для и далеко от, обе модели приводят к точным и идентичным результатам. Следовательно, только пурпурная строка из второй модели видима в графике. Однако результаты симуляции из первой модели неточны после; это продолжает отображать чрезмерное болтающее поведение для. Напротив, вторая модель с помощью блока Second-Order Integrator обосновывается, чтобы точно обнулить для.

Рисунок 2: Сравнение результатов симуляции от двух подходов.

Рисунок 2 окончательно показывает, что вторая модель имеет превосходящие числовые характеристики по сравнению с первой моделью. Причина более высокой точности, сопоставленной с моделью Second-Order Integrator, следующие. Второе дифференциальное уравнение является внутренним к блоку Second-Order Integrator. Поэтому алгоритмы блока могут усилить это известное отношение между двумя состояниями и развернуть эвристику, чтобы запретить нежелательного, болтающего поведение для определенных обстоятельств. Эта эвристика становится активной, когда два состояния больше взаимно сопоставимы друг с другом из-за ошибок интегрирования и болтающего поведения. Можно таким образом использовать физическое знание системы, чтобы облегчить проблему симуляции, застревающей в состоянии Дзено для определенных классов моделей Дзено.