Моделювання динамічних систем (метод Лагранжа і Bond graph approach)

Всім доброго дня. У даній статті хочу показати один з графічних методів побудови математичних моделей динамічних систем, який називається Bond graph («bond» — зв'язку, «graph» — граф). У російської літератури, опису даного методу, я знайшов тільки в Навчальному посібнику Томського політехнічного університету, А. В. Воронін «МОДЕЛЮВАННЯ МЕХАТРОННИХ СИСТЕМ» 2008 р. Також показати класичний метод через рівняння Лагранжа 2 роду.



Метод Лагранжа
Я не буду розписувати теорію, покажу етапи розрахунків і з невеликими коментарями. Особисто мені легше вчитися на прикладах, ніж 10 разів читати теорію. Як мені здалося, в російській літературі, пояснення даного методу, та й взагалі математики або фізики, дуже насичений складними формулами, що відповідно вимагає серйозного математичного бекграунду. Під час вивчення методу Лагранжа (вчуся в Туринському політехнічному університет, Італія), я вивчав російську літературу, щоб зіставити методики розрахунків, і мені було важко стежити за ходом вирішення даного методу. Навіть згадуючи курси по моделюванню в «Харківському авіаційному інституті», висновок подібних методів був дуже громіздким, і ніхто не утруднював себе у спробі розібратися в цьому питанні. Ось цього я вирішив написати, методичку для побудови мат моделей по Лагранжу, так як виявилося, це зовсім не складно, достатньо знати як рахувати похідні по часу і приватні похідні. Для моделей з складніше ще додаються матриці повороту, але в них теж немає нічого складного.

Особливості методів моделювання:

  • Ньютона-Ейлера: векторні рівняння, засновані на динамічній рівновазісил (force) та моментів (moments)
  • Лагранжа: скалярні рівняння, засновані на функція стану пов'язаних з кінетичної і потенційної енергією (energies)
  • Бонд-граф: метод заснований на протязі потужності (power) між елементами системи


Почнемо з простого прикладу. Маса з пружиною і демпфером. Нехтуємо силою тяжіння.


Рис 1. Маса з пружиною і демпфером

Насамперед позначаємо:

  • початкову системи координат (НСК) або нерухому ск R0(i0,j0,k0). Де? Можна тицьнути пальцем в небо, але посмикавши кінчиками нейронів в мозку, проходить ідея поставити на НСК лінії руху тіла М1.
  • системи координат для кожного з масою тіла (у нас М1 R1(i1,j1,k1)), орієнтація може бути довільною, але навіщо ускладнювати собі життя, ставимо з мінімальним відмінністю від НСК
  • обобщеные координати q_i (мінімальна кількість змінні якими можна описати рух), в даному прикладі одна узагальнена координата, рух вздовж осі j

Рис 2. Проставляємо системи координат і узагальнені координати

Далі знайдемо положення і швидкості всіх тел. У даному прикладі одне тіло М1:

Рис 3. Позиція і швидкість тіла М1

Після знайдемо кінетичну © і потенційну (Р) енергії і диссипативную функцію (D) для демпфера за формулами:

Рис 4. Повна формула кінетичної енергії

У нашому прикладі обертання немає, друга складова дорівнює 0.



Рис 5. Розрахунок кінетичної, потенціальної енергії і диссипативной функції

Рівняння Лагранжа має наступний вигляд:

Рис. 6. Рівняння Лагранжа і Лагранжіан

Дельта W_i це віртуальна робота досконала доданими силами і моментами. Знайдемо її:

Рис 7. Розрахунок віртуальної роботи

де дельта q_1 віртуальне переміщення.

Підставляємо всі рівняння Лагранжа:

Рис 8. Отримана модель маси з пружинної і демпфером

На цьому метод Лагранжа закінчився. Як видно не так складно, але це все ж дуже простий приклад, для якого швидше за все метод Ньютона-Ейлера навіть було б простіше. Для більш складних систем, де буде кілька тіла, повернені один щодо одного на різні кут, метод Лагранжа буде легше.

Метод Bond graph
Відразу покажу так виглядає модель в bond-graph для прикладу з масою пружиною і демпфером:

Рис 9. Bond-graph маси з пружинної і демпфером

Тут доведеться розповісти трохи теорії, якої вистачить для побудови простих моделей. Якщо хтось зацікавлений можете почитати книгу ([Wolfgang Borutzky] Bond Graph Methodology абоВоронін А. В. Моделювання мехатронних систем: навчальний посібник. – Томськ: Изд-во Томського політехнічного університету, 2008).

Визначимо для початку, що складні системи складаються з декількох доменів. Наприклад електродвигун складається з електричної і механічної частин або доменів.

Bond graph заснований на обміні потужності між цими доменами, підсистемами. Зауважимо, що обмін потужністю, будь-якої форми, завжди визначається двома змінними (змінні потужності), з допомогою яких, ми можемо вивчати взаємодію різних підсистем у складі динамічної системи (див. таблицю).



Як видно з таблиці вираз потужності практично скрізь однакове. В узагальненні, Потужність — це твір «потоку — f» «зусилля — e».

Зусилля (англ. effort) в електричному домені це напруга (e), в механічному — сила (F) або момент (T), в гідравліці тиск (p).

Потік (англ. flow) в електричному домені це струм (i), в механічному — швидкість (v) або кутова швидкість (omega), в гідравліці потік або витрата рідини (Q).

Приймаючи дані позначення, отримуємо вираз для потужності:


Рис 10. Формула потужності через потужностні змінні

У мові bond-graph з'єднання між двома підсистемами які обмінюються потужністю представлена зв'язком (англ. bond). З цього і називається цей метод bond-graph або рраф-зв'язків, зв'язний граф. Розглянемо блок-діаграму зв'язків у моделі з електродвигуном (це ще не bond-graph):

Рис 11. Блок-диарамма потоку потужності між доменами

Якщо у нас джерело напруги, то відповідно він генерує напругу і віддає його двигуну на відмотування (по цьому стрілка направлена в сторону двигуна), в залежності від опору обмотки з'являється струм за законом Ома (спрямований від двигуна до джерела). Відповідно одна змінна є входом в підсистему, а друга необхідна повинна бути виходом з підсистеми. Тут напруга (effort) – вхід, струм (flow) – вихід.

Якщо використовувати джерело струму, як зміниться діаграма? Правильно. Струм буде направлений до двигуна, а напруга до джерела. Тоді струм (flow) – вхід, напруга (effort) – вихід.

Розглянемо приклад в механіці. Сила, що діє на масу.

Рис 12. Сила прикладена до маси

Блок-Діаграма буде наступною:

Рис 13. Блок-діаграма

У цьому прикладі, Сила (effort) – вхідна змінна для маси. (Сила прикладена до масі)
За другим законом Ньютона:

Маса відповідає швидкістю:


У цьому прикладі, якщо одна змінна (сила effort є входом механічний домен, то інша мощностная змінна (швидкість flow) – автоматично стає виходом.

Що б розрізняти, де вхід, а де вихід, використовується вертикальна лінія на кінці стрілки (зв'язку) між елементами, цю лінію називають знак причинності або причинний зв'язок (causality). Виходить: прикладена сила – причина, а швидкість — наслідок. Цей знак дуже важливий для правильної побудови моделі системи, так як причинність — це наслідок фізичної поведінки та обміну потужностями двох підсистем, з цього вибір розташування знака причинності не може бути довільним.

Рис 14. Позначення причинного зв'язку

Ця вертикальна лінія показує яка підсистема одержує зусилля (effort), і як наслідок виробляти потік (flow). У прикладі з масою буде так:

Рис 14. Причинна зв'язок для сили, що діє на масу

По стрілці зрозуміло що на вхід для маси — сила, а вихід — швидкість. Це робиться, щоб не захаращувати стрілками схему і систематизації побудови моделі.

Наступний важливий момент. Узагальнений імпульс (кількість руху) і переміщення (енергетичні змінні).

Таблиця потужностних і енергетичний змінних в різних доменах

Таблиця вище вводить дві додаткові фізичні величини, які використовуються в методі bond-graph. Вони називаються узагальнений імпульс (р) і узагальнене переміщення (q) або енергетичні змінні, і отримати їх можна інтегруванням потужностних змінних за часом:

Рис 15. Зв'язок між мощностными і енергетичними змінними

В електричному домені:

Виходячи з закону Фарадея, напруга на кінцях провідника дорівнює похідній від магнітного потоку через цей провідник.

А Сила струму — фізична величина, рівна відношенню кількості заряду Q, що пройшов за деякий час t через поперечний переріз провідника, до величини цього проміжку часу.

Механічний домен:

З 2 закону Ньютона, Сила – похідна по часу від імпульсу

І відповідно, швидкість — похідна по часу від переміщення:

Узагальнимо:


Базові елементи

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

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

Рис 16. Причинні зв'язки і позначення джерел

Компонент R – дисипативний елемент


Компонент I – інерціальна елемент


Компонент C – ємнісний елемент


Як видно з малюнків, різні елементи одного типу R,C,I описуватися однаковими рівняннями. ТІЛЬКИ є відмінність для електричної ємності, це потрібно просто запам'ятати!

Четырехполюснике компоненти:

Розглянемо два компоненти трансформатор і гиратор.

  1. Ідеальний Трансформатор (TF) пов'язує величини одного типу між входом і виходом

    Формули описує трансформатор з малюнка а і b відповідно:


    Причинні знаки ставитися тільки як показано нижче


    Ось так не можна:


    Приклади трансформатора в механічному домені може бути зубчаста передача, Важіль

    Звичайний трансформатор — в електриці. Гідравлічний поршень – у гідравліці.

  2. Гиратор (GY). Ідеальний Гиратор пов'язує потік з одного боку з зусиллям з іншого.

    Формули:

    Допустима причинність для гиратора:

    Помилкова причинність:

    Приклади гираторов: в механіці це двигун постійного струму, в електроніці — соленоїд (лінійний актуатор).


Останніми важливими компонентами в методі bond-graph виступають з'єднання. Існує два типи вузлів:


  • Вузол типу 0 (а) – вони мають спільне зусилля і тільки одна причинний зв'язок повинна входити в 0-сайту, решта повинні виходити.

    Розглянемо приклад розрахунків 0-сайт:

    а) 0 означає всі зусилля дорівнюють

    Так як сайт не акумулює і не розсіює енергію, тоді алгебраїчна сума входить потужностей повинна дорівнювати нулю.

    Враховую попереднє рівняння отримаємо

    b) Для другого варіанти отримаємо

  • Вузол типу 1 (b) – вони мають загальний потік і тільки одна причинний зв'язок має виходити, інші повинні входити в 1-вузол.

    Розглянемо розрахунок 1-сайту

    а) 1 вузол має загальний потік, значить

    Так як сайт не акумулює і не розсіює енергію, тоді алгебраїчна сума входить потужностей повинна дорівнювати нулю.

    Враховуючи попереднє рівняння отримаємо:

    b) Тут буде:

На цьому з компонентами закінчили.

Основні етапи для проставлення причинних зв'язків після побудови bond-graph:

  1. Проставити причинні зв'язки всім джерел
  2. Пройтися по всіх вузлів і проставити причинні зв'язки після пункту 1
  3. компонентів I присвоїти вхідні причинний зв'язок (зусилля входить в цей компонент), для компонентів присвоюємо вихідну причинний зв'язок (зусилля виходить з цього компонента)
  4. Повторити пункт 2
  5. Проставити причинні зв'язки для компонентів R
На цьому міні-курс з теорії закінчимо. Тепер у нас є все необхідне для побудови моделей.
Давайте вирішимо кілька прикладів. Почнемо з електричною ланцюг, краще зрозуміти аналогію побудови bond-graph.

Приклад 1
Почнемо побудову bond-graph з джерела напруги. Просто пишемо Se і ставимо стрілку.


Бачите, все просто! Дивимося далі, R і L з'єднані послідовно, значити в них тече однаковий струм, якщо говорити в потужностних змінних – однаковий потік. Який вузол має однаковий потік? Правильна відповідь 1-вузол. Приєднуємо до 1 вузла джерело, опір (компонент — R) і індуктивність (компонент — I).

Далі у нас ємність і опір в паралелі, тобто вони мають однакову напругу або зусилля. 0-вузол підійде як ніхто інший. З'єднуємо ємність (компонент) і опір (компонент R) до 0-сайту.


Вузли 1 і 0 теж з'єднуємо між собою. Напрям стрілок вибирається довільне, напрямок зв'язку впливає тільки на знак рівняння.

Вийти наступний граф зв'язків:


Тепер потрібно проставити причинні зв'язки. Слідуючи вказівкам по послідовності їх проставлення почнемо з джерела.

  1. Ми маємо джерело напруги (зусилля), таке джерело має тільки один варіант причинності – вихідний. Ставимо.
  2. Далі є компонент I, дивимося що рекомендують. Ставимо
  3. Проставляємо для 1-вузла. Є
  4. 0-вузол повинен мати один вхід і всі вихідні причинні зв'язки. У нас є поки одна вихідна. Шукаємо компоненти або I. Знайшли. Ставимо
  5. Проставляємо що залишилося

От і все. Bond-graph побудований. Ура, Товариші!

Залишилася справа за малим, написати рівняння, що описують нашу систему. Для цього складемо таблицю з 3 стовпцями. У першому будуть всі компоненти системи, у другому вхідна змінна для кожного елемента, а в третьому – вихідна змінна, для токого ж компонента. Вхід і вихід ми вже визначили причинностнными зв'язками. Так що проблем виникнути не повинно.

Прономеруем кожну зв'язок для зручності запису уровнений. Рівняння для кожного елемента беремо з переліку компонентів C,R,I.


Склавши таблицю визначимо змінні стану, їх у даному прикладі 2, p3 і q5. Далі потрібно записати рівняння стану:


Ось і всі модель готова.

Приклад 2. Відразу хочу извениться за якість фото, головне що можна прочитатиВирішимо ще один приклад для механічної системи, той же що ми вирішували методом Лагранжа. Я показу рішення без коментарів. Перевіримо, який з цих методів простіше, легше.



У матбале були складені обидві мат моделі з однаковими параметрами, отримані методом Лагранжа і bond-graph. Результат нижче:


Підсумок: для мене bond-graph здався цікавіше. За моїми спостереженнями, його краще використовувати для комплексних систем (мульти-доменних систем, мехатронних систем). Наприклад, потужний симулятор мульти-доменних систем AMESim, використовує цей метод для побудови мат моделей. У робототехніці, швидше за все, легше буде метод Лагранжа. Хто користується цими методами, буду радий почути ваші висновки, коментарі.
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.