Отправьте статью сегодня! Журнал выйдет ..., печатный экземпляр отправим ...
Опубликовать статью

Молодой учёный

Моделирование и визуализация динамических систем на Python: пример простого маятника и PID-регулятора

Технические науки
28.06.2025
5
Поделиться
Библиографическое описание
Манин, А. Н. Моделирование и визуализация динамических систем на Python: пример простого маятника и PID-регулятора / А. Н. Манин. — Текст : непосредственный // Молодой ученый. — 2025. — № 26 (577). — С. 88-90. — URL: https://moluch.ru/archive/577/127274/.


В статье рассматривается задача моделирования динамической системы — простого маятника. Представлен подход к численному решению системы с помощью SciPy и визуализации поведения с помощью Matplotlib. Также реализована система управления с применением PID-регулятора. Результаты демонстрируют возможность стабилизации маятника и расширяемость метода на более сложные задачи.

Ключевые слова: маятник, PID-регулятор, моделирование, Python, динамическая система, SciPy, Matplotlib.

Введение

Моделирование динамических систем играет ключевую роль в технических науках и инженерных приложениях. Оно позволяет анализировать поведение объектов, находящихся под действием различных сил, разрабатывать системы управления и оптимизировать параметры процессов. Язык программирования Python, благодаря богатому набору библиотек для научных вычислений, предоставляет эффективные инструменты для численного моделирования и визуализации сложных физических явлений. [2] В данной работе рассматриваются примеры моделирования простого математического маятника, а также реализации системы автоматического управления с помощью PID-регулятора. Используются библиотеки SciPy и Matplotlib, что делает решение доступным для практического применения и адаптации под конкретные задачи. [1]

Математическая модель простого маятника

Маятник представляет собой простую механическую систему с одной степенью свободы. Его движение определяется действием силы тяжести, вызывающей колебания при отклонении от положения равновесия. Для описания динамики такой системы используется система дифференциальных уравнений, отражающая зависимость угла отклонения и угловой скорости от времени. [4] Для численного моделирования уравнения движения преобразуются к форме, удобной для расчёта с использованием стандартных численных методов. В данной работе используется метод Рунге–Кутты, реализованный в библиотеке SciPy. При рассмотрении управляемой системы в модель вводится внешнее воздействие, имитирующее управляющий момент. Это позволяет применять алгоритмы автоматического управления, в частности PID-регулятор, который обеспечивает возврат маятника в вертикальное положение при отклонениях. [3]

Численное моделирование

Моделирование движения маятника выполнено в среде Python с использованием библиотеки SciPy. Для численного решения системы дифференциальных уравнений применялся метод Рунге–Кутты 4–5 порядка, реализованный в функции solve_ivp. В качестве начальных условий задан угол отклонения, равный 45 градусам, при нулевой угловой скорости. Временной интервал моделирования составил 10 секунд с равномерной дискретизацией на 300 точек. Параметры маятника включают длину в один метр и ускорение свободного падения, равное 9,81 м/с². [5]

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

Управление маятником с помощью PID-регулятора

Для стабилизации маятника в вертикальном положении применён PID-регулятор — один из самых распространённых алгоритмов управления в инженерной практике. Он учитывает текущее отклонение, скорость его изменения и накопленную за время ошибку, что позволяет системе плавно и точно возвращаться в заданное состояние. Управляющее воздействие рассчитывается на каждом шаге моделирования и добавляется в уравнение движения. Реализация регулятора выполнена в виде отдельного программного блока. Коэффициенты PID-регулятора настраиваются вручную, подбираются таким образом, чтобы обеспечить устойчивое поведение: маятник возвращается в вертикальное положение и затухает без колебаний.

Визуализация результатов

Для наглядной оценки поведения системы были построены графики изменения угла и угловой скорости маятника во времени. Визуализация выполнена с использованием библиотеки matplotlib.

Свободное движение маятника без управления

Рис. 1. Свободное движение маятника без управления

На первом рисунке показано свободное движение маятника без какого-либо управления. Видно, что колебания происходят периодически, без затухания. Это соответствует теоретической модели без сопротивления и внешнего воздействия.

Поведение маятника с подключённым PID-регулятором

Рис. 2. Поведение маятника с подключённым PID-регулятором

На втором рисунке представлено поведение маятника с подключённым PID-регулятором. В начальный момент времени маятник отклонён от вертикали, но за счёт управляющего сигнала система стабилизируется. Угол отклонения и скорость постепенно стремятся к нулю. Это демонстрирует эффективность предложенного способа управления.

Выводы

В ходе работы была реализована численная модель движения простого маятника, дополненная системой управления на основе PID-регулятора. Применение языка Python и библиотек SciPy и Matplotlib обеспечило как решение уравнений, так и визуальный анализ поведения системы.

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

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

Литература:

1. Сысоева М. В., Сысоев И. В. Программирование для «нормальных» с нуля на языке Python: Учебник. — М.: Базальт СПО; МАКС Пресс, 2018.s

2. Алферова Тамара Викторовна, Трохова Татьяна Анатольевна Компьютерное моделирование элементов динамических систем в python // Агротехника и энергообеспечение. 2021. № 3 (32).

3. Морозов А. Ю., Ревизников Д. Л. Моделирование динамических систем с интервальными параметрами. Обзор методов и программных средств.

4. Чибисов А. В., Попов А. Г., Мозговой Н. А., Пиджаков В. А. Автоматическая настройка ПИД-регулятора с применением машинного обучения для обеспечения стабильной работы автономных электронных систем при термоциклировании.

5. Чхартишвили Г. С. Автоматизированное моделирование линейных динамических систем: методическое пособие. — М.: Изд-во МЭИ, 2004.

Можно быстро и просто опубликовать свою научную статью в журнале «Молодой Ученый». Сразу предоставляем препринт и справку о публикации.
Опубликовать статью
Ключевые слова
маятник
PID-регулятор
моделирование
Python
динамическая система
SciPy
Matplotlib
Молодой учёный №26 (577) июнь 2025 г.
Скачать часть журнала с этой статьей(стр. 88-90):
Часть 2 (стр. 77-149)
Расположение в файле:
стр. 77стр. 88-90стр. 149

Молодой учёный