Теория
Устройство маятника с маховиком
На рис. 8 показан однозвенный маятник с маховиком. Маховик 1 закреплен на стержне 4. Стержень способен совершать круговые движения в вертикальной плоскости. Его ось вращения 5 установлена на неподвижном основании. В этой оси отсутствует какой-либо привод.

Рисунок 8. Основные компоненты маятника с маховиком. 1 – маховик, 2 – электродвигатель, 3 – ось маховика, 4 – стержень, 5 – ось стержня, 6 – плата управления.
Ось вращения маховика 3 закреплена на стержне и параллельна его оси вращения. Маховик приводится во вращение бесколлекторным электродвигателем 2. Электропривод, как и маховик, смонтирован на стержне. Статор двигателя жестко закреплен на стержне, ось ротора жестко соединена с осью маховика. Плата управления 6 содержит микроконтроллер и драйвер двигателя. При управлении используется информация об угле поворота стержня относительно неподвижного основания и угле маховика относительно стержня. Эти углы измеряются магнитными датчиками углового положения, которые подключены к плате управления.
Динамика маятника
Прежде чем разрабатывать систему управления, нужно понять, как ведет себя сам объект. Дифференциальные уравнения позволяют описать его поведение во времени с учетом управляющих воздействий. Наличие динамической модели дает возможность предсказуемо влиять на поведение объекта и оценивать качество системы: устойчивость, быстродействие и точность. Разработка управления без учета динамики, как правило, приводит к ручному подбору коэффициентов обратной связи и, как следствие, к малонадежным, неэффективным и неуниверсальным решениям. Особенно это критично для неустойчивых объектов, где неконтролируемое поведение может привести к повреждению оборудования. Более того, наличие динамической модели позволяет произвести исследование системы и оценить её качество: устойчивость, быстродействие, точность и т.д. Таким образом, моделирование динамики является принципиально необходимым этапом при разработке систем управления.
На рис. 9 приведена схема маятника. Стержень в точке шарнирно соединён с неподвижной опорой. Ось шарнира перпендикулярна плоскости качания маятника. Симметричный относительно своей оси вращения маховик смонтирован на маятнике так, что его центр расположен на конце стержня в точке . Маховик может поворачиваться вокруг проходящей через точку горизонтальной оси, перпендикулярной плоскости качания стержня. Эта ось параллельна оси шарнира . Ось вращения маховика является продолжением оси ротора электродвигателя. Все необходимые обозначения и параметры маятника приведены в таблице 1. Система имеет две степени свободы. Перевести систему из одного состояния в другое можно только при помощи момента, вырабатываемого электродвигателем.
Управление вращением двигателя осуществляется с помощью алгоритма векторного управления [9, с. 587]. Мы будем подавать на вход алгоритма желаемое напряжение, то есть квадратурное напряжение в терминах векторного управления, которое и станет управляющим параметром системы управления маятником. Чтобы найти зависимость между желаемым моментом и напряжением, в модель маятника будет включена упрощенная модель двигателя.

Рисунок 9. Схематичное изображение обратного маятника с маховиком.
Таблица 1. Параметры маятника
| Параметр | Ед. изм. | Описание |
|---|---|---|
| м | Расстояние от точки до центра масс стержня | |
| м | Расстояние от точки до маховика | |
| кг | Масса стержня | |
| кг | Общая масса маховика и ротора двигателя | |
| рад | Угол поворота стержня относительно вертикальной оси | |
| рад | Угол поворота маховика относительно продольной оси стержня | |
| кг·м² | Момент инерции стержня | |
| кг·м² | Момент инерции маховика и ротора двигателя | |
| м/с² | Ускорение свободного падения | |
| Н·м | Момент, вырабатываемый электродвигателем | |
| Н·м·с/рад | Коэффициент вязкого трения в шарнире | |
| Н·м·с/рад | Коэффициент вязкого трения между статором и ротором двигателя |
Динамическую модель будем строить при помощи метода Лагранжа [3]. Он является одним из классических подходов к получению уравнений движения механических систем с помощью уравнений Лагранжа второго рода. В отличие от второго закона Ньютона, метод Лагранжа оперирует энергетическими величинами: кинетической и потенциальной энергией.
Суть метода заключается в следующем: для системы с обобщёнными координатами строится лагранжиан , где — кинетическая энергия, а — потенциальная энергия системы. Далее для каждой координаты записывается уравнение Лагранжа второго рода:
где — обобщённая сила.
Подробно изучить принципы построения динамических уравнений можно в книге [3]. Напомним общий алгоритм построения модели методом Лагранжа:
- Выбрать обобщённые координаты — минимальный набор независимых переменных, полностью описывающих положение системы.
- Найти обобщённые силы.
- Вычислить кинетическую энергию как сумму энергий всех подвижных масс, включая вращательное движение.
- Вычислить потенциальную энергию , которая зависит от положения подвижных масс в поле тяготения.
- Построить лагранжиан .
- Построить уравнения Лагранжа второго рода для получения системы дифференциальных уравнений с учетом обобщённых сил при наличии внешнего управления или трения.
После построения системы нелинейных дифференциальных уравнений для упрощения анализа и синтеза управления линеаризуем её в окрестности верхнего положения равновесия, затем представим в пространстве состояний и переведем в дискретную форму.
Приступим к построению динамической модели маятника в соответствии с предложенным выше алгоритмом. В качестве обобщенных координат возьмем и . С их помощью мы можем полностью описать положение системы.
На систему действуют три силы: сила вязкого трения в неподвижной точке крепления стержня , сила вязкого трения между статором и ротором двигателя и крутящий момент , создаваемый электродвигателем. Таким образом вектор обобщенных сил будет выглядеть как:
Теперь вычислим общую кинетическую энергию маятника путем сложения кинетических энергий каждого звена:
где
— формула кинетической энергии в общем виде, — масса -го звена, — момент инерции -го звена, и — положение центра масс -го звена вдоль осей и , а — абсолютный угол поворота -го звена в неподвижной системе координат.
В нашем случае , , равны:
Здесь , так как — угол поворота маховика относительно стержня, а — угол поворота стержня в неподвижной системе координат. Чтобы найти абсолютный угол маховика относительно неподвижной системы координат, необходимо сложить оба этих угла. Их производные по времени примут следующий вид:
Выражение также может быть получено согласно теореме о сложении скоростей:
Теорема о сложении скоростей
Абсолютная скорость точки равна векторной сумме её переносной и относительной скоростей:
где — вектор абсолютной скорости, — вектор переносной скорости, — вектор относительной скорости.
В нашем случае маховик вращается относительно стержня, следовательно угловая скорость равна . Более подробно о сложном движении точки в пространстве можно узнать из [3].
Построим уравнение кинетической энергии маятника, подставив в него полученные переменные и :
Упростив выражение, получим:
Аналогично потенциальная энергия маятника равна сумме потенциальных энергий стержня и маховика:
Подставим сюда выражения и :
Для простоты дальнейших вычислений произведем замену переменных:
Тогда уравнения и примут вид:
Теперь построим лагранжиан:
Запишем уравнения Лагранжа второго рода с учетом обобщенных координат , и вектора обобщенных сил:
Найдем все необходимые производные лагранжиана :
Подставим эти выражения в систему :
Преобразуем уравнения так, чтобы и лежали в левой части:
Приведенная система дифференциальных уравнений описывает динамику механической части обратного маятника.
Найдем зависимость между напряжением и моментом, развиваемым двигателем. Благодаря этому система управления сможет использовать напряжение в качестве управляющего воздействия. Соотношение между напряжением и моментом выходного вала двигателя без редуктора и без учета трения описывается уравнениями:
Таблица 2. Параметры электродвигателя
| Параметр или переменная | Ед. измерения | Описание |
|---|---|---|
| В | Подаваемое на двигатель напряжение | |
| А | Ток, проходящий через обмотки двигателя | |
| Гн | Индуктивность обмотки двигателя | |
| Ом | Сопротивление обмотки двигателя | |
| В·с/рад | Скоростная постоянная | |
| Н·м/А | Моментная постоянная |
Параметры , , , обычно указываются в документации на двигатель либо находятся экспериментально. Индуктивность обмоток, как правило, намного ниже сопротивления, поэтому переменной можно пренебречь. Тогда соотношение между моментом на валу и напряжением можно выразить как:
Подставим это выражение в систему :
Мы получили математическую модель, полностью описывающую поведение обратного маятника. Теперь для синтеза управления и анализа на устойчивость нам необходимо её линеаризовать и привести к форме в пространстве состояний.
Желаемым состоянием маятника является верхнее неустойчивое положение равновесия, когда все скорости равны нулю, то есть , , . При этом нас не интересует значение угла . Линеаризуем систему в этой окрестности. Единственным нелинейным членом в этой системе является . Разложив его в ряд Тейлора и взяв первый член, получим . Тогда система примет вид:
Представим теперь эту систему в пространстве состояний матричным уравнением:
В качестве вектора состояния выберем , так как нас интересуют угловое положение стержня и угловые скорости стержня и маховика. В качестве управляющего воздействия возьмем . Само уравнение примет вид:
Теперь переведем уравнение в дискретную форму. Существует множество методов преобразования непрерывных систем в дискретные. Мы рассмотрим метод Эйлера. От других он отличается простотой, но при этом обладает меньшей точностью при высоких значениях шага дискретизации. Чтобы метод был достаточно точным, шаг дискретизации нашей системы должен быть порядка 1 мс.
Представим в виде:
где — шаг дискретизации, а — состояние системы на шаге .
Подставим это выражение в уравнение :
Умножим уравнение на и перенесем в правую часть:
Это уравнение можно представить в виде:
где матрицы и описывают динамику системы и определяются как:
Здесь — единичная матрица размером . В итоге уравнение примет вид:
Стабилизация маятника в верхнем неустойчивом положении равновесия
Очевидно, что рассматриваемая система неустойчива в вертикальном положении. Рассмотрим задачу стабилизации маятника в верхнем неустойчивом положении равновесия , в предположении, что в начале процесса стабилизации он уже находится в некоторой окрестности этого желаемого положения. Задача может быть решена с помощью управления по обратной связи, используя весь вектор состояния. Структурная схема такой системы управления показана на рисунке 10, где — матрица весовых коэффициентов. Закон управления выглядит как:
При этом задача сводится к выбору таких коэффициентов обратной связи матрицы , чтобы система обеспечивала устойчивое вертикальное положение маятника.

Рисунок 10. Структурная схема системы управления с регулятором полного состояния.
Существует множество способов выбора коэффициентов обратной связи, или, по-другому, синтеза управления. Как отмечалось выше, коэффициенты можно выбрать эмпирическим путем, то есть подобрать вручную. Но такой подход может привести к неэффективному решению проблемы. В текущей работе мы рассмотрим вариант выбора коэффициентов с помощью решения задачи линейно-квадратичного управления. Далее по тексту регулятор, синтезированный с помощью решения этой задачи, будем называть LQR от английского Linear Quadratic Regulator.
LQR — это один из видов оптимальных регуляторов, использующий квадратичный функционал качества, который необходимо минимизировать:
Здесь и — заданные симметричные положительно определенные матрицы весовых коэффициентов, - размерность вектора состояния, - размерность вектора управления. Здесь задаёт штраф за отклонение состояний от желаемого положения, а — штраф за величину управляющего воздействия. Чем больше элементы матрицы , тем сильнее регулятор стремится быстрее уменьшить отклонения состояний. Чем больше элементы матрицы , тем сильнее ограничивается управляющее воздействие, и тем более плавным, но обычно менее быстрым становится переходный процесс. Таким образом, подбор и задаёт компромисс между точностью и быстродействием, с одной стороны, и затратами на управление — с другой.
Подбор весовых коэффициентов обычно ведут по следующим принципам:
- начинать нужно с диагональных единичных матриц;
- чем больше значение , тем сильнее штрафуется отклонение состояния от нуля;
- значения увеличивают штраф за управление , приводя к более плавному управлению.
В нашем случае используется дискретная система . Функционал качества для дискретных систем имеет вид:
Закон управления по отрицательной обратной связи должен минимизировать этот функционал. Согласно утверждению из [5], для такого функционала с бесконечным временем процесса матрица вычисляется как:
где — положительно определенная матрица, являющаяся решением дискретного алгебраического уравнения Риккати:
Это уравнение имеет единственное решение , если система управляема, а матрицы и положительно определены.
Система называется управляемой, если существует такое допустимое управление , которое бы переводило начальное состояние в конечное состояние за конечный интервал времени .
Критерий управляемости линейных стационарных систем
Линейный стационарный объект управляем тогда и только тогда, когда матрица управляемости
имеет максимальный ранг, то есть .
Напомним, что ранг матрицы равен числу линейно независимых строк, числу линейно независимых столбцов или порядку отличного от нуля минора максимальной размерности.
После синтеза закона управления необходимо убедиться, что замкнутая система будет устойчива. Для этого воспользуемся критерием устойчивости для дискретных систем.
Критерий устойчивости дискретных систем
Для устойчивости дискретной системы необходимо и достаточно, чтобы все корни характеристического уравнения системы находились внутри круга единичного радиуса с центром в начале координат.
Разберем подробнее смысл этого критерия. Мы имеем замкнутую систему вида:
Подставим из уравнения в , вынесем за скобку и получим:
Характеристическое уравнение системы будет иметь вид:
Согласно критерию устойчивости, все собственные значения матрицы должны удовлетворять условию . Если хотя бы одно собственное значение , то система будет неустойчива. Какое-либо значение при всех остальных определяет границу устойчивости дискретной системы.
Для решения алгебраического уравнения Риккати применяют итерационные методы, например метод Ньютона, а на практике чаще всего используют готовые средства Matlab или библиотеки Control Systems на Python. С их помощью находят матрицу и анализируют управляемость и устойчивость системы. После этого полученные значения применяются в управлении аппаратной платформой. Применительно к нашему обратному маятнику, будет представлять собой вектор, так как вектор управления состоит всего из одного элемента. Описанный алгоритм стабилизации будет выглядеть так:
- Получить с датчиков значения и .
- Вычислить угловые скорости и :
- Вычислить желаемое значение напряжения на двигателе:
где — -й элемент вектора .
- Передать значение в систему управления двигателем.
Перевод маятника из нижнего положения равновесия в верхнее
Изначально маятник покоится в нижнем положении равновесия. Для перехода в верхнее положение равновесия его нужно сначала раскачать, а затем после попадания в окрестность верхнего положения, стабилизировать [6].
При раскачивании маятника ему нужно сообщить энергию, достаточную для перевода в верхнее положение. Полная энергия маятника , без учета вращения относительно него маховика, описывается выражением:
Желаемая энергия маятника , покоящегося в верхнем положении равновесия, равна . Закон управления, который будет обеспечивать раскачивание маятника до тех пор, пока его энергия не достигнет величины , выглядит как:
где — коэффициент обратной связи. Множитель обеспечивает подкачку энергии в сторону равновесия. Такой метод называется управлением с формированием энергии. В иностранной литературе его обычно называют Energy-Shaping Control. Закон управления обеспечивает рост полной энергии системы до заданного значения, а знак угловой скорости стержня определяет направление вращения. По своей сути Energy-Based Control представляет собой П-регулятор, где в качестве ошибки выступает разница между желаемой и текущей энергией.
Слежение за заданным значением энергии в соответствии с законом управления прекращается, когда система преодолевает некоторый порог . После этого включается закон управления , который уже доводит маятник в желаемое верхнее положение равновесия и стабилизирует его в нём.
Если необходимо перевести маятник в нижнее положение равновесия с последующим торможением, то можно использовать этот же подход. В этом случае заданное значение энергии нужно взять с обратным знаком:
Стоит отметить, что в настоящей работе не получено теоретическое доказательство работоспособности закона управления . Этот закон является нелинейным, поэтому произвести синтез и анализ аналитическими методами не представляется возможным. При этом работоспособность построенного управления удаётся показать при помощи численных и экспериментальных исследований.