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

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

Обзор

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

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

$$
\frac{d v}{d t} = -g,
$$

$$
\frac{d x}{d t} = v,
$$

где$g$ ускорение происходит из-за силы тяжести,$x(t)$ является положением мяча и$v(t)$ является скоростью. Поэтому система имеет два непрерывных состояния: положение$x$ и скорость$v$.

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

$$
v^+ = -\kappa v^-, \qquad x = 0
$$

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

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

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

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

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

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

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

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

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

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

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

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

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

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

$$
t^* = \frac{1}{g}\left(v_0+ v_1\left(\frac{1+\kappa}{1-\kappa}\right) \right),\qquad v_1=\sqrt{v_0^2+2gx_0}.
$$

Здесь$x_0$ и$v_0$ начальные условия для положения и скорости соответственно. Скорость и положение мяча должны быть тождественно нулевыми для$t&#62;t^*$. В рисунке ниже, следует из обеих симуляций, построены рядом$t^*$. Вертикальная красная линия в графике$t^*$ для данных параметров модели. Для$t<t^*$ и далеко от$t^*$, обе модели приводят к точным и идентичным результатам. Следовательно, только пурпурная линия из второй модели отображается в графике. Однако результаты симуляции из первой модели неточны после$t^*$; это продолжает отображать чрезмерное болтающее поведение для$t&#62;t^*$. В отличие от этого вторая модель с помощью блока Second-Order Integrator обосновывается, чтобы точно обнулить для$t &#62; t^*$.

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

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