Простой и популярной реализацией закона управления обратным маятником является PID регулятор. Современные средства настройки коэффициентов PID регулятора позволяют решать подобные задачи нажатием пары кнопок даже без знания математики, физики и вообще без каких-либо технических знаний. Рассмотрим пример настройки PID регуляторов в Simulink для классического обратного маятника.
Объект управления (Plant)
Модель перевернутого маятника соберем в библиотеке Multibody. Для этого нам не понадобится знание физики и математики. Библиотека Multibody предоставляет нам готовые блоки степеней свободы, твердых тел, преобразований координат, которые нужно только верно соединить. Собираем подсистемы отдельно для маятника и отдельно для тележки, и собираем все вместе. Результат на рисунке, модель в прикрепленных файлах.

Сборка отдельных элементов в подсистемы придает более красивый и структурированный вид модели.
Зададим следующие параметры модели: масса тележки – 5 кг, масса маятника – 1 кг, длинна маятника – 2 м, коэффициент трения для тележки – 0.1/10 N/(m/s), коэффициент трения для маятника – 0.1/10 N*m/(deg/s).
Промоделируем и заценим результаты:

Результат в виде анимации:

Система управления
Система управления будет состоять из двух контуров, первый будет отвечать за стабилизацию маятника в положении «вверх», а второй за положение тележки.
В библиотеки Simulink находим блок PID Controller включаем его в систему в соответствие с классическим управлением с отрицательной обратной связью и тут же настраиваем его. Открываем блок, и жмем кнопку Tune как на рисунке:

Происходит автоматическая линеаризация нашего Объекта Управления и автоматическая настройка PID регулятора.

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

Добавим в выходные сигналы шумов, чтобы сделать модель более правдоподобной:
Добавим в модель фильтр Калмана, чтобы сгладить помехи и иметь доступ ко всем состояниям ОУ:
Полная модель обратного маятника
Так, как в своем обычном состоянии маятник имеет положение «вниз», добавим специальный блок и назовем Swing, в котором на глаз запрограммируем сигнал на раскачку системы и в момент, когда маятник достигнет положения «вверх», включим контроллер. Так же добавим внешнее возмущение – импульс в 0.5 сек амплитудой 1 Н, приложенный к маятнику. И ограничим силу, которую может развивать тележка 25 Н.
В итоге вся модель имеет следующий вид:

Промоделируем систему:

В течении примерно 10 сек идет раскачка маятника, пока он не достигнет нулевого значения угла, потом контроллер отрабатывает ошибку и приводит тележку к координате 0, в самом конце маятник «толкают».
Создадим анимацию:

Модель получилась довольно устойчивой. Можно ее еще более упростить, оставить только два PID контроллера для угла и координаты.
Для разработки этой модели не было использовано ни одной формулы и ни одного расчета в ручную не было сделано. За нас всю эту рутину сделал Simulink и Multibody.