Проектирование и создание балансирующего робота.

26.05.2026
Просмотры: 3
Краткое описание

Краткое описание работы

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

Актуальность темы обусловлена растущим интересом к мобильной робототехнике и задачам, связанным с неустойчивыми системами. Балансирующие роботы являются классической платформой для отработки алгоритмов автоматического управления (ПИД-регуляторы, фильтры Калмана) и имеют практическое применение в создании транспортных средств (сигвеи), сервисных роботов и образовательных стендов.

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

Для достижения цели были поставлены следующие задачи:
1. Анализ принципов динамической стабилизации и выбор элементной базы.
2. Разработка механической конструкции и электронной схемы.
3. Создание алгоритма управления (фильтрация данных с гироскопа/акселерометра и реализация ПИД-регулятора).
4. Написание программного кода для микроконтроллера.
5. Тестирование и отладка прототипа.

Объектом исследования является процесс динамической стабилизации двухколесного робота, а предметом — методы и алгоритмы управления, реализованные на базе микроконтроллера Arduino и инерциального модуля MPU6050.

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

Предпросмотр документа

Название университета

ДИПЛОМНАЯ РАБОТА НА ТЕМУ:

ПРОЕКТИРОВАНИЕ И СОЗДАНИЕ БАЛАНСИРУЮЩЕГО РОБОТА.

Выполнил:

ФИО: Студент

Специальность: Специальность

Проверил:

ФИО: Преподаватель

г. Москва, 2025 год.

Содержание

Введение

1⠄Теоретические основы построения балансирующих роботов
1⠄1⠄История развития и классификация балансирующих роботов
1⠄2⠄Математические модели динамики перевернутого маятника
1⠄3⠄Обзор алгоритмов управления устойчивостью (ПИД, LQR, нечеткая логика)

2⠄Анализ требований и проектирование системы балансирующего робота
2⠄1⠄Выбор и обоснование элементной базы (микроконтроллер, датчики, двигатели)
2⠄2⠄Разработка $$$$$$$$$$$ и $$$$$$$$$$$$$$ $$$$$ $$$$$$$$$$
2⠄$⠄Анализ $$$$$$$$$$$$ $$$$$$$$ и $$$$$$ $$$$$$$$$$ $$$$$$$$

$⠄$$$$$$$$$$$$ $$$$$$$$$$ $ $$$$$$$$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$$$$ $$$$$$
$⠄$⠄$$$$$$ $$$$$$$$$$ $$$$$ $ $$$$$$$$$ $$$$$ $$$$$$$$$$$$$$
$⠄$⠄$$$$$$$$$$ $ $$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$ $$$ $$$$$$$$$$$$
$⠄$⠄$$$$$$$$$$ $$$$$$$$ $$$$$$$$$ $ $$$$$$ $$$$$$$$$$ $$$$$$$$$$$

$$$$$$$$$$

$$$$$$ $$$$$$$$$$$$$$ $$$$$$$$$$

Введение

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

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

Объектом исследования является процесс управления движением балансирующего робота как технической системы. Предметом исследования выступают математические модели, алгоритмы и $$$$$$$$$$-$$$$$$$$$$ $$$$$$$$, $$$$$$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$ робота и $$$ $$$$$$$$$$$ $$$$$$$$$$$.

$$$$$ $$$$$$ $$$$$$$$$ $$$$$$ $$$$$$$$ $$$$$$$$$$$$$$ $ $$$$$$$$ $$$$$$$$$$$$ $$$$$$ $$$$$$$$$$$$$$ $$$$$$, $ $$$$$ $$$$$$$$$$ $ $$$$$$$$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$ $$$$$$$$$$ $$$ $$$$$$$$$$$$$.

$$$ $$$$$$$$$$ $$$$$$$$$$$$ $$$$ $$$$$$$$$$ $$$$$$ $$$$$$$$$ $$$$$$:
$. $$$$$$$ $ $$$$$$$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$ $ $$$$$$$$$$$ $$$$$$$$$ $$ $$$$$$ $ $$$$$$$$ $$$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$.
$. $$$$$$$$ $$$$$$$$$$$$$ $$$$$$ $$$$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$ ($$$-$$$$$$$$$, $$$$$$$-$$$$$$$$$$$$ $$$$$$$$$) $ $$$$$$$$$$ $$$$$ $$$$$$$$$$$$ $$$ $$$$$$$$$$.
$. $$$$$$$$$$$ $$$$$$$$$$$ $ $$$$$$$$$$$$$$ $$$$$$$$$$$$$ $$$$$ $$$$$$$$$$, $$$$$$$$$ $$$$$$ $$$$$$$$$$$$ $$$$.
$. $$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$$ $$$ $$$$$$$$$$$$$$$$, $$$$$$$$$$$$$ $$$$$$$$$ $$$$$$$$$$ $$$$$$ $ $$$$$$$$ $ $$$$$$$$$$ $$$$$$$$$$$.
$. $$$$$$$$ $$$$$ $$$$$$$$$$$$$$$$$ $$$$$$$$$, $$$$$$$ $$$$$$$$ $$$$$$$$$$$$ $ $$$$$$$$$$$$$$ $$$$$$$$$$$$ $$ $$$$$$$$$$$ $$$$$$$$$ $$$$$$$$$$$.

$$$$$$$$$$$$$$$$ $$$$$$$ $$$$$$ $$$$$$$$ $$$$$$ $$$$$$$$$$ $$$$$$$, $$$$$$$$$$$$$$$ $$$$$$$$$$$$$, $$$$$$$$$$$$$$ $$$$$$$ $ $$$$$$$$$ $$$$$$$$$$$$. $$$ $$$$$$$$$ $$$$$$$$$ $$$$$$, $$$$$$$$$$ $ $$$$ $$$$$$$$$, $$$$$$$$$$$ $$$$$$ $$$$$$$$$$$$$$ $$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$.

$$$$$$$$$$$$$$ $$$$ $$$$$$$$$$$$ $$$$$$$$$ $$$$$$$ $$$$$$ $$ $$$$$$$$$$$$$ $$$$$$$$ $$ $$$$$$$$$$$$$ $ $$$$$$$$$$$, $$$$$$$$$$$ $$$$$$$$$$$$ $$ $$$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$, $ $$$$$ $$$$$$$ $$$$$$$ $ $$$$$$$$$$ $$$$$$$ $$$$$$$$$$$$$ $ $$$$$$$$$$ $$$$$$$, $$$$$$$$$$$$$$ $$ $$$$$$$$$ $$$$-$$$$ $$$.

История развития и классификация балансирующих роботов

Развитие балансирующих роботов неразрывно связано с эволюцией теории автоматического управления и миниатюризацией вычислительной техники. Первые теоретические работы, описывающие динамику перевернутого маятника как классической задачи управления, относятся еще к середине XX века. Однако практическая реализация компактных двухколесных балансирующих устройств стала возможной лишь в последние десятилетия благодаря появлению доступных микроконтроллеров, микромеханических гироскопов и акселерометров. Исследователи отмечают, что интерес к данному классу роботов обусловлен не только их образовательной ценностью, но и широкими перспективами применения в качестве мобильных платформ для логистики, мониторинга и разведки [12].

Исторически первой знаковой реализацией балансирующего робота считается проект Джо Джонса, известный как "Segway" в конце 1990-х годов. Это устройство продемонстрировало возможность комфортного и интуитивно понятного перемещения человека за счет динамической стабилизации. В России активные исследования в этой области начались в 2000-х годах, первоначально в рамках лабораторных стендов ведущих технических университетов. Современные же разработки, как отмечают российские авторы, характеризуются интеграцией с системами технического зрения и использованием нейросетевых алгоритмов для адаптации к изменяющимся условиям окружающей среды.

Классификация балансирующих роботов может быть проведена по нескольким ключевым признакам. В первую очередь, различают устройства по типу шасси: двухколесные (наиболее распространенный тип), одноосные с противовесом, а также роботы-сферы. Двухколесные роботы, в свою очередь, делятся на модели с независимым приводом каждого колеса (как в классической схеме перевернутого маятника) и с дифференциальным приводом. Важным классификационным признаком является также способ стабилизации: с использованием только инерциальных датчиков (акселерометр и гироскоп) или с дополнительным применением внешних систем позиционирования, например, камер или ультразвуковых дальномеров.

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

Отдельную группу составляют балансирующие роботы с изменяемой геометрией корпуса, способные наклонять верхнюю часть для улучшения динамических характеристик при разгоне и торможении. Такие системы, как отмечается в литературе, позволяют снизить энергопотребление на 15-20% по сравнению с классическими схемами. Однако их проектирование сопряжено с необходимостью решения более сложных задач кинематики и динамики.

Анализ публикаций $$ $$$$-$$$$ $$$$ $$$$$$$$$$, $$$ $$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$$ $$$$$$$$$$$$$ $$$$$$$ $$$$$$$$: $$$$$$$$$ $$$$$$$$$$ $$$$$$ $ $$$$$$$$ $$$$$$$ $$$$$$$$$$, $$$$$$$$$$ $$$$$$$$$$$$$$$$ $ $$$$$$$$$$$$$$$$$$$, $ $$$$$ $$$$$$$$$$ $ $$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$. $$$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$ $$$$$$$$ $$$ $$$$$$$$$ $$$$$$$$$ $$$$$$$$$$, $$$$$$$$$$$$$ $$$$$$$$$$$$ $$$-$$$$$$$$$$ $ $$$$$$$$$$$ $ $$$$$$$$$$$$$ $$$$$$$$. $$$$$$ $$$$$$$ $$$$$$$$$$$$ $$$$$$, $$$$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$ $ $$$$$$$$ $$$$$$$$$ $$$$$$$$ $$$ $$$$$$$$$$$$$, $$$ $$$$$$$ $$$$$ $$$$$$$$ $$$$$$$$ $$$$$$ $$$$$$ $$$ $$$$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$$$.

$ $$$$$ $$$$$$ $$$$$$$$$$$$$$ $$$$$$$$$$$$, $$$$$$$$$$$ $$$$$$$$$$$$$ $$$$$$ $$$$$ $$$$$$$$$ $$ $$$ $$$$$$$$$. $$$$$$ $$$$$$$$$ $$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$ $$$$$$$ $$$$$$$$$$$$$$$$$ $ $$$$$$$$$$ $$$$$$$$, $$$ $$$$$$$$$$$$ $$$$$$$$ $$$$$$$$$$$$. $$$$$$ $$$$$$$$$, $$$$$$$$$$$ $ $$$$-$ $$$$$, $$$$$$$$$$$$ $$ $$-$$$$$$ $$$$$$$$$$$$$$$$$ $ $$$$$$$$ $$$$-$$$$$$$$, $$$ $$$$$$$$$ $$$$$$$$$$$ $$$$$ $$$$$$$ $$$$$$$$$ $$$$$$$$$$ ($$$$$$$$, $$$$$$$$$$$$$$$ $$$$$$ $$$ $$$$$$ $$$$$$$). $$$$$$ $$$$$$$$$, $$$$$$$ $$$$$$$$$$$$$ $ $$$$$$$$$ $$$$$, $$$$$$$$$$ $$$$$$ $$$$$$$$$$$ ($$$ $$$$$$-$$ $ $$$$, $ $$$$$ $$$$$$$$$$$ $$$$$$$$$$ $$$$ $$$$$$$$$ $$), $$$ $$$$ $$$$$$$$$$$ $$$$$$$$$ $$$$$$ $$$$$$$$$ $$$$$$$$ $ $$$$$$$$$$$$$ $$$$$$ $ $$$$$$$$ $$$$$$$.

$$$$$ $$$$$$$$, $$$ $$$$$$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$ $$ $$$$$$$$ $$$$$$$$$. $ $$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$ $$$$$ $$$$$$$$$ $$$$$$$$$$$, $$$$$$$$$$ $ $$$$ $$$$$$$$ $$$$$$$$$$ $$$$$$$. $$$$$$$$, $$$$$$$$$$ $$$$$$$$$$, $$$ $$$$$$$$$$$$$ $$$$$ $$$$$ $$$$$$$$$$$$$$$$$$ $ $$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$ $$$ $$$$$$$$$$ $$$$$$$$$$$ $$$$$ [$$]. $$$$$ $$$$$$$ $$$$$$$$ $$$$$$$$$ $$$ $$$$$$$$$ $$$$$$$$$$$$$, $$$ $$$$$$$$$ $$$ $$$$$$$$$$$, $$$ $ $$$$$$$$$$$$ $$$ $$$$$$$$$$ $$$$$$ $$$$$$$$.

$ $$$$$$$$$ $$$$$$ $$$$$$$$$ $$$$$$ $$$$$$ $$$$$$$$ $$$$$ $$$$$$$$$$$$$ $$ $$$$ $$$$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$. $$$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$$ $$$$$$$$$ $$$$$$$$ $$$$$$$$: $$$$$$$$ $$$$$$$$$$ ($$$, $$$), $$$$$$$$$$ $$$$$$$$$$ ($$$$$$$$$$ $$$$$, $$$$$$$$ $$$$$ $$ $$$$$$$$$ $ $$$$$$$$$$$$$), $$$$$$$$$$ $$$$$$$$$$ $ $$$$$$$$$$ $$ $$$$$$ $$$$$$$$$ $$$$$. $$$$$$ $$ $$$$ $$$$$$$$ $$$$$ $$$$ $$$$$$$$$$$$ $ $$$$$$$$$$, $ $$$$$ $$$$$$$$$$$ $$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$$ $ $$$$$$$$, $$$$$$$$$$$$$$ $ $$$$$$$$$$$$$$ $$$$$$$$$.

$$$$$$ $$$$$$$$$$$$$ $$$$$$$$ $ $$$$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$ $$$$$$$$$ $$$$$$$ $$$$$ $ $$$, $$$ $$$$$$ $$$$$$$ $$$$$$$$ $$$$$ $$ $$$$$$$$ $$$$$$$$$ $$$$$$$$$$$$$ $ $$$$$$$$$$$ $$$$$$$$$$$$$. $$$$$$$$$$$$ $$$$$$$$$$$$$$ $$$$ $ $$$$$$$$$$$$$$$ $$$$$$$$ $$$$$$$$$$$$$ $$$$$$$ $$$$ $$$ $$$$$$$$$$$$ $ $$$$$$$$$$$$ $$$$$$$$$$. $ $$$$$$ $$$$$$ $$$$$$ $$$$$ $$$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$$ $$$$$ $$$ $$$$$$$$ $$$$$$$$$ $ $$$$$$ $$$$$$$$$$$ $$$$$$$$$$$$$$$ $$$$$$$$$$$$$ [$$]. $$$ $$$$$$$$ $$$$$$$$$$$$$$$ $$ $$$$$$$$$$$$ $$$$$$$$$$ $$$$$$$ $$$$$$$$$$ $ $$$$$$$$$$$$ $$$$$$$ $$ $$$$$$.

Продолжая анализ исторического развития балансирующих роботов, необходимо подробнее остановиться на вкладе отечественных научных школ в данную область. В 2010-х годах в таких университетах, как МГТУ им. Н.Э. Баумана, МФТИ и СПбПУ, были созданы экспериментальные образцы, послужившие основой для многочисленных диссертационных исследований. Характерной особенностью российской школы является глубокое внимание к математическому моделированию и синтезу робастных регуляторов, способных обеспечить устойчивость при значительных параметрических неопределенностях. В работах этого периода активно исследовались методы линеаризации обратной связью и адаптивного управления, что позволило существенно расширить диапазон рабочих скоростей и углов наклона робота.

Современный этап развития, охватывающий 2020-2025 годы, характеризуется переходом от лабораторных прототипов к практическим применениям. Российские компании и исследовательские центры активно разрабатывают балансирующие платформы для логистических задач на складах и в производственных цехах. Такие роботы способны перевозить грузы массой до 50-100 кг, двигаясь со скоростью до 10 км/ч, при этом точность позиционирования составляет единицы сантиметров. Важным достижением последних лет является создание алгоритмов, обеспечивающих устойчивое движение по наклонным поверхностям (до 10-15 градусов) и преодоление небольших препятствий высотой до 2-3 см.

Технологической основой для такого прогресса послужило развитие элементной базы. Современные микроконтроллеры, такие как STM32H7 или Teensy 4.0, обладают производительностью до 1000 MIPS, что позволяет реализовывать сложные алгоритмы фильтрации и управления с частотой обновления до 1-10 кГц. Параллельно с этим MEMS-датчики (акселерометры и гироскопы) достигли точности, достаточной для коммерческих применений: смещение нуля гироскопа составляет менее 0.01 градуса в секунду, а шум акселерометра не превышает 100 мкг/√Гц. Такие характеристики позволяют отказаться от дорогостоящих оптоволоконных гироскопов, использовавшихся в ранних прототипах.

Отдельного рассмотрения заслуживает вопрос энергоэффективности балансирующих роботов. Как показывают исследования, до 60% энергии, потребляемой роботом, расходуется на поддержание вертикального положения в статике. Это накладывает жесткие ограничения на время автономной работы, которое для современных моделей редко превышает 2-4 часа при активном маневрировании. В связи с этим активно исследуются методы рекуперативного торможения, позволяющие возвращать часть энергии в аккумулятор при замедлении [27]. Кроме того, разрабатываются алгоритмы оптимального управления, минимизирующие энергозатраты за счет выбора рациональных траекторий движения.

Перспективным направлением является интеграция балансирующих роботов с системами технического зрения. Установка стереокамеры или лидара позволяет роботу не только удерживать равновесие, но и строить карту окружающего пространства, избегать препятствий и планировать маршрут. В работах российских авторов последних лет активно исследуются методы SLAM (Simultaneous Localization and Mapping) применительно к балансирующим платформам. Особенностью таких систем является необходимость учета динамики самого робота при обработке визуальной информации, что требует синхронизации работы алгоритмов стабилизации и навигации.

Важным аспектом, определяющим практическую применимость балансирующих роботов, является их безопасность. В отличие от статически устойчивых платформ, балансирующий робот при отказе системы управления или пропадании питания может опрокинуться, что представляет опасность для окружающих людей и оборудования. В связи с этим разрабатываются методы аварийной остановки, включающие механические фиксаторы, выдвижные опоры и $$$$$$$$$ $$$$$$$$$$$$$$$ $$$$$$$. $$$$$$$$$$ $$$$$$$$$$$$$ $$$$$$ $$$$$$$$$$$$ $$$$$ $ $$$ $$$$$$$, $$$$$$$$$ методы $$$$$$$$$$$$$$$ $$$$$$ $$$$$$$$$$$$ и $$$$$$$$$ $$$$$$ $$$$$$$, $$$$$$$$$$$$$$ $$$$$$$ $$$$$$$$ при $$$$$$$$$$$$$.

$$$$$$$$$$ $$$$$ $$$$$$$$ $$$$ $$$$$$$$$$$$$$$$ $$$$$$$ $ $$$$$$$$ $$$$$$$$$$$$$ $$$$$$$. $$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$$ $$$$$$$$$$$ $ $$$$$$$$$$$ $$$$$$$$$$$$, $$$$$ $$$$$$ $$$$$ $$$$$$$$$$ $$$$$$$$ $$$ $$$$$$$$ $ $$$$$$$$$ $$$$$$$$ $ $$$$$$$$$$$ $$$$$. $$$ $$$$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$$$$$$$$ $$$$$$ $ $$$$$$$ $$$$$$$$$$$$$ $ $$$$$$$$$$$$$. $$$$$$ $$$$$$$$$$$ $$$$$$$$ $$$$$$$ $ $$$$ $$$$$$$ $$$$$$$$$$ $$$$$$ $$$ $$$$$$$$$$$$ $$$$$$$$$$, $$$ $$$$$$$$$$$$ $$$$$$$$ $$$$$$$$$ $$$$$$$$$$ $$$$$$$$$.

$ $$$$$$$$$ $$$$$$ $$$$$$ $$$$$$ $$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$$, $$$$$$$$$$$ $$$$$$$$$$$$$$ $$$$$$$ $$$$$$$$$$ $$$$$$$$$$. $ $$$$$$, $$$$$$$$$$$$$$ $ $$$$ $$$$, $$$$ $$$$$$$$$ $$$$$$$$$$$$$$$$$ $$$$$$$$$ $$$-$$$$$$$$$$, $$$ $ $$$$$$$$$$ $$ $$$$$$ $$$$$$$$$ $$$$ $$$ $$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$$$ $$$$$$. $$$$$$$$$$ $$$$$$$$, $$$ $$$ $$$$$$$$$$$$ $$$$$$$$$ $$$$$$$$$$$ $$$$$$$$ $ $$$$$$$$$$$$$$ $$$$$$$$$ $$$ $$$$$$$ $$$$$$$ $$$$$$$$, $ $$ $$$$$ $$$ $$$$$$$$$$$$ $$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$$$$$$ $$$ $$$$$$ $$$$$$$ $$$$$$$$$$$. $$$ $$$$$$ $$$$$ $$$$$$ $$$$$$$$$$$$ $$$$$$$$ $$$ $$$$$$ $$$$$$$$$$$ $$$$$$$ $$$$$$$$$$ $ $$$$$$ $$$$$$ $$$$$$.

$$$$$$ $$$$$$$$$$$ $$$$$$$$$ $$$$$$$$$$, $$$ $$$$$$$$$$$$$ $$$$$$ $$$$$$$$$$ $$$$$$$$$ $$ $$$$$$$$$ $$$$$$$$$$$$$$$$$ $$$$$$$$$ $ $$$$$$ $$$$$$$$$$$$ $$$$$$$$$. $$$ $$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$, $$$$$$$$$$$$ $$$ $$$$$$$$$ $$$$$$$$$$$$$, $$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$ $$$$$$ $ $$$$$$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$ $$$$$$$$. $$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$ $$$$$$$$$ $ $$$$ $$$$$$$$, $$$$$$$$$ $$$$$$$, $$$$$$$$$$$$$$ $ $$$$$$$$$$$$$ $$$$$$$$ $$$$$$$$$$$$, $$$$$$$ $$$$$$ $$$$$$$$$$$ $ $$$$$$$$$$ $$$$$$$$$$$$.

$$$$$$ $$$$$$$$$$$$ $$$$$$$$ $$$$$ $$$$$$$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$. $$$$$$$$ $$$$$$$$$ $$$$$$$$ $ $$$$$$ $ $$$$$$ $$$$$ $$$ $$$$$ $$$$$$$$$ $$$$$ $$$$$$$$$$$ $$$ $$ $$$$$$$$$$$$$ $ $$$$$$$$$$$$$$$$$ $$$$$, $$$$$$$$, $$$ $$$$$$$$ $$$$$$$ $$$$$$$$$$ $ $$$$$$$$$$$$$ $$$$$$$$$. $$$$$ $$$$$$$$$$$ $$$$$$$$$$$ $$$$$$ $$$$$$$$$$ $ $$$$$$$$$$ $$$$: $$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$, $$$$$$ $$$$$$$$$$$$ $ $$$$$$$$$$ $$$$$$$$$$$. $$$$$$$$$$ $$$$$$ $$$$$$$$ $$$$$$$$$$$$ $$$$$$$ $ $$$$ $$$$$$$, $$$$$$ $$$$$$$$$$$ $$$$$$$$$ $ $$$$$$ $$$$$ $$$ $$$$$ [$].

$$$$$$$ $$$$$ $$$$$$$$$$$$ $$$$$$$ $$$$$$$$ $ $$$$$$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$, $$$$$ $$$$$$$$$$$$$$, $$$ $$$$$$ $$$$$$$ $$$$$$ $$$$ $$ $$$$$$$$$$$$$ $$$$$$$$$ $$ $$$$$$$$$$$$ $$$$$$$$$$, $$$$$$$$$ $$$$$$$$$$ $ $$$$$$$$$ $$$$$$$$ $$$$$$$$$. $$$$$$$$$$$$ $$$$$$$$$$$$$$ $$$$ $ $$$$$$$$$$$$$$$ $$$$$$$$ $$$$$$$ $$$$$$$ $$$$ $$$ $$$$$$$$$$ $$$$$$$$$$$$. $ $$$$$$ $$$$$$ $$$$$$$$$ $$$$$$ $$$$$ $$$$$$$$$$$$ $$$$$$$$$$$$ $$$$$ $ $$$$$$$$$$$ $$$$$$$$ $$$$$, $$$ $$$$$$$$ $$$$$$$$$ $ $$$$$$$$$$$$$$ $$$$$$$$$ $$$$$$$$$$$$$. $$$$$ $$$$$$$$$ $$$$$$$$$$ $$$$$ $$$$$$$$$$$ $$ $$$$$$ $$$$$$$$$$$$$$ $$$$$$$, $$$$$$$$$$$$ $ $$$$$$ $$$$$$$$$$$ $$$$$$$$$$ $ $$$$ $$$$$$$.

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

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

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

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

В работах российских авторов последних лет значительное внимание уделяется линеаризации полученных нелинейных уравнений в окрестности рабочей точки, соответствующей вертикальному положению корпуса [6]. Линеаризация осуществляется путем разложения нелинейных функций (синуса и косинуса угла отклонения) в ряд Тейлора с удержанием членов первого порядка малости. Такой подход позволяет получить линейную модель в пространстве состояний, которая может быть использована для синтеза линейных регуляторов, таких как ПИД-регулятор или линейно-квадратичный регулятор (LQR).

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

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

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

$ $$$$$$$$$ $$$$$$ $$$$$$ $$$$$$ $$$$$$$ $$$$$$$$$$$$ $$$$$$ $$$$$$$, $$$$$$$$$$ $$$ $$$$$$$$$$$ $$$$$$$ $$$$$. $$$$$ $$$$$$$ $$$$$ $$$ $$$$$$$ $$$$$$$: $$$$$$$$$$$$$$ $$$$$$$$ $$$$$ $$$$$$$$$$ $$$ $ $$$$$$$$ $$$$$$ $$$$$$$$$$$$ $$$. $$$$$$$$$$$$$$, $$$$$$$$$ $$$$$$$$ $$$$$$$$$$$ $$ $$$ $$$$$$: $$$$$$$$$, $$$$$$$$$$$ $$$$$$$$$$ $$$$$$$$ ($$$$ $$$$$$$ $$$$$$$ $ $$$$$$$$ $$$$$$$$), $ $$$$$$$$$, $$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$ ($$$$ $$$$$$$$ $$$$$$ $$$$$$$$$$$$ $$$). $$$$$ $$$$$$$$$$ $$$$$$$$ $$$$$$$$$ $$$$$$$$$ $$$$$$$$$$$ $ $$$$$$$$$ $$$$$$$$$ $$$$$$ $$$$$$$$$$$.

$$$$$$ $$$$$$$$$$ $$$$$$$$$$ $$ $$$$-$$$$ $$$$ $$$$$$$$$$, $$$ $$$$$$$$$$$ $$$$$$$ $$$$$$$$$$ $$$$$$, $$$$$$$$$$ $$ $$$$$$$$$$ $$$$$$$$, $ $$$$$$$$$$$ $$$$$$$$$$$$$ $ $$$$$$$$ $$$-$$$$$$$$$$. $$$$$ $$$$$$ $$$$$$$$$$$$ $$$$$$$ $$$$$$$$ $$$$$$$$$$$$ $$$ $$$$$$$$$$$$ $$$$$$$$$ $$$$$ $$$$$$$$$$ ($$ $$-$$ $$$$$$$$). $$$ $$$$$$$ $$$$$ $$$$$$$$$$, $$$$$$$$, $$$ $$$$$$ $$$$$$$ $$$ $$$$$$$$$$$, $$$$$$$$ $$$$$$ $$$$$$$$$$ $$$$$$$$$$$$, $ $$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$$$$ $$$$$$$ $$$$$$$$$$.

$$$$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$ $$$$$$$$$$$$$ $$$$$$$, $$$$$$$$$$$ $$$$$$$$$ $$$$$$$ $ $$$$$. $ $$$$$$$$ $$$$$$$$$$$$ $$$$$$ $$$$$$ $$ $$$$$$$$ $$$$$$$$$ $$$$$$$, $ $$$$$$ $$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$, $$$ $$$$$$$$ $ $$$$$$$$$ $$$$$$$$$$$$$$ $$$$$$$$$. $$$$ $$$$ $$$$$$$$ $$$$$$$$$ $$$$$$$$ $$$$$$$$ $$$$$$ $ $$$$$$$$ $$$$$$$$ $$$$$$$$$$, $$$$$$ $$$$$$$$$$$ $$$$$$$$$ $$$$$$$$$$$$$$ $$$$$$$$.

$$$$$$ $$$$$$$$ $$$$$$$$ $$$$$ $$$$$$$$$$$$$ $$$$$$$ $$$$$$$$$$, $$$$$$$$$$$ $$ $$$$$$. $ $$$$$ $$$$$$$$$$$ $$$$$$$$$: $$$$$$$$ $$$$$$$$, $$$$$$$$$$ $$$$$$, $$$$$$ $$$ $$$$$$$$$$$$ $ $$$$$$$$$$$$$. $ $$$$$$$ $$$$$$$$$$ $$$$$$$ $$$$$$$$$$$$ $$$$$$$$$ $$$$$$ $$$$$$$$$$, $$$$$$$ $$$$$$$$$ $$$$$$$$ $ $$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$$$$$$$$$$ $ $$$$$$$$$$$$$$$$$ $$$$$$$$$$$ $$$$ $$$$$$$$$$$ $$$ $$$$$$$$$$ $$$$$$$.

$ $$$$$ $$$$$$ $$$$$$$$$$$$ $$$$$$$$$$, $$$$$$$$$$$$$$ $$$$$$ $$$$$$$$$$$$ $$ $$$$$$ $$$ $$$$$$$ $$$$$$$$$$, $$ $ $$$ $$$$$$$$$ $$$ $$$$$$$$$$. $$$$$$ $$$$$$$$$$ $$$$$$$$$$$$$, $$$$$$$$$$$$$ $ $$$$$$ $$$$$$/$$$$$$$$ $$$ $$$$$$, $$$$$$$$$ $$$$$$$$ $$$$$$$$$$$ $$$$$$$$$ $$$$$$$ $$$$$$$$$$ $$ $$ $$$$$$$$$$ $$$$$$$$$$. $$$ $$$$$$$$$$$ $$$$$$$$$ $$$$$ $ $$$$$$$$$ $$$$$$$$$$, $ $$$$$ $$$$$$$$$ $$$$$$$$$$$ $$$$$$ $$$$$$, $$$$$$$ $$$$$$ $$$ $$$$$$ $$$$$$$$$$$$$$ $$ $$$$$$$$ $$$$$$.

$ $$$$$$ $$$$$$ $$$$$$$$$ $$$$$$ $$$$$ $$$$$$$$$$$$ $$$$$$, $$$$$$$$$$ $$ $$$$$$$$$ $$$$$$$$ $ $$$$$$$$$$$ $$$$$$$$$$$$$ $ $$$$$$$$$$$ $$$$$$$ $$$$$. $$$$$$$$$ $$$$$$ $$$$$ $$$$$$$$$$ $$ $$$$$$ $$$$$$$$ $$$$$$$$$$$ $ $$$$$$$$ $ $$$$ $$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$. $$$ $$$$$ $$$$$$$$$$$$$, $$$$$$$$$ $ $$$$$$$$$$ $$$$$$$ $$$$$$$$$$, $$$$$ $$$$$$$ $$$$$$$$$$$$$$$ $$$$$$$$$ $ $$$$$$$$ $$$$$$$$$$.

$$$$$$ $$$$$$$$$$ $$$$$$$$$$, $$$ $$$$$$$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$$ $$$$$$$$$$$$$ $$$$$$$$ $$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$ $$$$$$$ $$$$$$$ [$$]. $$$$$$$$ $$$$$$$$$$$$$$ $$$$$$$ $ $$$$$$$ $$$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$$$ $$$$$ $$$$$$$$$$$ $$$ $$$$$$$$ $$$$$ $$$$$$ $ $$$$$$$$$$ $$$$$$$, $$$$$$$$$$$ $$$ $$$$$$$$$$$$ $$$$$$$, $$$$$$$$ $$ $$$$$$$$ $$$$$$$. $ $$ $$ $$$$$, $$$$$$$$$$$$ $$$$$$$, $$$$$$$$$$ $$ $$$$$$$$$$$$ $ $$$$$$$ $$$$$$$$ $$$$$$$$$$$, $$$$$$$$$ $$$$ $$$$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$ $$$$$$$$ $$$$$$$$$$ $ $$$$$$$$$$.

$$$$$ $$$$$$$, $$$$$$$$$$$$$$ $$$$$$ $$$$$$$$ $$$$$$$$$$$$$ $$$$$$$$ $$$$$$$$ $$$$$$$$$$$ $$$ $$$$$$$$$$$$$$ $$$$$$$ $$$$$$$$$$ $$$$$$$$$$$$$$ $$$$$$. $$$$$$$$$$ $$$$$ $$$$$$, $$$$$$$$$$ $$$$$ $$$$$$$$$$$$, $$$$$$$$$ $$$$$$$$$$ $$$$$$$ $$$$$$$$ $$$$$$$$$$$$ $ $$$$$$$$$$$$$ $$$$$$. $ $$$$$$ $$$$$$ $$$$$$ $$$$$ $$$$$$$$$$$$ $$$$$$$$$$$ $$ $$$$$$$$ $$$$$$ $ $$$$$$$$$$$ $$$$$$$$$$$$$$$$$ $$$$$$$$$$$$.

Продолжая анализ математических моделей динамики перевернутого маятника, необходимо рассмотреть более сложные случаи, выходящие за рамки стандартной линеаризованной модели. Одним из таких случаев является учет нелинейности, связанной с ограничением угла отклонения корпуса. В реальных условиях эксплуатации балансирующего робота угол отклонения может достигать 20-30 градусов, особенно при резких маневрах или движении по неровной поверхности. При таких углах линеаризация, основанная на замене синуса угла самим углом, приводит к существенным погрешностям, что может вызвать потерю устойчивости. В связи с этим разрабатываются нелинейные модели, сохраняющие точность во всем диапазоне рабочих углов.

Российские исследователи активно работают над созданием моделей, учитывающих не только геометрические, но и физические нелинейности. К числу последних относится, например, нелинейная зависимость момента сухого трения от скорости, описываемая моделью Кулона или более сложными моделями с учетом эффекта Штрибека. Учет таких нелинейностей позволяет более точно описать поведение системы при малых скоростях, когда трение играет доминирующую роль. В работах последних лет предлагаются методы идентификации параметров трения на основе экспериментальных данных, что позволяет настроить модель под конкретный экземпляр робота.

Отдельного внимания заслуживает моделирование динамики робота при движении по наклонной поверхности. В этом случае вектор силы тяжести не перпендикулярен опорной поверхности, что приводит к появлению дополнительной составляющей, стремящейся опрокинуть робота. Математическая модель в этом случае усложняется, так как угол наклона поверхности становится дополнительной переменной состояния. В российских публикациях предлагаются методы оценки угла наклона поверхности на основе данных инерциальных датчиков и последующего учета этой информации в алгоритме управления [14].

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

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

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

Перспективным направлением является использование методов машинного обучения для построения моделей динамики балансирующего робота. Нейронные сети могут быть обучены на экспериментальных данных, что позволяет получить модель, точно отражающую поведение конкретного экземпляра робота без необходимости аналитического вывода уравнений движения. Такой подход особенно эффективен при наличии сложных нелинейностей, которые трудно описать аналитически. Однако он требует сбора большого объема экспериментальных данных и тщательной настройки $$$$$$$$$$$ $$$$$$$$$ сети.

$$$$$$ $$$$$$$$$$ $$$$$$$$$$ $$ $$$$-$$$$ $$$$ $$$$$$$$$$, $$$ $$$$$$$$$$$$$$$ $$$$$$$, $$$$$$$$$$ $$$$$$$$$$$$$ $$$$$$ $ $$$$$$$$ $$$$$$$$$ $$$$$$$$, $$$$$$$$$$ $$$ $$$$$ $$$$$$$$$$$. $$$$$$$$, $$$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$$$ $$$$$$ $$$ $$$$$$$ $$$$$$$$ $$$$$$$$$$, $ $$$$$$$$$ $$$$ — $$$ $$$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$$$$ $ $$$$$$$$$$. $$$$$ $$$$$$ $$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$$$ $$$$$ $$$$$$$: $$$$$$$$$$ $$$$$$$$$$$$$ $$$$$$ $ $$$$$$$$$$$$ $$$$$$$$$ $$$$.

$$$$$$ $$$$$$ $$$$$$$$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$$ $$$$$$$$$$$ $$$$$$, $$ $$$$ $$$$$$$$ $$ $$$$$$$$$$$$ $$$$$$$$$ $$$$$$$. $$$ $$$$$ $$$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$$$$$$, $ $$$$$$$ $$$$$$$$$$ $$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$$$$ $$$$$$ $ $$$$$$$$$$$$ $ $$$$$$$$$$$$ $$$$$$$$$$$$$. $ $$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$ $$$$$$$$$$ $$$$$$ $$$ $$$$$$$$$ $$ $$$$$$$$$. $ $$$$$$$ $$$$$$$$$$ $$$$$$$ $$$$$$$$$$$$ $$$$$$ $$$$$$$$$$$$$$ $$$$$$$$$$$, $$$$$$$$$$ $$ $$$$$$$$$$$$$$$ $$$$$$$$$$.

$ $$$$$ $$$$$$ $$$$$$$$$$$$ $$$$$$$$$$, $$$$$$$$$$$$$$ $$$$$$ $$$$$$$$$$$$ $$ $$$$$$ $$$ $$$$$$$ $$$$$$$$$$, $$ $ $$$ $$$$$$ $$$$$$$$$$$$$$ $$$$$$$$$$ $$$$$$. $$$$$$$$, $$$$$$$$$$$$$ $$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$ $$$$$$ $$$$, $$$$$$ $$$$$$$ $$$$$$$ $ $$$$$$ $$$$$$$$$, $$$$$$$$$$$$$$ $$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$$$$. $$$$$ $$$$$$ $$$$$$$$$ $$$$$$$$$ $$$$$$$$$$ $$$$$$$$ $$$ $$$$$$$$$$$$$$ $ $$$$$$$$ $$$$$$.

$ $$$$$$ $$$$$$ $$$$$$$$$ $$$$$$ $$$$$ $$$$$$$$$$$$ $$$$$$$$$$$$$$$ $$$$$$, $$$$$$$$$$$ $$$$$$ $$$$$$$$$$$$$, $$$$$$$$$ $ $$$$$$$$$$ $$$$$$$ $$$$$$$$$$ $ $$$$$$$$$$$$ $$$$ $$$$$$$$$$. $$$ $$$$$$$$$$$ $$$$$$$$$$ $$$$$$$$ $$$$$ $$$$$$$$ $$$$$$$$$$ $$$$$$$$, $$$$$$$$$$$$$$ $$$$$$$$$ $$$$$$$$$$ $ $$$$$$$$ $$$$$$$. $$$$$$$$$$$$$ $$$$$ $$$$$$$$$$$ $ $$$$$ $$$$$$/$$$$$$$$, $$$ $$$$$$$$ $$$$$$$$ $$$$$$$$$$$$ $$$$$$ $$$$$$$$ $$$$$$$ $$ $$ $$$$$$$$$$ $$$$$$$$$$.

$$$$$$$$$$ $$$$$$$$, $$$ $$$$$$$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$$ $$ $$$$$$ $$$$$$$$$$$$ $$$ $$$$$$$ $$$$$$$$$$, $$ $ $$$$$$$$$ $$$ $$$$$$$$$ $$$$$$$$$ $$$$$$$$$$ $$$$$$$$$, $$$$$$$$$$$$ $ $$$$$$$. $$$$$$ $$$$$$$$$$ $$$$$$$ $$$$$$$$$ $$$$$$$ $$$$$$$$ $$$$$$$, $$$$$$$$ $$ $$$$$$$$$$$$ $ $$$$$$$$$$$$$, $ $$ $$$$ $$$$$$ $$$$$$$$$$$$$$ $$$$$$$$$$$$ $$ $$$$$$$$$$$$$$$$$ $$$$$$$$$$$ $ $$$$$$$$$$ $$$$$$$$$$.

$$$$$ $$$$$$$, $$$$$$$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$$ $$$$$$$$$$$$$ $$$$$$$$ $$$$$$$$ $$$$$$$$$$$$$$ $$$$$$$, $$$$$$$$$ $$$$$ $$$$$$$$$ $$$$$$$$. $$$$$ $$$$$$$$$$ $$$$$$ $$$$$$$$$$$$ $$$$$$ $$$$$$$$$$$$, $$$$$$$$$$ $$$$$$$$$$$$$$$ $$$$$$$$$ $ $$$$$$$$$ $$$$$$$$$. $ $$$$$$ $$$$$$ $$$$$$ $$$$$ $$$$$$$$$$$$ $$$$$$, $$$$$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$ $$$ $$$$$$$ $ $$$$$$$$$ $$$$$$$ $$$$$$$$$$, $$$ $$$$ $$ $$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$$$$$ $$$$$$ [$$].

$$$$$$$$$$$ $$$$$$ $$$$$$$$$$, $$$ $$$$$$$$ $$ $$$$$$$$$ $$$$$$$$, $$$$$$$$$$$$$$ $$$$$$ $$$$$$$$$$$$$ $$$$$$$$ $$$$$$$$ $$$$$$$$$ $$$$$$$, $$$$ $$$$$$$ $$$$$$$$$ $$$ $$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$$. $$$$$$$$ $$$$$$$ $$$$$$$$$$$$$ $ $$$$$$$$$$$$$$ $$$$$$$ $$$$$$$$$ $$$$$$$$$ $$$$$$$$ $$$$$$$$ $$$$$$$, $$$, $ $$$$ $$$$$$$, $$$$$ $ $$$$$$$$$ $$$$$$$$ $$$$$$$$$$ $$$$$$$$$ $$$$$$$$$$$$$$ $$$$$$$$ [$].

$ $$$$$, $$$$$$$$$$$$$ $$$$$$$$$$$$$$ $$$$$$ $ $$$$$$ $$ $$$$$$$$$$ $$$$$$$$ $$$$$$$$$$$$$ $$$$ $$$ $$$$$$$$$$$$$$ $$$$$$$ $$$$$$$$$$ $$$$$$$$$$$$$$ $$$$$$. $$$$$$$$$$ $$$$$$ $$$$$ $$$$$$$$$$ $$ $$$$$$$$$$$$ $$$$$$$$$$ $$$$ $$$$$$$ $ $$ $$$$$$$$$$$$$$$$$ $$$$$$$$$$$.

Обзор алгоритмов управления устойчивостью (ПИД, LQR, нечеткая логика)

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

ПИД-регулятор является наиболее простым и интуитивно понятным методом управления, широко применяемым в промышленной автоматизации. Применительно к задаче стабилизации балансирующего робота, ПИД-регулятор формирует управляющий сигнал на основе трех составляющих: пропорциональной, пропорциональной текущему углу отклонения корпуса; интегральной, накапливающей ошибку во времени; и дифференциальной, пропорциональной скорости изменения угла. Настройка коэффициентов ПИД-регулятора может осуществляться как эмпирическими методами (например, методом Циглера-Николса), так и с использованием математических моделей системы.

Российские исследователи отмечают, что простота ПИД-регулятора делает его привлекательным для начальных этапов разработки, однако его эффективность ограничена при работе в нелинейных режимах и при наличии значительных внешних возмущений [5]. ПИД-регулятор, настроенный на оптимальную работу в одной точке, может терять устойчивость при изменении условий эксплуатации. Тем не менее, модифицированные версии ПИД-регулятора, такие как ПИД-регулятор с адаптивной настройкой коэффициентов или ПИД-регулятор с компенсацией возмущений, демонстрируют существенно лучшие характеристики.

Линейно-квадратичный регулятор (LQR) представляет собой более сложный метод, основанный на оптимизации квадратичного критерия качества. В отличие от ПИД-регулятора, LQR позволяет одновременно учитывать несколько переменных состояния и обеспечивать оптимальное управление с точки зрения заданного компромисса между точностью стабилизации и затратами энергии на управление. Синтез LQR-регулятора требует наличия математической модели системы в пространстве состояний, что предполагает предварительную идентификацию параметров.

Анализ российских публикаций последних лет показывает, что LQR-регулятор является одним из наиболее популярных методов для управления балансирующими роботами. Это обусловлено его способностью обеспечивать высокое качество стабилизации при относительно простой процедуре настройки. Весовые матрицы в квадратичном критерии качества позволяют гибко регулировать приоритеты между точностью удержания угла, скоростью реакции на возмущения и энергопотреблением. В работах российских авторов предлагаются методы автоматического выбора весовых матриц на основе требований к динамике системы.

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

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

В работе, опубликованной в 2022 году, было проведено экспериментальное сравнение ПИД, LQR и нечеткого регулятора на лабораторном стенде балансирующего робота. Результаты показали, что LQR обеспечивает наименьшую среднеквадратичную ошибку стабилизации угла (порядка 0.5 градуса), в то время как ПИД-регулятор демонстрирует ошибку около 1.2 градуса, а нечеткий регулятор — около 0.8 градуса. $$$$$$ $$$ $$$$$$$ $$$$$$$ $$$$$$$$$$ ($$$$$$, $$$$$$$$ $$$$$$$$) нечеткий регулятор $$$$$$$ $$$$$$$$$ $$$$$$$$$$$ $ $$$$$$$$$$$$$$ $$$$$$$$$$$$.

$$$$$$ $$$$$$$$ $$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$$$$$ $$$$$$$$$ $$$$$$$$. $$$$$$$$, $ $$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$$ $$$ $$$ $$$$$$$ $$$$$$$$ $$$$$$$$$$, $ $$$$$$$$ $$$$$$ — $$$ $$$$$$$$$$ $$$$$$$$$ $$$ $$$$$$$$$$ $ $$$$$$$$ $$$$$$$. $$$$$ $$$$$$$$$ $$$$$$ $$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$$$$ $$$ $ $$$$$$$$$$$$ $$$$$$$$ $$$$$$. $$$$$$ $$$$$$$$$ $$$$$$$$ $$$$$$$$$$$$$ $$$-$$$$$$$$$$ $ $$$$$$$$ $$$$$$$$$$ $$$$$$$$$$$$$, $$$ $$$$$ $$$$$$$$$$$$$ $$$$$$$ $$$$$$$$$$.

$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$ $$$$$$$$ $$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$. $ $$$$$$$ $$ $$$$$$$$$$ $$$$$$$$$$$, $$$$$$$$ $$$$$$$$$$ $$$$$$$$ $ $$$$$$$$$$$ $$$$$$$$$ $$$$$$$$, $$$ $$$$$$ $$$$$$$$$$$$$$ $$$$$$$$ $ $$$$$$$$$$$. $$$$$ $$$$$$$ $$$$$$$$$$$$$ $$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$: $$$$$$$ $$$$$$ $$$$$$$ $$$$$$$$ $ $$$$$$ $$$$$$$$$$$$, $ $$$$$$$ $$$$$$$ — $ $$$$$$$$$$ $$$$$$$$$$$$$$ $$$$$$$$. $$$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$ $$$$$$$ $$$$$$$$$$$$$ $$ $$$$$ $$$-$$$ $$ $$$ $$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$$.

$ $$$$$$$$$ $$$$$$ $$$$$$ $$$$$$ $$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$$$ $$$$$$ $$$$$$$$$$$$$$ $$$$$$$$$ $$$$$$$$$ $$$$$$$$$$. $$$-$$$$$$$$$ $$$$$$$ $$$$$ $$$$$$$$$ $$$$$$$$$$$$$$ $$$$$$$$ $$ $$$$ $$$$ $$$$$$$$$$, $$$ $$$$$$$$$ $$$$$$$$$$$ $$$ $$ $$$$$ $$$$$$$ $$$$$$$$$$$$$$$$$. $$$ $$$$$$$ $$$$$$$$$ $$$$$$$ $$$$$$$$$$$$$ $$$$$$$$ $$$$$ $$ $$$$$$ $$$$$$$$$, $$$ $$$$$$$$$ $$$$$$$, $$ $$$$$ $$$$$$$$$$ $$ $$$$$$$$$$$ $$$$$$$$$$$$$$$$$. $$$$$$$$ $$$$$$$$$ $$$$$$$ $$$$$$$$$$ $$$$$$$$ $$$$$$$$$$$$, $$$$$$ $ $$$$$$$$$$$$$$, $$$ $$$$$ $$$$ $$$$$$$$$$$ $$$$$ $$$$$$$$$$$$ [$$].

$$$$$$ $$$$$$$$$$ $$$$$$$$$$ $$ $$$$-$$$$ $$$$ $$$$$$$$$$, $$$ $ $$$$$$$$$ $$$$$ $$$ $$$$$$$ $$$$$$$$ $$$$$$$$$ $$$$$$$ $$$$$$$$$ $$$$$$$$ $$$ $$$$$$$ $$$$$$$$$$$. $ $$$$$$$$$, $$$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$ $ $$$$$$$$$$$$$ ($$$$$$$$$$$$$ $$$$$$$$) $$$ $$$$$$$$$$$$$$ $$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$ $ $$$$$$$$ $$$$$$$$$$$$ $$$$$$. $$$$$ $$$$$$ $$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$ $ $$$$$$$$$$ $$$$$$$$ $$$$$$$$$$$$ $$$ $$$$$$$$$$$$$ $$$$$$ $$$$$$$$$.

$$$$$$ $$$$$$$$$ $$$$$$ $$$$$$$$$ $$$$$$$$$$ $$$$$$$$ $$$ $$$$$$$$$$$, $$ $$$$ $$$$$$$$$$$ $$$$$$$$$ $$$$$$$$$$$$ $$$ $$$$$$$$$ $$$$$$$$$$ $$$$$$$. $ $$$$$$$$ $$$$$$$$ $$$$$ $$$$$$, $$$$$$ $$$$$$$ $ $$$$$$ $$$$$$$$$ $$$$$ $$$$$$$$$$, $$$$$$$$, $$$ $$$$$$$$$ $$$$$$$$$$$$$$$ $$$$$$$$$$$$ $$$ $$$$$$$$$ $$$$$$$$$ $$$$$. $$$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$$$$$ $$$$$$ $$$$$$ $$$$$$$$$$$ $$$$$$$$$ $$$$$$$$$$$ $ $$$$$$$$, $$$ $$$ $ $$$$$$$$ $$$$$$ $$ $$$$$$$ $$$$$$$ $$$$$$$$$ $$$$$$$$ $$$$$$$$$ $$$$$$$$$$$$ $$$$$ $$$$$$$$ $$$$$$$$$$$.

$$$$$$$$$$ $$$$$ $$$$$$$$$ $$$$$$$$$$ $ $$$$$$$$ $$$$$$$$ $$$ $$$$$$$$$$$$$ $$$$$$$$$ $$$$$$$$$$. $$$-$$$$$$$$$, $$$$$$$$$$$$ $$$$$$ $$$$ $$$$$$$$$$ $ $$$ $$$$$$$$$$$, $$$$$ $$$$$$$$$$$$ $ $$$$$ $$$$$$$$$, $$$ $$$, $$$$$$$ $$$$$$$$$$ $$$$$$ $$$$$$ $$$$$$$$$. $$$$$$$$ $$$$$$$$$, $$$$$$$$$ $$$$$ $$$$$$$, $$$$$ $$$$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$$ $ $$$$$. $ $$$$$$$$$$ $$$$$$$ $$$$$$$$$$$$ $$$$$$ $$$$$$$$$$ $$$$$$$$$, $$$$$$$$$$$ $$$$$$$ $$$$$$$ $$$$$ $$ $$$$$$$$ $$$$$$$$$$.

$ $$$$$$ $$$$$$ $$$$$$$$$ $$$$$$ $$$$$ $$$$$$$$ $$$$$$$$$$$$$ $$$$$$ $$$, $$$ $ $$$$$$$$$ $$$$$$$$$$ $ $$$$$ $$$$$$ $$$$$$$$$$$$ $$$$$$$$$ $$$ $$$$$$$$$$. $$$$$$$$$$ $$$$$$$$$ $$$$$: $$$$$$$$ $$$$$$$$$$$$ ($$$$$$$$$$$$$$$$$$ $$$$$$ $$$$), $$$$$$$$$$$$$$ ($$$$$ $$$$$$$$$$$$$$ $$$$$ $$$$$$$$$$), $$$$$$$$$$$$$$ $$$$$$$$$ $ $$$$$$$$$$$ $ $$$$$$$$$ $$$$$$$$$$. $$ $$$$$$ $$$$$$$$$$$ $$$$$ $$$$$$$ $$$$$ $$$$$$ $$$$$$$$$$$$$ $$$$$ $$$$$$$$$ $$$ $$$$$$$$$$$$ $$$$$$$$$$.

$$$$$ $$$$$$$, $$$$$ $$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$$$$, $$$ $$$$$$ $$ $$$$$$$$$$$$$ $$$$$$$$ $$$$$ $$$$ $$$$$$$ $$$$$$$$$$. $$$-$$$$$$$$$ $$$$$$$$ $$$ $$$$$$$ $$$$$$ $ $$$$$$$ $$$$$$$$$$$$ $ $$$$$$$$, $$$ — $$$ $$$$$$, $$$ $$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$ $$$ $$$$$$$ $$$$$$ $$$$$$, $ $$$$$$$$ $$$$$$$$$ — $$$ $$$$$$ $ $$$$$$$ $$$$$$$$ $$$$$$$$$$$$$$$$ [$$]. $ $$$$$$ $$$$$$ $$$$$$, $$$$$$$$ $$$$$$$ $$$$$$$$$$$$$$ $$$$$$ $ $$$$$$$$$$ $ $$$$$$$$ $$$$$$$$ $$$$$$$$$$$$, $$$$$$$$$$$$ $$$$$ $$$$$$ $$$-$$$$$$$$$$ $ $$$$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$.

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

Российские исследователи активно работают над методами адаптивной настройки ПИД-регулятора в реальном времени. Например, предлагается использовать рекуррентный метод наименьших квадратов для оценки параметров системы и последующего пересчета коэффициентов регулятора. Такой подход позволяет поддерживать оптимальное качество управления при изменении условий эксплуатации, например, при изменении массы груза или при движении по различным поверхностям. Адаптивный ПИД-регулятор демонстрирует существенно лучшие характеристики по сравнению с обычным, особенно в условиях неопределенности.

LQR-регулятор, в свою очередь, требует решения алгебраического уравнения Риккати для нахождения матрицы коэффициентов обратной связи. Это уравнение может быть решено аналитически для простых систем или численно для более сложных. В среде MATLAB/Simulink имеются встроенные функции для решения уравнения Риккати, что существенно упрощает синтез LQR-регулятора. Важным преимуществом LQR является возможность учета ограничений на управляющий сигнал путем введения нелинейных элементов, таких как насыщение.

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

Нечеткие регуляторы, как уже отмечалось, не требуют точной математической модели, но их настройка является трудоемкой. Основными этапами разработки нечеткого регулятора являются: определение лингвистических переменных (входных и выходных), задание функций принадлежности, формирование базы правил и выбор метода дефаззификации. Каждый из этих этапов требует экспертных знаний и может быть оптимизирован экспериментально. В российских публикациях предлагаются методы автоматической настройки нечетких регуляторов с использованием нейронных сетей или генетических алгоритмов.

Сравнительный анализ вычислительной сложности показывает, что на современных микроконтроллерах все три типа регуляторов могут быть реализованы с частотой обновления до 1 кГц и выше. Однако при увеличении сложности нечеткого регулятора (большое количество правил и функций принадлежности) вычислительная нагрузка может стать критической. В этом случае может потребоваться использование более производительных микроконтроллеров или специализированных вычислителей.

Важным аспектом является также выбор датчиков для измерения переменных состояния. Для реализации LQR-регулятора необходимо измерять или оценивать все переменные состояния: угол отклонения корпуса, угловую скорость, положение и скорость платформы. Угол отклонения и угловая скорость могут быть получены с помощью MEMS-гироскопа и акселерометра с последующей фильтрацией. Положение и скорость платформы могут быть измерены с помощью энкодеров на колесах или оценены с помощью наблюдателя состояния.

В российских работах предлагается использовать фильтр Калмана для оценки полного вектора состояния на основе зашумленных измерений. Фильтр Калмана позволяет объединить данные от различных датчиков и получить оптимальную оценку состояния в смысле минимума среднеквадратичной ошибки. Реализация фильтра Калмана на микроконтроллере требует определенных вычислительных ресурсов, но современные 32-битные $$$$$$$$$$$$$$$$ $$$$$$$$$$$ $ $$$$ $$$$$$$ $ $$$$$$$.

$$$$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$ $$$$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$, $$$$$$$$$$ $$ $$$$$$ $$$$$$$. $$$$$$$$$$$ $$$$$$$$$$$ $$$ $$$$$$$$$$$ $$$$$$ $$$$$$$ $$$$$$$$$ $$$$$$$$$ $$ $$$$$$ $$$$$$$$$$, $$ $ $$$$$$$$$$$$ $$$$$$$$$$, $$$$$ $$$ $$$$$$$$ $$$$$$$$$ $$$ $$$$$$ $$$$$$$ $$$$$$$$$$. $$$ $$$$$$$$$$$ $$$$$$$$$ $$$$$$$$$$$ $$$$$$$ $$$$$$$$$$ $ $$$$$$$$$ $$$$$$$$$$$ $$$$$ $$$$$$$ $$$$$$$$$, $$$$$ $$$ $$$$$$$$$$$ $$$$$$$$$$.

$$$$$$ $$$$$$$$$$ $$$$$$$$$$ $$ $$$$-$$$$ $$$$ $$$$$$$$$$, $$$ $$$ $$$$$$$ $$$$$$$$ $$$$$$$$$ $$$$$$$ $$$$$$$$$ $$$$$$$$ $$$ $$$$$$$ $$$$$$$$$$$. $ $$$$$$$$$, $$$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$ $$$$ $$$ $$$$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$ $$$$$$$$$$, $$$$$$$$$$$, $$$$$$$$, $$$$$$$ $$$$$$$$$$$$$ $$$$$$$$$$$$$$$$. $$$$$$$$$$$$ $$$$$$$$$ $$$$$ $$$$ $$$$$$ $$ $$$$$$, $$$$$$$$$$ $ $$$$$$$$$$ $$$$$$$$$$$$$ $$$ $$$$$$$$$$$$$, $ $$$$$ $$$$$$$$$$ $$ $$$$$$$$$$$$$$$$.

$$$$$$ $$$$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$ $$ $$$$$$$$$$$ $$$$$$$$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$$ $$$$$ $$$$$$$$$. $$$ $$$$$$$$$ $$$$$$$$$$ $$$$$$$$$ $$$$$$$$ $ $$$$$$$$$$ $$$$$$$, $$$ $$$$$$$$ $$$$$$$$$$, $$$$$ $$$ $$$, $$$$$$ $$$$$$$$$$$$$. $$$$$$ $$$$$$$$ $$$$$$$$$ $$$$ $$$$$$$ $$$$$$$$ $$$$$$ $$$$$$ $ $$$$$ $$$$ $$$$$$$$$$$$$ $$$$$$$$$. $$$$$ $$$$, $$$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$$$$ $$ $$$$$$$$$$$$$$$$ $$$$$$$ $$$$$$$$$$$ $$$$$$$$$$$ $$$$ $$$ $$$$$$$$$$$ $$$$$$$$$$$$$$ $$$$$$$$.

$ $$$$$$ $$$$$$ $$$$$$$$$ $$$$$$, $$$$$$$$ $$$$$$$$$$ $ $$$$$$$$$$ $ $$$$$$$$ $$$$$$$$$$, $$$$$ $$$$$$$$$$$ $$$-$$$$$$$$$ $$$ $$$$$$$$$$$$$$ $$$$$$$$$ $$$$$$$$$$$ $$$$$$$$ $$$$$$$$$$ $ $$$$$$$$$$$$$$ $$$$$$$$$. $$$ $$$$$$ $$$$$$$$$$ $$$$$$$$$ $$$$$ $$$$$$$$$$$ $$$$$$ $$$$$$$, $$$$$$$$$$$$ $$$$$$ $$ $$$$-$$$$$$$$ $ $$$$$$$$$. $$$$$ $$$$$$ $$$$$$$$ $$$$$$$$$$ $$$$$$$ $$$$$$$$ $$$$$$$$$$$$ $$$ $$$$$$$$$$$$ $$$$$$$ $$$$$$$$$$.

$$$$$$$$$$ $$$$$$$$, $$$ $$$$$ $$$$$$$$$ $$$$$$$$$$ $$ $$$$$$$$ $$$$$$$$$$$$$ $ $$$$$ $$$$ $$$$$$$$$$$$$$ $ $$$$ $$$$$$$$$$$$$$$$$ $$$$$$$$$$$$. $ $$$$$$$$ $$$$$$$$$ $$$$$$$ $$$$$ $$$$ $$$$$$$$ $$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$, $$$$$$$ $$$$$$$$$ $$$ $$$$$$$$$$$ $$$ $$$$$$. $$$$$$$ $$$$$ $$$$$$$$$$$$$ $$$$$$$$$$$ $$$$$$ $$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$ $ $$$$$$ $$$$$$$$$ $$$ $$$$$$$$$ $$$$$$$$$$ $$$$$.

$$$$$ $$$$$$$, $$$$$$$$$$$ $$$$$ $$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$$$$, $$$ $$$$$$$$$$$ $$$$$$ $$$$$$$$$$ $$$$$$$$$$ $$$$$$$ $$$$$$ $$$$$$$, $$$$$$ $$ $$$$$$$ $$$$$ $$$$ $$$$$$$$$$$$ $ $$$$$$$$$$. $$$$$ $$$$$$$$$$$ $$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$$ $ $$$$$$$$ $$$$$$$$$$, $$$$$$$$$$$$$$ $$$$$$$$ $ $$$$$$$$ $$$$$$$$$$$$. $ $$$$$$ $$$$$$ $$$$$$ $$$$$$$$$$$$ $$$$$$$$ $$$-$$$$$$$$$$ $$$ $$$$$$$$ $$$$$$$$$$$$$$$$$ $$$$$$$ $$$ $$$$$$$$$$$$$$ $$$$$$.

$$$$$$$ $$$$$ $$$$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$$$$, $$$$$ $$$$$$$ $$$$$, $$$ $$$$$ $$$$$$$$$$$$ $$$$$$$$$ $$$$$$$$ $$$$$$$$$$$$$$$$$$ $$$$$$$. $$$-$$$$$$$$$ $$$$$ $ $$$$$$$$$$, $$ $$$$$$$$$ $$ $$$$$$$$ $$$$$$$$$$. $$$ $$$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$ $$$ $$$$$$$ $$$$$$ $$$$$$. $$$$$$$$ $$$$$$$$$$ $$$$$$$$$$ $ $$$$$$$$ $$$$$$$$$$$$$$$$, $$ $$$$$$ $ $$$$$$$$$. $$$$$$$$$$$$$$$ $$$$$$$, $$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$ $$$$$$$, $$$$$$$$$$$$$$ $$$$$$$$ $$$$$$$$$$$$$$ [$].

$ $$$$$, $$$$$$$$$$$$$ $$$$$$$$$ $$$$$$$$ $$$$$$$$$$$$$ $$$$ $$$ $$$$$$$$$$$$$$ $$$$$$$ $$$$$$$$$$ $$$$$$$$$$$$$$ $$$$$$. $$$$$$$$$$ $$$$$$ $$$$$ $$$$$$$$$$ $$ $$$$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$ $ $$$ $$$$$$$$$$$$$$$$$ $$$$$$$$$$$. $$$$$$$$ $$$ $$$$$$$, $ $$$$$$ $$$$$$ $$$$$$ $$$$$ $$$$$$$$$$ $$$-$$$$$$$$$ $ $$$$$$$$ $$$$$$$, $$$ $$$$$$$$ $$$$$$$$$$ $$$$$$$ $$$$$$$$ $$$$$$$$$$$$ $ $$$$$$$$$$$ $ $$$$$$$ $$$$$$$$$$$ [$$].

Выбор и обоснование элементной базы (микроконтроллер, датчики, двигатели)

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

Центральным элементом системы управления является микроконтроллер, который выполняет функции считывания данных с датчиков, обработки информации, реализации алгоритма управления и формирования управляющих сигналов для двигателей. К микроконтроллеру предъявляется ряд требований: достаточная вычислительная мощность для реализации алгоритмов фильтрации и управления в реальном времени, наличие необходимых периферийных интерфейсов (ШИМ, АЦП, I2C, UART), низкое энергопотребление и доступная стоимость. В российских публикациях последних лет наиболее часто рекомендуются микроконтроллеры семейства STM32 на ядре ARM Cortex-M4 или Cortex-M7, обладающие производительностью до 400 MIPS и широким набором периферии.

В рамках данной работы был выбран микроконтроллер STM32F405RGT6 на ядре ARM Cortex-M4 с тактовой частотой 168 МГц. Данный микроконтроллер обладает достаточной производительностью для реализации сложных алгоритмов управления, включая фильтр Калмана и LQR-регулятор, с частотой обновления до 1 кГц. Он имеет встроенный FPU (модуль вычислений с плавающей запятой), что существенно ускоряет выполнение математических операций. Кроме того, микроконтроллер оснащен 12-битным АЦП, таймерами с возможностью генерации ШИМ-сигналов, а также интерфейсами I2C, SPI и UART для связи с датчиками и внешними устройствами [16].

Выбор инерциальных датчиков является критически важным для обеспечения точности стабилизации. Для измерения угла отклонения корпуса и угловой скорости используются MEMS-акселерометры и гироскопы. Современные MEMS-датчики обладают малыми габаритами, низким энергопотреблением и достаточной точностью для решения задачи балансирования. В российских работах рекомендуется использовать интегрированные инерциальные модули (IMU), объединяющие акселерометр и гироскоп в одном корпусе, что упрощает монтаж и синхронизацию измерений.

В данной работе был выбран инерциальный модуль MPU6050, который является одним из наиболее распространенных и хорошо изученных решений. Данный модуль содержит трехосевой акселерометр с диапазоном измерения до ±16g и трехосевой гироскоп с диапазоном до ±2000 градусов в секунду. MPU6050 оснащен встроенным процессором цифровой обработки (DMP), который может выполнять предварительную обработку данных и выдавать готовые углы ориентации в виде кватернионов. Это существенно снижает вычислительную нагрузку на основной микроконтроллер [2].

Однако использование только инерциальных датчиков не позволяет точно определить положение и скорость платформы, что необходимо для реализации LQR-регулятора. Для измерения этих величин используются энкодеры, установленные на валах двигателей. Энкодеры позволяют измерять угол поворота колес и, соответственно, перемещение робота. В данной работе были выбраны магнитные энкодеры AS5600, обладающие разрешением 12 бит (4096 отсчетов на оборот) и интерфейсом I2C. Такое разрешение обеспечивает достаточную точность измерения положения для задачи стабилизации.

Выбор двигателей является ключевым фактором, определяющим динамические характеристики робота. Двигатели должны обеспечивать достаточный крутящий момент для удержания робота в $$$$$$$$$$$$ $$$$$$$$$ $ $$$ $$$$$$$, $ $$$$$ $$$$$ $$$$$$ $$$$$$$ $$$$$$ для $$$$$$$ $$$$$$$ $$ $$$$$$$$$$$ $$$$$$$. $ $$$$$$$$$$ $$$$$$$$$$$ для $$$$$$$$$$$$$ $$$$$$$ $$$$$$$$$$ $$$$$$$ ($$$$$$ $$ $-$ $$) $$$$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$ $$$$$$$$$$$ $$$$ $ $$$$$$$$$$ $$$ $$$$$$$$$$$$$$$ $$$$$$$$$ ($$$$).

$ $$$$$$ $$$$$$ $$$$ $$$$$$$ $$$$$$$$$$$$ $$$$$$$$$ $ $$$$$$$$$$ $$:$ $ $$$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$. $$$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$ $$ $, $$$$$$$$$$$ $$$$$$$$ $$$$$$ — $.$ $·$, $ $$$$$$$$$$$$ $$$$$$$$ $$$$$$$$ — $$$ $$/$$$ $$ $$$$$$$$ $$$$ $$$$$$$$$. $$$$$ $$$$$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$ $$$$ $$$ $$$$$$$ $$$$$$ $$ $$$$$$$$ $-$ $/$ $ $$$$$$$$$ $$$ $ $$$$$$$$$$$$ $$$$$$$$$ $$$ $$$$$ $$$$$$$$$$ $$ $$ $$$$$$$$.

$$$ $$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$ $$$$$$$$, $$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$$$$$$ $$$$$$$$$$ $ $$$$$$$$$$$ $$$$$$$$. $ $$$$$$ $$$$$$ $$$ $$$$$$ $$$$$$$ $$$$$$$ $$ $$$$$$ $-$$$$$, $$$$$$$ $$$$$$$$ $$$$$$$$$$$ $$$ $$ $$ $ $$$ $$$$$$$$$$ $$ $$ $. $$$$$$$ $$$$$$$$$$$ $$$-$$$$$$$$$ $$ $$$$$$$$$$$$$$$$ $ $$$$$$$$$$$$ $$$$$$$ $$$$$$$$$$$$$ $$$$$$$$ $ $$$$$$$$$$$ $$$$$$$$ $$$$$$$$$$. $$$$$$$$$$$$$ $$$$ $$$$$$$$$$$ $$$$$$$$$ ($$ $$$$$$ $$ $$$$$$ $$$$$$$$$) $$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$$$$$$$ $$$$$$$$$$ $$$ $$$$$$$$$.

$$$$$$$$$$ $$$$$$$ $$$$$$ $$$$$$ $$$$$-$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$$ $$.$ $ ($$) $ $$$$$$$$ $$$$ $$·$. $$$$$ $$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$ $$$ $$$$$$$$$$ $$$$$$ $ $$$$$$$ $$-$$ $$$$$ $$$ $$$$$$$$ $$$$$$$$$$$$$$. $$$ $$$$$$$$$$$$ $$$$$$$$$$ $$$$$$$ $$$$$$$$$$$$$$$$ $ $$$$$$$$ $$$$$$$$$$$$ $$$$$$$$ $$$$$$$$$$$$ $$$$$$-$.$, $$$$$$$$$$$$$$ $$$$$$$$ $$$$$$$$$$ $.$ $ $$$ $$$$ $$ $$$ $$.

$$$$$ $$$$$$$$$$ $$$$ $$$$$ $$$$$$$$ $$$$$ $$$$$$$ $ $$$$$. $$$$$$ $$$$$$ $$$$$$$$ $$ $$$$$$$$$$$$ $$$$$$$ $ $$$$$$$$$ $$$$$$$$, $$$ $$$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$ $$$ $$$$$ $$$$. $$$$$$ $$$$$$$ $$$$$$$$$ $$ $$ $ $$$$$$$$$ $$$$$$$$$ $$$ $$$$$$$$$$$ $$$$$$$$ $$$$$$$$$ $ $$$$$$$$$$$$. $$$$$$ $$$$$$ $$$$ $$$$$$$ $$$ $$$$ $$$$$ $$$$$$$$$$ $$$$$ $$$ $$, $$$ $$$$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$$$$.

$$$$$$ $$$$$$$$$$ $$$$$$$$$$ $$ $$$$-$$$$ $$$$ $$$$$$$$$$, $$$ $$$$$ $$$$$$$$$$ $$$$ $$$$$$ $$$$ $$$$$$$$$ $$ $$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$$$$$$, $$ $ $$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$. $ $$$$$$ $$$$$$ $$$$$$$$$$$$ $$$$$$$$$$, $$$$$$$$$ $$ $$$$$$$$$$ $$$$$ $ $$$$$$$ $$$$$$$$$$ $$$$$$$$$. $$$$$ $$$$$$$$$ $$$$$$$$$$ $$$$ $$$$$$$$$$ $$$$$ $$$$ $$$$$$, $$$ $$$$$$ $$$$$$ $$$$$$$$$ $$$ $$$$$$$$$$ $ $$$$$$ $$$$$$$$$ $$$$$$ [$$].

$$$$$$ $$$$$$$$ $$$$$$$$ $$$$$ $$$$$$$$$$$ $$$$$$$$$$ $ $$$$$$$$$$$$$$$$$$ $$$$$$$. $$$ $$$$$$ $$ $$$$$ $$$$$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$$$$$$ $$ $$$$$$ $$$$$$$, $$$$$$$$$$$$$$ $$$$$$$ $$$ $$$$$ $ $$$$$$$$$, $ $$$$$ $$$$$$$ $$ $$$$$$ $$$. $$$$$$$$$$$$$$$ $ $$$$$$$$ $$$$$$$$$$ $$$$$$$$$ $$ $$$$$$$$$ $$$$$$$$ $$$$$$ $$$ $$$$$$$$$$$ $$$$$$$$ $$$$$.

$$$$$ $$$$$$$, $$$$$ $$$$$$$$$$ $$$$ $$$ $$$$$$$$$$$$$$ $$$$$$ $$$$$$$$ $$$$$$$$$$$$$$$$$$ $$$$$$$, $$$$$$$$$ $$$$$ $$$$$$$$$ $$$$$$$$. $ $$$$$$ $$$$$$ $$$$$$$$$ $$$$$ $$$$$$$$$$$$$$$$ $$$$$$$$$$$$$, $$$$$$$$$$$$$ $$$$$$ $$$$$$$, $$$$$$$$$ $$$$$$$$$ $$$$$$, $$$$$$$$$$$$ $$$$$$$$$$ $ $$$$$$$$$$ $ $$$$$$$$$ $$$$$$$. $$$$$$ $$$$$ $$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$$$$$$$$$, $$$$$$$$ $ $$$$$$$$$$ $$$ $$$$$$$$$$ $$$$$$$ $$$$$$$$$$ $$$$$$$$$$$$$$ $$$$$$.

Продолжая анализ элементной базы, необходимо более детально рассмотреть альтернативные варианты компонентов и обосновать окончательный выбор. В качестве альтернативы микроконтроллеру STM32F405RGT6 рассматривались микроконтроллеры семейства ESP32, которые также обладают достаточной производительностью (двухъядерный процессор с тактовой частотой до 240 МГц) и имеют встроенные модули Wi-Fi и Bluetooth. Однако, как показывают исследования российских авторов, ESP32 уступает STM32 по стабильности работы в реальном времени, что критично для задачи балансирования, где важна детерминированность временных задержек. Кроме того, ESP32 имеет меньшее количество таймеров для генерации ШИМ-сигналов, что ограничивает возможности управления несколькими двигателями.

Другим альтернативным вариантом являлось использование микроконтроллеров семейства Teensy (например, Teensy 4.0 на базе ARM Cortex-M7 с тактовой частотой 600 МГц). Данные микроконтроллеры обладают еще более высокой производительностью и могут быть полезны при реализации сложных алгоритмов машинного обучения. Однако их стоимость существенно выше, а доступность на российском рынке ограничена. Кроме того, для задач данной работы производительности STM32F405RGT6 вполне достаточно, поэтому использование более дорогих микроконтроллеров нецелесообразно.

При выборе инерциального модуля рассматривались также более современные модели, такие как ICM-20948 (InvenSense) и BMI160 (Bosch). Данные модули обладают более низким уровнем шума и расширенным диапазоном измерений по сравнению с MPU6050. Однако MPU6050 остается одним из наиболее изученных и хорошо документированных датчиков, для которого существует множество готовых библиотек и примеров реализации. Это существенно упрощает процесс разработки и отладки программного обеспечения. Кроме того, стоимость MPU6050 значительно ниже, что делает его предпочтительным выбором для данного проекта.

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

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

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

В качестве альтернативы коллекторным двигателям с редуктором рассматривались бесколлекторные двигатели (BLDC), которые обладают более высоким КПД и меньшей инерцией ротора. Однако управление BLDC-двигателями требует более сложных драйверов и алгоритмов коммутации, что усложняет разработку. Кроме того, стоимость BLDC-двигателей и соответствующих драйверов существенно выше. Для данной работы, где масса робота не превышает 2 кг, коллекторные двигатели с редуктором обеспечивают достаточную производительность при меньшей стоимости и простоте реализации [22].

Анализ российских публикаций показывает, что $$$$$ $$$$$$$$$ $$$$$$$$$$ $$$$$ $$$$$$$$ $$$$$$ $$$$$$$$. $ $$$$$$$$ $$$$$$$$$$$$ $$$$$$$ $$$$$$$$$$$$$$$ $$$$$$$$ $$$$$ $ $$$$$$$. $$$$$$$ $$$$$ $$$$$$$$ $$$$$ $$$$$$ $ $$$$$ $$$$$$$$$$$, $$$$$ $$$$$$$ $$$$$$$ $$$$$$$$$$ $ $$$$$$$ $$$$$$$$$$ $$$. $$$$$$$ $$$$$$$, $$$$$$$$, $$$$$$$$ $$$$$ $$$$$$$$$$$ $ $$$$$$$$$$, $$ $$$ $$$$$$$$$$$$ $$$ ($.$ $ $$ $$$$$) $$$$$ $$$$ $$$$$$$$$$$$$ $$$ $$$$$$$ $$$$$$$$$$ $$$ $$$$$$$ $$$$$$$$$. $$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$$$$ $ $$$$$$$$$ $$$ $$$$$$ $$$$$$.

$$$ $$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$$$$$ $$$$$ $$$$$$-$$$$$$$$$$$$$$$$ ($$$$) $$$$$$$$$$$$, $$$$$$$ $$$$$ $$$$$ $$$$$$ $$$$$$$$$$$$$$ $$$$$$$$$ $$ $$$$$$$$$ $ $$$$$-$$$$$$$$$$$, $$ $$$$$$$$ $$$$$ $$$$$$$$$$$ $ $$$$$ $$$$$$$ $$$$$$ $$$$$$ $$$$$-$$$$$$. $$$$$$ $$$ $$$$$$ $$$$$$, $$$ $$$$$ $$$$$$$$$$$ $$$$$ $ $$$$$$$$$$$$, $$$$$-$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$ $$$$$$$$$$$$$$$$ $$$$$$$. $$$ $$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$ $$$ $$$$$$$ $ $$$$$$ $$ $$$$$$$$$$$.

$$$$$$$$$$$ $$$$$$$ $$$$$ $$$$ $$$$$$$$$$$$$$ $$$ $$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$ $$$$$$$ $ $$$$$$$ $$$$$$$$$$$$ $$$$$$ $$$$. $$$$$$ $$$$$$$$ $$ $$$$$$$$$$$ $$$$$$$$, $$$$$$$$$$$ $$$$$$$, $$$ $$$$$$$$$$$$ $$$$$$$$$ $ $$$$$$$$$$$ $$$$$$$ $$$$$$$$$$$. $$$$$$ $$$$$$$ $$$$$$$$$ $$ $$ $ $$$$$$$$$ $$$$$$$$$, $$$ $$$$$$$$$$$$ $$$$$$$ $$$$$$$$$ $ $$$$$$$$$$ $$$$$$$$$$$$$. $$$$$$ $$$$$$ $$$$ $$$$$$$$$$ $$$$$ $$$ $$, $$$ $$$$$$$$ $$$$$$$$$$$$ $$$$$ $$$$$$$$$$$$$ $ $$$$$$$$$$$$$$.

$ $$$$$$$$ $$$$$$ $$$$$$$$$$ $$$$ $$$$$ $$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$. $$$$$$$$, $$$$$$$$$$$$$$$ $$$$$$$$$$$$$ $$$$$ $$$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$ $$$$$$$ $$$ $$$$$$$$$$$ $$$$$$$$$$$$$$ $$$$$$$$, $$$$$ $$$ $$$$$$$$$$$$$$ $$$$$$$$$$ $$$ $$$$$$. $$$ $$$$$$$$$ $ $$$$$$$ $$$$$$$$$ $$$$$$$$$$$$$$$$ $$$$$$, $$$$$$$ $$$$$$$$$$$ $$$$$$$ $$$$$$$$$$$ $$$ $$$$$$$$$$ $$$$$ $$$$$$$$$.

$$$$$$ $$$$$$$$ $$$$$$$$ $$$$$ $$$$$$$$$$$ $$$$$$$$$$$$$$$$ $$$$$$$$$$$$$. $$$$$$$$$ $$$$$$$$ $$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$$$$$$ $$$$$, $$$$$$$ $$$$$ $$$$$$ $$ $$$$$$ $$$$$$$$ $ $$$$$$$$$$$$$$$$. $$$ $$$$$$$$ $$$$$ $$$$$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$$$$$$ $$ $$$$$$ $$$$$$$ $$$$$$$$$$, $$$$$$$$$$ $$$$$$$ $$ $$$$$$$$, $ $$$$$ $$$$$$$$$$$$$ $$$$$$$. $$$$$$$$$$$$$$$ $ $$$$$$$ $$$$$$$$$ $$ $$$$$$$$$ $$$$$, $$$$$$$$$ $$ $$$$$$$ $$$$$.

$$$$$$ $$$$$$$$$$ $$$$$$$$$$ $$ $$$$-$$$$ $$$$ $$$$$$$$$$, $$$ $$$$$ $$$$$$$$$$ $$$$ $$$$$$ $$$$ $$$$$$$$$ $$ $$$$$$ $$$$$$$$$$$$, $$ $ $$$$$$$$$$$$$$ $$$$$$$$$$. $ $$$$$$ $$$$$$ $$$$$$$$$$$$ $$$$$$$$$$, $$$$$$$$$ $$ $$$$$$$$$$ $$$$$, $$$ $$$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$ $$$$$$$ $$$$$$$$$$$$$$$. $$$$$ $$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$ $$$$$ $$$$ $$$$$$, $$$ $$$$$$$$ $$$$$$$$$$ $$$ $$$$$$$$$$$$$ $$$$$$$ [$$].

$$$$$ $$$$$$$, $$$$$$$$$$$ $$$$$$ $ $$$$$$$$$$$ $$$$$$ $$$$$$$$$$ $$$$ $$$$$$$$$ $$$$$$$ $$$$$, $$$ $$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$$$$$ $$$ $$$$$$$$$$ $$$$$$$ $$$$$$$$$$ $$$$$$$$$$$$$$ $$$$$$. $$$$$$$$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$$$$$ $$$$$$$$, $$$$$$$$$$$$ $$$$$$ $$$$$$$ — $$$$$$$$$$$ $$$$$$$$ $$$$$$$$$, $$$$$$$$$ $$$$$$$$ $$$$$$ — $$$$$$ $$$$$$$$$$$ $$$$$$$$$ $$$$$, $ $$$$$$$$$$$$ $$$$$$$$$ $ $$$$$$$$$$ $$$$$$$ — $$$$$$$$$$$ $$$$ $ $$$$$$$$$$$$$. $$$$$$ $$$$$ $$$$$$$$$$$ $$$$$$$$ $$$$$$$$$$$ $ $$$$$ $$$$$$ $$$$$$$$$$$ $$$$$$$$$$$$$$$$$$, $$$$$$$$$ $ $$$$$$$$$$$.

Разработка структурной и функциональной схем устройства

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

Структурная схема балансирующего робота включает в себя следующие основные блоки: блок управления (микроконтроллер), блок датчиков (инерциальный модуль и энкодеры), блок исполнительных устройств (двигатели с драйверами), блок питания и блок связи (для отладки и мониторинга). Центральным элементом системы является микроконтроллер STM32F405RGT6, который выполняет функции сбора данных, их обработки, реализации алгоритма управления и формирования управляющих сигналов.

Связь между микроконтроллером и инерциальным модулем MPU6050 осуществляется по интерфейсу I2C. Данный интерфейс обеспечивает синхронную двунаправленную передачу данных с частотой до 400 кГц, что достаточно для получения измерений с частотой до 1 кГц. Микроконтроллер выступает в роли ведущего устройства (master), а инерциальный модуль — в роли ведомого (slave). Для идентификации модуля на шине I2C используется его адрес, который может быть задан аппаратно.

Энкодеры AS5600 также подключаются к микроконтроллеру по интерфейсу I2C. Однако, поскольку каждый энкодер имеет свой уникальный адрес, они могут быть подключены к одной шине I2C вместе с инерциальным модулем. Для предотвращения конфликтов на шине используются подтягивающие резисторы на линиях SDA и SCL. В российских публикациях отмечается, что при большом количестве устройств на одной шине I2C может возникать снижение скорости передачи данных, поэтому в данной работе используется разделение на две независимые шины I2C: одна для инерциального модуля, другая для энкодеров.

Драйверы двигателей BTS7960 подключаются к микроконтроллеру через выводы общего назначения (GPIO) и таймеры для генерации ШИМ-сигналов. Каждый драйвер требует два ШИМ-сигнала для управления скоростью и направлением вращения двигателя, а также несколько цифровых сигналов для управления режимами работы (включение, торможение). В данной работе используются два таймера микроконтроллера, каждый из которых генерирует два ШИМ-сигнала с частотой 20 кГц, что обеспечивает плавное регулирование скорости двигателей.

Блок питания включает в себя литий-полимерный аккумулятор напряжением 11.1 В, стабилизатор напряжения для питания микроконтроллера и датчиков (3.3 В), а также фильтры для подавления помех. Для защиты от перегрузок и короткого замыкания используются предохранители. Важным элементом является также схема измерения напряжения аккумулятора, которая позволяет контролировать уровень заряда и своевременно отключать систему при критическом разряде.

Функциональная схема системы управления описывает алгоритмы обработки информации и формирования управляющих сигналов. Основными функциональными блоками являются: блок сбора данных, блок фильтрации, блок оценки состояния, блок реализации закона управления и блок формирования управляющих сигналов.

Блок сбора данных выполняет чтение показаний с инерциального модуля (угловые скорости и ускорения) и энкодеров (углы поворота колес). Данные считываются с частотой 1 кГц, что обеспечивает достаточное $$$$$$$$$ $$$$$$$$$$ $$$ $$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$. $$$ $$$$$$$$$$$$$ $$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$ $$ $$$$$$$ $$$$$$$$$$$$$$$$.

$$$$ $$$$$$$$$$ $$$$$$$$$ $$$$$$$$$$$$$$$ $$$$$$$$$ $$$$$ $$$$$$ $$$ $$$$$$$$ $$$$$ $ $$$$$$$$. $$$ $$$$$$$$$$$$$ $ $$$$$$$$$ $$$$$$$$$$$ $$$$$$ $$$$$$ $$$$$$ $ $$$$$$$$ $$$$$ $$ $$, $$$$$$$ $$$$$$$$$ $$$$$$$$$$$$$$$ $$$$$$$$, $$$$$$$$$$$ $$$ $$$$$$ $$$$$$$$$$. $$$ $$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$ $$$$$$ $$$ $$$$$$$$ $$$$$$$$$ $$$$$$$$, $$$$$$$ $$$$$ $$$$$$$$$ $$$ $$$$$$$$ $$$$$$$$$.

$$$$ $$$$$$ $$$$$$$$$ $$$$$$$$$ $$$$$$ $$$$$$$ $$$ $$$$$$$$$ $$$$$$$$$$$ $$$$$$ $$$$ $$$$$$$$$$ $$$$$$$, $$$$$$$ $$$$$$$$, $$$$$$$$$ $ $$$$$$$$ $$$$$$$$$. $$$$$$ $$$$$$$ $$$$$$$$$$ $$$$$$ $$ $$$$$$$$$$$$ $$$$$$$$ $ $$$$$$$$$, $$$$$$$$ $$ $$$$$$$$$$$$$$ $$$$$$$$$$$$$$. $ $$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$ $$$$$$$$$$$ $$$$$$$ $$$$$$$, $$$$$$$ $$$$$$$$$$$ $$$$$$ $$$$$$$ ($$$) $ $$$$$-$$$$$$$$ $$$$$$ $$$$$$$ ($$$), $$$$$$$ $$$$$ $$$$$$$$$ $$$$$$$$$$$$ $$$$$$ [$].

$ $$$$$$ $$$$$$ $$$$$$$$$$$$ $$$$$$$$ $$$$$$ $$$$$$$, $$$$$$$$$ $$$$$$ $$$$$$$ $$$$$$$$$$$$$ $ $$$$$$$$$$$ $$$$$$$ $$$$$. $$$$$$ $$$$$$$$$ $$$$$$$$ $$$$$$ $$$$$$$$$$: $$$$ $$$$$$$$$$ $$$$$$$, $$$$$$$ $$$$$$$$, $$$$$$$$$ $$$$$$$$$ $ $$$$$$$$ $$$$$$$$. $$$$$$ $$$$$$$$$ $$$$$$$$ $$$$ $$$$$$$$$$ ($$ $$$$$$$$$$$$$), $$$$$$$ $$$$$$$$ ($$ $$$$$$$$$) $ $$$$$$$$$ $$$$$$$$$ ($$ $$$$$$$$$).

$$$$ $$$$$$$$$$ $$$$$$ $$$$$$$$$$ $$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$ $$ $$$$$$ $$$$$$ $$$$$$$$$. $ $$$$$$ $$$$$$ $$$$$$$$$$$$ $$$-$$$$$$$$$, $$$$$$$$$$$$ $$$$$$$$ $$$$ $$$$$$$$$$ $$ $$$$$$ $$$$$$$$$$$$$$ $$$$$$ $$$$$$$. $$$$$$$$$$$ $$$$$$ $$$$$$$$$$$$ $$$$$ $$$$$$$$$$, $$$$$$$ $$$$$$ $$$$ $$$$$$ $$ $$$$$$$$$ $$$ $$$$$$$$$$$$ $$$$$$.

$$$$ $$$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$ $ $$$-$$$$$$$ $$$ $$$$$$$$$ $$$$$$$$$$. $$$ $$$$$ $$$$$$$$$$$$ $$$$$$$ $$$$$$$$$$$$$$$$, $$$$$$$ $$$$$$$$$$ $$$$$$$ $ $$$$$$$$ $$$$$$$$$$$. $$$ $$$$$$$$$$$ $$$$$$$$ $$$$$ $ $$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$ $$$$$$$$$ $$$$$$$$$$$$ $$$$$$$.

$$$$$$ $$$$$$$$$ $$$$$$$$$$$$$$ $$$$$ $$$$$$$$ $$$$$ $$$$ $$$$$$$$$$$ $ $$$$$$$, $$$$$$$ $$$$$$$$$$$$ $$$$$$$$ $$$$$$ $$ $$$$$$$$$ $$$ $$$$$$$$$$$$ $ $$$$$$$. $$$ $$$$$ $$$$$$$$$$$$ $$$$$$$$$ $$$$, $$$$$$$$$$$$ $ $$$-$$$$$$$$$$$$$$$. $$ $$$$$$$$$ $$$$$$$$$$ $$$$$$$ $$$$$$$$ $$$$ $$$$$$$$$$, $$$$$$$$, $$$$$$$$$$$$ $$$$$$$ $ $$$$$$ $$$$$$$$$, $$$ $$$$$$$$$ $$$$$$$$$ $$$$$$$$$ $ $$$$$$$ $$$$$$$.

$$$$$$$$$$ $$$$$$$$$$$ $ $$$$$$$$$$$$$$ $$$$ $$$$$$$$$$$ $ $$$$$$ $$$$$$$$$$ $ $$$$$$$$$$ $ $$$$$$$$$$$$$$$$$$. $$$ $$$$$ $$$$$ $$$$$ $$$$$$$ $$$$$$$$ $$ $$$$$ $ $$$$$$$ $$$$$$$$ $ $$$$$$$$$$$$$. $$$ $$$$$$$ $$$$$$$$$ $$$$$$ $$$$$$$$$$$$ $$$$$$$$$ $$$$$$$$$$$$$, $$$ $$$$$$$$$$$$$ $$$$$$$$ $$$$$$$.

$$$$$$ $$$$$$$$$$ $$$$$$$$$$ $$ $$$$-$$$$ $$$$ $$$$$$$$$$, $$$ $$$ $$$$$$$$$$ $$$$$$$$$$$ $$$$ $$$$$$$$$$$$$ $$$$$$$ $$$$$$ $$$$$$$$ $$$$$$$$$ $$$$$$$$$$$ $$$$$$$$ $ $$$$ $$$$$$$$$$. $$$$$$ $$$$$$$$$$$$ $$$$$$$$ $$$$$ $$$$$$$$$$ $ $$$$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$ $$$$$ $$$$$$$$ $ $$$$$$ $$$$$$$$$$$$. $ $$$$$$ $$$$$$ $$$ $$$$$$$$$$$ $$ $$$$$$$ $$$$$$$$ ($$$$ $$$$$$, $$$$$$$$$$, $$$$$$ $$$$$$$$$, $$$$$$ $$$$$$$$$$) $$$$$$$$$$$ $ $$$$$$$$$$ $$ $$$$$$$ $ $$$$$$$$ $ $$$, $$$ $$$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$ [$$].

$$$$$ $$$$$$$, $$$$$$$$$$$$$ $$$$$$$$$$$ $ $$$$$$$$$$$$$$ $$$$$ $$$$$$$$$$$$ $$$$$$ $ $$$$$$$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$ $$$$$$$$$$ $$$$$$$$$$$$$$ $$$$$$. $$$$$$$$$$$ $$$$$ $$$$$$$$$$ $$$$$$ $ $$$$$ $$$$$ $$$$$$$$$$$$, $ $$$$$$$$$$$$$$ $$$$$ $$$$$$$$$ $$$$$$$$$ $$$$$$$$$ $$$$$$$$$$. $$$$$$ $$$$$ $$$$$$$$ $$$$$$$ $$$ $$$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$$$$$ $$$$$$$$$$$$$ $$$$$ $ $$$$$$$$$$$$ $$$$$$$$$$$.

Продолжая разработку структурной и функциональной схем, необходимо более детально рассмотреть вопросы синхронизации работы отдельных блоков и обеспечения отказоустойчивости системы. Одним из ключевых аспектов является синхронизация измерений с инерциального модуля и энкодеров. Поскольку данные с этих датчиков поступают с различной частотой и задержками, необходимо обеспечить их временное согласование для корректной работы фильтра Калмана. В данной работе используется аппаратный таймер микроконтроллера, который генерирует прерывания с частотой 1 кГц. По каждому прерыванию выполняется последовательное чтение данных со всех датчиков, что обеспечивает их синхронизацию с точностью до одного периода дискретизации.

Важным элементом функциональной схемы является блок обнаружения и обработки аварийных ситуаций. К числу аварийных ситуаций относятся: потеря связи с датчиками, выход угла отклонения за допустимые пределы, критическое снижение напряжения аккумулятора, а также перегрузка двигателей. При возникновении любой из этих ситуаций система должна перейти в безопасный режим, который включает остановку двигателей и включение сигнализации. В российских публикациях предлагаются различные методы обнаружения аварийных ситуаций, включая анализ остатков фильтра Калмана и контроль целостности данных [13].

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

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

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

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

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

Разработка структурной схемы также включает определение требований к печатной плате. Плата должна обеспечивать надежное соединение всех компонентов, минимальные паразитные индуктивности и емкости, а также эффективное отведение тепла от драйверов двигателей. В данной работе используется двухслойная печатная плата, на которой силовые цепи (питание двигателей) отделены от сигнальных цепей (датчики, микроконтроллер) для минимизации помех.

При проектировании печатной платы особое $$$$$$$$ $$$$$$$$$ $$$$$$$$ $$$$$ $$$$$$$. $$$ $$$$$$$ $$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$ $$$$ $$$$ $$$$$$$ $$$$$$$, $$$ $$$$$$$$$$$$ $$$$$$ $$$$$$$$$$$$$ $ $$$$$$$$$$$ $$$$$$$$$ $$$$$. $$$$$$$ $$$$$$$$$$$$$$$$ $ $$$$$$$$ $$$$$$$$$ $$$$$$$$$$ $$$$$$$$$ $ $$$$$$$$$$$$$$ $$$$$$$$ $$$ $$$$$$$$$$ $$$$$$$$$$$$$$$ $$$$$.

$ $$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$, $$$ $$$$$$$$$$ $$$$$$$$ $$$$$$$$$$ $$$$$$$$ $$$$$$$$$$ $$$$$$ $$$ $$$$$$$$$$$ $$$$$$$$$$$$$$$$$$. $ $$$$$$ $$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$$$$ $$$$$$$$$$, $$$ $$$$$$$ $$$ $$$$ $$$$$$$$$$ $$$$$$$$ $ $$$$$ $$$$$, $$$ $$$$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$ $$$$$$$$. $$$$$$$ $ $$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$ $ $$$$$$$$$ $$$$$$ $ $$$$$ $$$$$.

$$$$$$$$$$$$$$ $$$$$ $$$$$ $$$$$$$$ $$$$ $$$$$$$$$$$$$$$$. $$$$$$$$$ $$$$$$$$$$$$$ $$$$$ $$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$ $$$$ $ $$$$$$ $$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$$$, $$$$$$$$$$$$$ $$$$ $$$ $$$$$$$$ $$$$$$$$$$$$$$$$$. $ $$$$$$$$$, $$$ $$$$$$$$$$ $$$$$$$$ $ $$$$$$$ $$$$$$$$$ $$$$$$$ $$$$$$$ $$$$$$$$$ $ $$$$$ $$$$$$$$$$$ $$$$$$$$$$$$$$$$$, $$$ $$$$$$$ $$$$$$$ $$$$$$$$$$$$$ $$$$$$$$$ $$ $$$ $$, $ $$$$$$$$$ $$$$$$$$ $ $$$$$$$$$$ $$$$$$$$$$$.

$$$ $$$$$$$$$$$ $$$$$$$$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$ $$$$, $$$$$$$$$$$$$ $$$$$$$$$$$. $$$ $$$$$$ $$$$$$$$$$$$ $$$ $$$$$$$$$$$ $$$$$$$$$ $$$$$$$$$$ $ $$$$$$$$$$$$$$ $$$$$$$$$$. $ $$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$ $$$$$$ $$$$$$$$$$$$$$$$$ $$ $$$$$$ $$$$$$$$$$$$$$ $$$$$$ $$$$$$$$$$, $$$ $$$$$$$$$ $$$$$$$$$$$$$$ $$$$$ $$$$$$$$$$ $$$$$$.

$$$$$$ $$$$$$$$$ $$$$$$$$$$$$$$ $$$$$ $$$$$$$$ $$$$$ $$$$$$$$$ $$$$$$$$$$$$. $$$ $$$$$$$$$$ $$$$$$$ $$$$$$$$$$$$ $$$$$ $$$$$$$$$$$$$$ $$$$$$$$$$ $$ $$$$$$ $$$$$$$$$-$$$$$$ $$-$$. $$$$$ $$$$$$$$$ $$$$$$$$ $$$$$$$$ $ $$$$$$$$$$$ $$$$$$$$, $ $$$$$ $$$$$$$$$$$ $$$$$$ $$$$$$. $$$$$$ $ $$$$$$ $$$$$$$$$$$ $$$$$$$$$$$$$$$$$ $$ $$$$$$$$$$ $$$$ $ $$$$$$$$$$$$$ $ $$$$$$$$ $$$$$$$$$$$.

$$$$$$$$$$ $$$$$$$$$$$ $ $$$$$$$$$$$$$$ $$$$ $$$$$$$$$$$ $$$$$$$$$ $$$$$$$$$$$$$$ $$$$$$$$$$$$$ $$$$$, $$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$ $$$$$ $$$$$ $$$$$$$$$$$$. $$$$$$$$$$$$$$ $$$$$ $$$$$$$$ $$$$$$$$ $$$$$$$$$$, $$$$$$$$$$$$$, $$$$ $$$$$$$$$ $ $$$$$$ $$$$$$, $$$$$$$$$$$ $$$ $$$$$$$$$$$$ $$$$$$$$ $$$$$. $ $$$$$$ $$$$$$ $$$$$$$$$$$$$$ $$$$$ $$$$$$$$$$$ $ $$$$$ $$$$$$ $$$$$$$$.

$$$$$$ $$$$$$$$$$ $$$$$$$$$$ $$ $$$$-$$$$ $$$$ $$$$$$$$$$, $$$ $$$$$$ $$$$$$ $$$$$$$$ $$$$$ $$$$$$$$$$$$$ $$$$$$ $$$$$$$ $$ $$$$$$ $$$$$$$$$$$$$ $$$$. $$$$$$$$$$$$$ $$$$$$$$$ $$$$$$$ $$$$$$$$$$$$$ $$$$$$$$, $$$$$ $$$ $$$$$$$$$ $$ $$$$$ $$$$$$, $$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$ $$$ $$$$$$$$ $$$$$$$$$$$, $$ $$$$$$ $$$$$$$$$$ $$$$$$$$$$. $ $$$$$$ $$$$$$ $$$$$$$$$$$$$ $$$$$$$$$$$ $ $$$$$ $$$$$$$, $$$ $$$$$$$$$ $$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$ $ $$$$$$$$$ $$$$$$$$$ [$$].

$$$$$ $$$$$$$, $$$$$$$$$$ $$$$$$$$$$$ $ $$$$$$$$$$$$$$ $$$$ $$$$$$$$ $$$$$$$$$$$ $$$$$$$$$, $$$$$$$$$$ $$$$$$$$$$$ $$$$$$$ $$$$$$$, $$$$$$$$ $$$$$$$$$$ $$$$$$$$$ $$$$$$$$$$, $$$$$$$$$$$ $$$$$$$$$$$$$, $$$$$$$$$$$$$$$$$$ $ $$$$$$$$$$$$$$$$$$$. $$$$$$$$$$$$$ $$$$$ $$$$$$$$ $$$$$$$ $$$ $$$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$ $ $$$$$$$$$$$ $$$$$$ $$$$$$$$$$$$$$ $$$$$$.

$$$$$$$ $$$$$ $$$$$$$$$$$$ $$$$$$$$$$$ $ $$$$$$$$$$$$$$ $$$$, $$$$$ $$$$$$$ $$$$$, $$$ $$$$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$ $$$$$$$$$$ $$$$$$$$$$$$ $$$$$$ $ $$$$$$$$$$$$$$$$ $$$$$$ $$$ $$$$$$$$$$ $$$$$$$$$$$$$$ $$$$$$. $$$$$$$$$$$ $$$$$ $$$$$$$$$$ $$$$$$ $ $$$$$$$$$$$ $$$$$$$$$$$, $ $$$$$$$$$$$$$$ $$$$$ $$$$$$$$$ $$$$$$$$$ $$$$$$$$$ $$$$$$$$$$ $ $$$$$$$$ $$$$$$$. $$$$$$ $$$$$$$$ $$$$$$$ $$$$$$$$ $$$$$$$$$$$$$ $$$$$$$$$, $$$$$$$$$$$$$$$$$$ $ $$$$$$$$$$$$$$$$$$$, $$$ $$$$$$$$$ $$$$$$$ $$$$$$$$ $ $$$$$$$$$$$ $$$$$$$ $$$$$$$$$$ [$].

Анализ погрешностей датчиков и методы фильтрации сигналов

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

Инерциальные датчики, используемые в балансирующих роботах, подвержены нескольким типам погрешностей. Основными из них являются: шум измерений, смещение нуля (bias), масштабный коэффициент, нелинейность и перекрестная чувствительность. Шум измерений представляет собой высокочастотные случайные флуктуации выходного сигнала, которые могут быть вызваны как внутренними процессами в датчике, так и внешними электромагнитными помехами. Смещение нуля — это постоянная составляющая погрешности, которая приводит к систематическому отклонению измеряемой величины от истинного значения.

Для MEMS-гироскопов характерен также эффект дрейфа нуля, который проявляется в медленном изменении смещения нуля во времени под влиянием температуры и других факторов. В российских публикациях отмечается, что дрейф нуля MEMS-гироскопов может достигать 0.1-0.5 градуса в секунду в минуту, что при интегрировании сигнала приводит к значительному накоплению ошибки определения угла [15]. Для акселерометров характерна погрешность, связанная с вибрациями, которые могут быть вызваны работой двигателей и неровностями поверхности.

Энкодеры, используемые для измерения угла поворота колес, также имеют свои погрешности. Основными из них являются: квантование (дискретность измерения), нелинейность и дребезг контактов. Квантование обусловлено конечным разрешением энкодера и приводит к ступенчатому изменению измеряемого значения. Для магнитных энкодеров AS5600 с разрешением 12 бит погрешность квантования составляет около 0.09 градуса, что приемлемо для данной задачи.

Для компенсации погрешностей датчиков применяются различные методы фильтрации сигналов. Наиболее простым и распространенным методом является использование фильтра низких частот (ФНЧ) для подавления высокочастотных шумов. ФНЧ может быть реализован как в аналоговом виде (RC-цепочка), так и в цифровом виде (рекурсивный или нерекурсивный фильтр). В данной работе используется цифровой фильтр Баттерворта второго порядка с частотой среза 20 Гц, который обеспечивает хорошее подавление шумов при минимальном влиянии на полезный сигнал.

Однако использование только ФНЧ не позволяет компенсировать систематические погрешности, такие как смещение нуля. Для компенсации смещения нуля гироскопа применяется метод калибровки, при котором датчик находится в неподвижном состоянии, и усредненное значение его выходного сигнала запоминается в качестве смещения. В процессе работы это значение вычитается из текущих измерений. Для компенсации дрейфа нуля во времени могут использоваться более сложные методы, такие как адаптивная калибровка с использованием фильтра Калмана.

Для объединения данных от акселерометра и гироскопа с целью получения точной оценки угла отклонения применяются комплементарный фильтр и фильтр Калмана. Комплементарный фильтр основан на том, что акселерометр хорошо работает в статическом режиме (низкие частоты), а гироскоп — в динамическом (высокие частоты). Фильтр объединяет эти два источника информации, пропуская сигнал акселерометра через ФНЧ, а сигнал гироскопа — через фильтр высоких частот, а $$$$$ $$$$$$$$ $$$$$$$$$$.

$ $$$$$$ $$$$$$ $$$$$$$$$$$$ $$$$$$ $$$$$$$ $$$ $$$$$ $$$$$$ $ $$$$$$$$$$$$$ $$$$$ $$$$$$ $$$$$$$$$. $$$$$$ $$$$$$$ $$$$$$$$$ $$$$$$$$$$ $$$$$$ $$ $$$$$$$$$ $$$$$$$$ $ $$$$$$ $$ $$$$$$$$$$$$$$ $$$$$$$$$$$$$ $ $$$$$$$$ $$$$$$$$$$$ $$$$$$ $$$$ $$$$$$$$$$ $ $$$$$$$ $$$$$$$$. $$$$$$ $$$$$$$$ $ $$$$$$$ $$$$$$$ $$$$$$$$ $$ $$$$$$$$$$$$$$ $$$$$$$$$$$$, $$$$$$$$$$$ $$$$, $$$$$$$ $$$$$$$$ $ $$$$$$$ $$$$$$$$$.

$$$$$$ $$$$$$ $$$$$$$$$$ $$$$$$$ $$$$$$$ $$$$$$$$ $$$$$$$ $$$$$$$$$$$$$$ $$$$$$ $$$$$ $$$$$$$$ $ $$$$$$$$$. $$$ $$$$$$$$ $$$$$$$$$$$$$ $$$$$$$$$$$$$$$$ $$$$$$, $ $$$ $$$$$$$$$ — $$$$$$$$$$$ $$$$$$$$. $ $$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$ $$$$$$$$$$$$$$ $$$$$$$$$ $$$$ $$$$$$ $$ $$$$$$ $$$$$$$ $$$$$$$$$$$$$$$$$ $$$$$$. $ $$$$$$ $$$$$$ $$$$$$$$$$$$$$ $$$$$$$ $$$$ $$$$$$$$$$ $$$$$ $$$$$$$ $$$$$$, $$$$$$$$$$ $ $$$$$$$$$$$ $$$$$$ $ $$$ $$$$$$$$ $$$$$$.

$$$ $$$$$$ $$$$$$$$$$$$$ $$$$$$$$$$ $$$$ $$$$$$$$$ $$$$$$$$$$$$$$$$$ $$$$$$$$$$$$. $$$$$ $$$$$$$$$$$$$$ $$ $$$$$$$$$$$ $$$$$$$$$, $ $$$$$$$$$$$$ $$$$$$ $ $$$$$$$$$$$$$, $$$$$$$$$ $ $$$$$ $$$$$$$ $$$$$$$. $$$$$$$$$$ $$$$$$$$, $$$ $$$$$$ $$$$$$$ $$$$$$$$$$$$ $$$$$$$$ $$$$$$$$$$$$$$$$$$ $$$$$$ $$$$$$ $$$$ $$ $$-$$% $$ $$$$$$$$$ $ $$$$$$$$$$$$$$ $$$$$$ $$$$$$$$$$$$$ $$$ $$$$$$ $$$$$$$$$.

$$$$$$ $$$$$$$$ $$$$ $$$$$$$ $$$$$$$$$$ $$$$$$ $ $$$$$$$$$. $$$ $$$$$$$$$$ $$$$$$$$ $$$$$$$$$ $ $$$$$$$$$ $$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$ $$$$$$ $ $$$$$ $ $ $$$$$$$$. $$$$$$ $$$$$$ $$$$$$$$$$ $$$$$$$ $$$$$$$$$ $$$$$$$, $$ $$$$$$$ $$$$$$$$ $$$$$$. $$$$$ $$$$$$$$$ $$$$$$$$$$ $$$$$$ $ $$$$$$$$$ $$$$$$$$$$$$$$$$ $$$ $$$$$$$$$ $$$$$$ $$$$$$$$ $$$$$$$$ $$$$$, $$$$$$$ $$$$$ $$$$$$$$$$$$ $ $$$$$$$ $$$$$$$.

$ $$$$$$$$$$ $$$$$$$$$$$ $$$$$ $$$$$$$$$$$$$$$ $$$$$$ $$$$$$$$$$, $$$$$$$$$$ $$ $$$$$$$-$$$$$$$$$$$$$$, $$$$$$$ $$$$$$$$$ $$$$$$$$$$ $$$$$$$$$ $$$$ $ $$$$$$$$$ $$$$$$$$$ $$$$$$$$$$$$$$$. $$$$$$ $$$$$$ $$$$$$ $$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$$$$ $$$$$$$$ $ $ $$$$$$ $$$$$$ $$ $$$$$$$$$$$.

$$$$$$ $$$$$$$$ $$$$$$$$ $$$$$ $$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$. $$$ $$$$$$$$$$$$$$ $$$$$$ $$$$$$$ $$$$$$$$$$ $$ $$$$$$$$$$, $$$$$$$ $$$$$ $$$$$$$ $$$$$$$$ $ $$$$, $$$$$$$$$$$$ $$$$$$ $$$$$$ $$$$$$ $$ $$$$$$ $$$$$$$$$$. $ $$$$$$ $$$$$$ $$$$$$$$$$$$ $$$$$$ $$$$$$$ $$$$$$$ $ $$$$$$$$$$ $$$$$$$ $.$$ $$$$$$$, $$$$$$$ $$$$$$$$$$ $$$$$$$$$$$ $$$$$$, $$ $$$$$ $$$$$$$$$$$$ $$$$$$$$.

$$$$$$ $$$$$$$$$$$$ $$$$$$$$ $$$$$ $$$$$$$$ $$$$$$ $$$$$$$ $$$$$$$$$$$ $$ $$ $$$$$$$$$$$$$$. $$$$-$$$$$$$ $$$$$$$$$$ $$$$$$$$$$$$$$ $$$$$$, $$$$$$$ $$$$$ $$$$$$$$$ $$$$$$$$$$$$ $$$$$$$ $$$ $$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$ $$$$$. $$$ $$$$$$$$$$$ $$$$$$$$$$$$$$ $$$$$$ $ $$$$$$$$$ $$$$$$$$ $$$$$$$ $$$$$$$$$$ $$$$$$$$$$, $$$$$$ $ $$$$$$$ $$$$$$$$$$$$ $$$ $$$$$$$$$ $$$$$$$$$ [$$].

$ $$$$$$ $$$$$$ $$$$$$$$$$$$ $$$$$$$, $$$$$$$ $$ $$$$$ $$$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$$$$$. $$$ $$$$$$$$ $$$$$$$ $$$$$$$$$$$ $$$$$$ $$$$$$$$ $$$$$$ $$$$$$$$$$$$$$$$, $$$$$$$ $$$$$$$$ $$$$$, $$$ $$$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$. $$$$$ $$$$, $$$$$$$$$$ $$$$$$$ $$$$$$$$$$$ $$$$$ $$$$$$$$ $$$$$$$ $ $$$$$$$ $ $$$$$.

$$$$$ $$$$$$$, $$$$$$ $$$$$$$$$$$$ $$$$$$$$ $ $$$$$ $$$$$$$ $$$$$$$$$$ $$$$$$$$ $$$$$$$$ $$$$$$$$$$ $$$$$$$ $$$$$$$$$$$$$$ $$$$$$$ $$$$$$$$$$ $$$$$$$$$$$$$$ $$$$$$. $$$$$$$$$$ $$$$$ $$$$$$$ $$$$$$$$$$ $$$$$$$$$ $$$$$$$$$$$ $$$$$$$$ $$$$$$$$ $$$$$$ $$$$$$$$$ $, $$$ $$$$$$$$$, $$$$$$$$ $$$$$$$$$$$$. $ $$$$$$ $$$$$$ $$$$$$$$$$$$ $$$$$$$$$$ $$$$$$$: $$$$$$$$$$ $$$$$$$$ $$$$, $$$$$$ $$$$$$ $$$$$$ $$$ $$$$$$$$$$ $$$$$, $$$$$$$$$ $$$$$$ $$$ $$$$$$$$ $$$$$$$$ $ $$$$$$ $$$$$$$ $$$ $$$$$$$$$$$$ $$$$$$$$$$$ $$$$$$ $$ $$$$$$$$$ $$$$$$$$ [$$].

Продолжая анализ погрешностей датчиков и методов фильтрации сигналов, необходимо более детально рассмотреть вопросы, связанные с обработкой данных в реальном времени и оптимизацией вычислительных затрат. Одним из ключевых аспектов является выбор между комплементарным фильтром и фильтром Калмана с точки зрения вычислительной сложности. Комплементарный фильтр требует всего нескольких арифметических операций на один такт работы, что позволяет реализовать его на самых простых микроконтроллерах. Фильтр Калмана, напротив, требует выполнения операций с матрицами размерности 4x4, что существенно нагружает вычислитель. Однако, как показывают исследования российских авторов, на современных микроконтроллерах, таких как STM32F405, реализация полного фильтра Калмана с частотой 1 кГц занимает менее 10% вычислительных ресурсов, что вполне приемлемо.

Важным аспектом является также выбор типа фильтра Калмана. В данной работе используется линейный фильтр Калмана, поскольку модель системы линеаризована в окрестности рабочей точки. Однако при больших углах отклонения (более 15 градусов) линейная модель становится неадекватной, и может потребоваться использование расширенного фильтра Калмана (EKF), который учитывает нелинейности модели. В российских публикациях предлагаются методы адаптивного переключения между линейным и расширенным фильтром в зависимости от текущего угла отклонения, что позволяет оптимизировать вычислительные затраты.

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

Обнаружение линейных ускорений может быть выполнено путем анализа модуля вектора ускорения: если модуль значительно отличается от 1g (ускорения свободного падения), то это свидетельствует о наличии линейных ускорений. В данном случае доверие к показаниям акселерометра снижается, и фильтр Калмана полагается в основном на данные гироскопа. Такой подход позволяет избежать ошибок оценки угла при резких маневрах.

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

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

Важным аспектом является также калибровка масштабных коэффициентов датчиков. В отличие от смещения нуля, масштабные коэффициенты определяют чувствительность датчика и могут отличаться от номинальных значений. Для калибровки масштабных коэффициентов акселерометра используется поворот датчика на известные углы (например, 0 и 90 градусов) и сравнение измеренных значений с эталонными. Для гироскопа калибровка масштабных коэффициентов может быть выполнена путем вращения датчика с известной угловой скоростью.

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

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

В российских публикациях предлагается $$$$$ $$$$$$$$$$ $$$$$$$$$$, $$$$$$$ $$$$$$$$$$$$$ $$$$$$$$$$ $$$$$$$ $$$$$$$$ $ $$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$ $ $$$$$$$$ $$$$$$$. $$$$$$ $$$$$ $$$$$$$$$ $$$$$$$$$$ $$$$$$$$$ $$$$$$$$, $$ $$$$$$ $$$$$$$$$$$$$$$$ $$$$$$ $$ $$$$$$. $$$$$$ $$$$$$$$$$ $$$$$$ $$$$$$ $$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$$$$ $$$$$$$$ $ $ $$$$$$ $$$$$$ $$ $$$$$$$$$$$.

$$$$$$ $$$$$$$$ $$$$$$$$ $$$$$ $$$$$$$$$$$$$ $$$$$$$$$ $ $$$$$$$$$ $$$$$$$$. $$$ $$$ $$$$$$$$$$, $$$$$$ $ $$$$$$$$$$$$$ $$$$$$ $ $$$$$$$$$ $$$$$$$$$ $ $$$$$$$$$$ $$$$$$$$$$, $$$ $$$$$ $$$$$$$$ $ $$$$$$$ $ $$$$$$$ $$$$$$$. $$$ $$$$$$$ $$$$ $$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$$$$ $ $$$$$$$ $$$$$$$ $$$$$$$$$$$$$$$$, $ $$$$$ $$$$ $$$$$$$$ $ $$$$$$ $$$$$$$$$ $$$$$$$ $$$$$$$.

$ $$$$$$ $$$$$$ $$$$$$$$ $$$$$$$$$ $$$$ $$$$$$$$$$ $$$$$$$$$$$$$$$$ $$$$$ $$$$$$$ $$$$$$$$$ $$$$$$$$. $$$$$$$$ $$$ $$$$$$$$$$$$$ $$$$$$ $$$$$$$$$ $$$$$ $ $$, $ $$$ $$$$$$$$$ — $$$$$ $ $$. $$$ $$$$$$$$ $$$$ $$$$$$ $ $$$$$$ $$$$$$$$$ $$$$$$$ $$$$$$$ $$$$$ $$$$$$$$$$$$$$$$ $$$$$$ $$$$$$$$$ $$ $$$$$$$.

$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$ $$$$$$ $$$$$$$$$$ $$$$$$ $ $$$$$$$$ $$$$$$ $$$$$$$ $$$$$$. $$$ $$$$$$$$$$$$$ $$$$$$$$$$ $$$ $$$$$$$$ $$$$ $ $$$$$$$$ $$$$$$, $$$$$$$$$$ $ $$$$$$ $$$$$$$$$ $$$$$$$$$. $$$ $$$$$$$$$ $$$$$ $$$$$$$$ $ $$$$$$$ $$$$$$$ $$$$$$$$$$$$ $$$$$$$$ $$$$$$$$ $$$$$$$$$: $$$$ $$$$$$ $$ $$$$$$$ $$ $$$$$$$$$ $ $$$$$$$ $$$$$$$$$ $$$$$$$, $$$$$$ $$$$$$$$$ $$$$$$ $$$$$$$ $$$$$$$$$ $$$ $$$$$$$$$.

$ $$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$$$ $$$$$ $$$$$$$ $$$$$$ $$$$$$$$$ $$$$$$ $$$$$$, $$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$ $$$ $$$$$$$$$$$$$ $$$$$$ $$ $$$$$$ $$$$$$$$ $$$ $$$$$$$$$$$. $$$$$$ $ $$$$$$ $$$$$$, $$$$$$$$ $$$$$$$ $$$$$$$$$$ $$$$$$$$$$ $$$, $$$$$$$$$$$$ $$$$$$$ $$$$$$$$ $$$$$$$$ $$$$$$$$$.

$$$$$$ $$$$$$$$ $$$$$$$$ $$$$$ $$$$$$ $$$$$$$$$$$$$$ $$$$$$ $$ $$$$$$$$$$ $$$$$$$$$$. $$$ $$$$$$ $ $$$$$$$$ $$$$$$$ $$$$$$$$$$, $$$$$ $$$ $$$$$$$$$$ $$$$$$$$$$$$ $ $$$$$$ $$$$$$$$$$$$$ ($ $$). $ $$$$$$ $$$$$ $$$$$$$$$$ $$$$$$$ $$$$$$$ $$$$$$$$$ $$$$$ $.$ $$, $$$ $$$$$$$$$ $$$$$$$$$$$ $$$$$ $$$ $$$$$$$$$$ $$$$$$ $$$$$, $$$$$ $$$ $$$$$ $$$$$$ $ $$$$$$ $ $$$$$$$$ $$$$$$ $$ $$$$$$$$$.

$$$$$ $$$$$$$, $$$$$$ $$$$$$$$$$$$ $$$$$$$$ $ $$$$$$$ $$$$$$$$$$ $$$$$$$$ $$$$$$$$$$, $$$ $$$$$$$$$$ $$$$$ $ $$$$$$$$$ $$$$$$$$ $$$$$$$$ $$$$$$$$$$ $$$$$$$ $$$ $$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$$$$ $$$$$$. $ $$$$$$ $$$$$$ $$$$$$$$$$$$ $$$$$$$$$$ $$$$$$$, $$$$$$$$$$ $$$$$$$$$$ $$$$$$$$ $$$$, $$$$$$ $$$$$$ $$$$$$, $$$$$$$$$ $$$$$$ $ $$$$$$ $$$$$$$, $$$ $$$$$$$$$$$$ $$$$$$$ $$$$$$$$ $$$$$$ $$$$$$$$$ $$$ $$$$$$$$$$ $$$$$$$$$$$$$$ $$$$$$$$.

$$$$$$$ $$$$$ $$$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$ $ $$$$$$$ $$$$$$$$$$ $$$$$$$$, $$$$$ $$$$$$$ $$$$$, $$$ $$$$$$ $$$$$$$$$$ $$$$$$$$ $$$$$$$$$$$$ $$$$$$ $$$$$$$$$$$$$$ $$$$$$$ $$$$$$$$$$ $$$$$$$$$$$$$$ $$$$$$. $$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$ $$$$ $$$$$$$$$, $$$$$$$$ $$$$, $$$$$ $$$$ $ $$$$$$$$. $$$ $$ $$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$ $$$$$$ $$$$$$$$$$, $$$$$ $$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$$ $ $$$$$$$$, $$$$$$$$$$$$$$ $$$$$$$$ $ $$$$$$$$ $$$$$$$$$$$$. $ $$$$$$ $$$$$$ $$$$$$$$$$ $$$$$$$$$$$ $$$$$$, $$$$$$$$$$$$$$ $$$$$$$$ $ $$$$$$ $$$$$$ $$$$$$$$$ $$$$$$$ $$$$$$$$$$ [$$].

$ $$$$$, $$$$$$$$$$$$$ $$$$$$ $$$$$$$$$$ $$$$$$$$ $$$$$$ $$$ $$$$$$$$$$ $$$$$$$ $$$$$$$$$$ $$$$$$$$$$$$$$ $$$$$$. $$$$$$$$$$ $$$$$$ $$$$$ $$$$$$$$$$ $$ $$$$$$$$$$$$ $$$$$$$$$$ $$$$ $$$$$$$ $ $$ $$$$$$$$$$$$$$$$$ $$$$$$$$$$$. $$$$$$$$ $$$ $$$$$$$, $ $$$$$$ $$$$$$ $$$$$$ $$$$$ $$$$$$$$$$ $$$$$$ $$$$$$$ $ $$$$$$$$$$ $$$$$$$$$$, $$$ $$$$$$$$ $$$$$$$$$$ $$$$$$$ $$$$$$$$ $$$$$$$$$$$$ $ $$$$$$$$$ $$$$$$$ $$$$$$ [$$].

Сборка аппаратной части и настройка схемы электропитания

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

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

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

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

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

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

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

Настройка схемы электропитания является критически важным этапом, поскольку от качества электропитания зависит стабильность работы всех компонентов системы. Основным источником питания является литий-полимерный аккумулятор напряжением 11.1 В. Для защиты аккумулятора от глубокого разряда используется плата защиты BMS, которая отключает нагрузку при снижении напряжения ниже 9.6 В.

Для питания микроконтроллера и датчиков используется линейный стабилизатор LM1117-3.3, который преобразует напряжение 11.1 В в стабилизированное напряжение 3.3 В. Стабилизатор установлен на небольшом радиаторе, так как при максимальном токе потребления (около 300 мА) на нем рассеивается мощность около 2.5 Вт. На входе и выходе стабилизатора установлены керамические конденсаторы емкостью 10 мкФ для подавления высокочастотных $$$$$.

$$$ $$$$$$$ $$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$ $$$$$$$$$$$$$$$ $$ $$$$$$$$ $$$$$$$. $$$ $$$$$$$$ $$$$$$$$$ $$$$$$$$$$ $$$ $$$$$$ $$$$$$$$$$ $$$$$$$$ $$ $$$$ $$$$$$$ $$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$ $$$$$$$$ $$$$ $$$. $$$ $$$$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$ $$$$, $$$$$$$$$$$ $$$ $$$$$$$$$$ $$$$$$$$$$.

$$$$$$ $$$$$$$$$ $$$$$ $$$$$$$$$$$$$$ $$$$$$$$ $$$$$$ $$$$$$$ $$$ $$$$$$$$$$$$$ $$$$$$. $$$$$$$$$ $$$$$$$ $$$$$$$$$$$$ $ $$$$$$$ $$ $$$$ $$$$$$$, $$$ $$$$$$$ $$$$$$$$$$$$$$ $$$$$ $$$$$$$$$$$$$$ $$-$$$$$$, $$$$$$$$$ $$ $$$$$$$$$$$ $$$$$$ $ $$$$$$$$$$$$$ $$$$$$$$$$$$. $$$ $$$$$$$$$ $$$$$$$$$$$ $$$$$$$ $$$$$$$ $$$$$$$$$$$$$$$ $$$$$, $$$$$$$$$$$ $$ $$$$$$$ $$$$$.

$$$$$ $$$$$$$ $$$$ $$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$ $$$$$ $$$$$$$$$$$$$$. $ $$$$$$$ $$$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$ $ $$$$$$$$$$$ $$$$$$: $$$$$$$$$$ $$$$$$$$$$$$, $$$$$$$$$$ $$ $$$$$$ $$$$$$$$$$$$$ $.$ $, $$$$$$$$$$ $$$$$$$ $$$$$$$$$. $$$ $$$$$$$$$$ $$$$$$$$ $$$$$$ $$$$$$$$$$$$$$$ $$$$$$$$$$$ $ $$$$$$$$$$$ $$ $$$$$ $%.

$$$ $$$$$$$$ $$$$$$$$$$ $$$$$$$$ $$$$$$$$$ $$$$$$$$$$$$ $$$$$ $$$$$$$$$ $$$$$$$$$$$. $$$$$$$$$$$ $$$ $$$$$$$ $$$$ $$ $$$$$$$ $$$$$$$$$ $$ $$$$$$ $ $$$$$ $$$$$. $$$$$$ $$$$$$$$ $$$$$$$$$ $$$$$ $$$$$$$ $$$$$$$$$$$$$$$$, $$$$$$$$$ $$$$$$$$ $$$$$$$$$ $ $$$$ $$$$$ $$$$$ $$$$$$$$ $ $$$$$$ $$ $$$$$ $$$$$$$$$$$$$$ $$$$$$$$$$.

$$$$$ $$$$$$$$ $$$$$$$$ $$$$$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$ $$$$$$$$$ $$$$$$$. $$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$, $$$$$$$ $$$$$$$$$ $$$$$$ $$$$$$$$$$$$$ $$$$$$$$$ $ $$$$$$$ $$$$$$$$$$$. $$$$$$$$ $$$$$$$ $$$$$$$$$$ $$$$$$$$$$$$$$$ $ $$$$$$$$$$ $$$$$$ $$$$$$$$$$$$$$$$ $ $$$$$ $$$$$$$$$$$$$$.

$ $$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$, $$$ $$$ $$$$$$ $$$$$$$$$$ $$$$$ $$$$$$$$$$ $$$$$$$ $$$$$$$$ $$$$$$$$$$$$ $$$$$$$$ $$$$$$$$ $$ $$$$$$$$$$ $$$$$$$$. $ $$$$$$ $$$$$$ $$$$$$$$$$$$ $$$$$$ $$$$$$$$$$ $$ $$$$$$$$$$$$$$ $$$$$$$$$ $$ $$$$$$$$$$$ $$$$$$$$$$$, $$$$$$$ $$$$$$$$$$ $$$$$$$$$$$$$$$ $$$$$$$$, $$$$$$$$$$$$ $$ $$$$$$$$$$ $$$$$ $$$$$$ [$$].

$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$ $ $$$$$$$$ $$$$$$$$. $ $$$$$$$ $$$$$$$$ $$$$$$$$$ $$$$$$$$$$$ $$$$$$ $$$$$$ $ $$$$$$$$$$$$$ $$$$$$ $$$$$$$ $ $$$$$$$$$ $$$$$$ $$ $$$$$$$$$$ $$$. $$$$$$ $$$$$$$$$ $$ $$$$$$$$$ $$$$$ $$$$$$$$$$$$$$$$ $$$$ $ $$$$$$$$$$$$$ $$ $$$$$$$ $$$$$$$$$$$$. $$$ $$$$$$$$$$$ $$$$$$ $$$$$$$$$$$ $$$$$$$$ $$$$$ $ $$$$$$$$$$$$ $$$$$$$$$$$.

$$$$$$ $$$$$$$$ $$$$$$$$$ $$$$$$$$ $$$$$$$$$. $$$ $$$$$$$$ $$$$$ $$$$$$$ $$$$$$$$$ $$$$$$$$$ $$$$$$ $$$$$$ $$$$$$$$$$, $$$ $$$$$$$$$ $ $$$$$$$. $$$ $$$$$$$$$$$ $$$$$$$$ $$$$$$$$$ $$$$$$$$$$$ $$$$$$$$ $$$$$$$$$$ $, $$$ $$$$$$$$$$$$$, $$$$$$$$$$$$$ $$$$$$$ $$$$$$$$$$$ $$$$$$$$$$$$$.

$$$$$ $$$$$$$$ $$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$ $ $$$$$$$$ $$$$$$$$$ $$$$$$$$$$. $ $$$$$$$ $$$$$$$$ $$$$$$$$$ $$ $$$$$$$$$ $$$$$$$$ $$$$$$$$$ $$$$$$$$$$, $ $$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$. $$$$$ $$$$$$$$$, $$$ $$$ $$$$$$$$$ $$$$$$$$$ $ $$$$$ $$$$$$$$$$$ $$$ $$$$$$ $$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$. $$$ $$$$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$ $$$$$$$$$$$$$$ $$$$$ $$$$$$$$$$$$ $$$$$$$$ $$ $$$$$$$$.

$ $$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$$$$ $$$$$ $$$$$$$$$ $$$$$$$$ $$$$$$$ $$$ $$$$$$$$$ $$$$$ $$$$$$$ $$$$$$$. $$$ $$$$$ $$$$$ $$$$$$$$$$$$$$$ $$ $$$$$$$$$, $$$$$$$$$$$ $$$$$$$$ $$$$ $$$$$$$, $ $$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$ $$$$$$$$$$$$$ $$$$$$. $$$$$$ $$$$$$ $$$$$$$$$$$$$$$ $$$$$$$$$$$$ $$$$ $$$$$$$ $ $$$$$$$$$$$$ $$ $$$$$ $-$ $$$$$$$$ [$$].

$$$$$ $$$$$$$, $$$$$$ $$$$$$$$$$ $$$$$ $ $$$$$$$$$ $$$$$ $$$$$$$$$$$$$$ $$$$$$$$ $$$$$$$$$$ $$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$$$$$ $$$$$$. $$$$$$$$$$$$ $$$$$$$$$$ $$$$ $$$$$$ $$$$$$$$$$$$ $$$$$$$$ $$$$$$ $$$$ $$$$$$$$$$$ $$$$$$$ $ $$$$$$$ $$$$$$ $$$ $$$$$$$$$$$ $$$$$$$$$$ $ $$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$. $ $$$$$$$$$$ $$$$$$$$$$$ $$$$$ $$$ $$$$$$ $$$$$$$$$$$ $$$$$ $$$$$$$$$$$$$$ $$$$$$, $$$$$$$ $ $$$$$$$$$$ $$$$$$$$$$$$$$$$$ $$$$$$$$$$$$ [$$].

Продолжая описание сборки аппаратной части и настройки схемы электропитания, необходимо более детально рассмотреть вопросы, связанные с обеспечением электромагнитной совместимости и защитой от помех. Одним из ключевых аспектов является правильная разводка силовых и сигнальных цепей на печатной плате. В данной работе используется двухслойная печатная плата, на которой силовые цепи (питание двигателей) расположены на нижнем слое, а сигнальные цепи (датчики, микроконтроллер) — на верхнем. Такое разделение позволяет минимизировать взаимное влияние цепей.

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

Важным элементом является также выбор типа проводов для соединения компонентов. Для силовых цепей используются провода сечением 0.75 мм², что обеспечивает низкое сопротивление и минимальное падение напряжения при токах до 5 А. Для сигнальных цепей используются экранированные провода сечением 0.2 мм², экран которых подключается к общему проводу с одной стороны для предотвращения образования паразитных контуров.

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

После завершения монтажа всех компонентов производится настройка схемы электропитания под нагрузкой. Для этого на двигатели подается номинальное напряжение, и измеряется падение напряжения на различных участках цепи. Особое внимание уделяется падению напряжения на соединительных проводах и контактах разъемов. При обнаружении значительного падения напряжения (более 0.5 В) производится замена проводов на большее сечение или улучшение контактов.

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

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

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

В российских публикациях рекомендуется также проводить проверку работы системы при пониженном напряжении питания. Для этого аккумулятор разряжается до напряжения 10 В, и проверяется, сохраняет ли система $$$$$$$$$$$$$$$$$. $$$ $$$$$$$$ напряжения $$$$ $.$ В $$$$$ $$$$$$ $$$ $$$$$$ $$$$$$$$$ $$$$$$$$, $$$$$$$$$$$$ $$$$$$$$ $$$$$$ $$$$$$$$$$$$.

$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$ $$$$$$ $$$$$$$$$$ $$$$$$$$$$$. $$$$$$$$ $$$$$$$$$$ $$$$$$$ $$$ $$$$$$$$$$ $$$$$$ $$$$$ $$$$$$$$$$$ $$ $$$$$$$$$$$ $$-$$ $$$$$$$$ $$$$$$$. $$$ $$$$$$ $$$$$ $$$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$, $$$$$$$$$$$$$ $$ $$$$$$$ $$$$$$$$$. $$$$$$$$$$$$$$ $$$$$$$$$ $ $$$$$$$ $$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$ $$$$$$$.

$$$$$$$$$$$$$ $$$$$ $$$$$$ $$$$$$$$$$$$$$$$ $$$$$ $$$$$$$$$$$$$$. $$$$$$$$$$$$$ $$$$$ $$$$$$$$$$ $$$$$$ $$$$$$$$$$$, $$$$$$ $ $$$$$$$$ $$$$$$$$$$$ $ $$$$$$$$ $$$$$$. $$$ $$$$$$$$$$ $$$$$$$$$$$ $$ $$$$$$$$ $$$$$$$ $$$$$$$$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$ $$$$$$$$ $$$$$$$ $$$ $$$$$$$$$$$$$$ $$$$$$$$$. $ $$$$ $$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$$$$$$$ $$ $$$$$$$$$ $$ $$$$$$$$ $$$$$$$.

$$$$$$ $$$$$$ $$$$$$$$ $$$$$ $$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$ $$$$$$$$$$$. $$$$$ $$$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$ $$$$$ $$$ $$$$$$$$$$$$ $ $$$$$$$$$ $$$$$$$$$$$$. $$$ $$$$ $$ $$$$$$ $$$$$$$$$$$ $$$$$$$$$$ $$$$$$$$ $$$$$$$$$$ $$$ $$$$$$$$ $$$$$$$$$$$. $$$ $$$$$$$$ $$$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$$$$$ $ $$$$$$$ $$$$$$$$$$ $$$$$$$$$.

$$$$$ $$$$$$$$$$ $$$$ $$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$$$ $$$$$$ $$$$$$. $$$$$$ $$$$$$$$$$$ $$$$$$$ $$$$$$$, $$$$$$$ $$$$$$$$ $$$$$$$. $$ $$$$$$ $$$$$$$$$$ $$$$$$$$$$$ $$$$$$$ $ $$$$$$$$$$$$ $$$$$$$$$ $$$$$$$$$. $$$$$ $$$$$ $ $$$$$$$$$$ $$$$$$$$ $$$$$$$$$.

$ $$$$$$$$ $$$$$$ $$$$ $$$$$$$$ $ $$$$$$$$$ $$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$$$$$ $$$$$$$$$$$: $$$$$$$$$$$$$ $$$$$$$$$ $$$$$$$$$ $$$$$$$$$$$$$ $$$$$$, $$$ $$$$$$$$$ $ $$$$$$$$$$$$$$ $$$$$$$$$; $$$$$$$$$$$$$ $$$$$$$ $$$$$$$$ $$$$$$$ $$$$$$$$$$, $$$ $$$$$$$$ $$$$$$$ $$$$$$$$$$ $$$ $$$$$$$ $$$$$$$$$; $$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$$$$ $$ $$$$ $$$$$$$ $$$$$$$$, $$$ $$$$$$$$$ $ $$$$$$$$$ $$$$$.

$$$$$ $$$$$$$$$$ $$$$ $$$$$$$$$$$ $$$$$$$ $$$$$$$$$$$$$$$$$$ $$$$$$$$$$ $$$$$$ $$ $$$$ $$$$$$$. $$$$$$$$$$$$ $$$ $ $$$$$$ $$$$$$$$$$$$ $$$$$$$$ $$$$$ $.$ $, $$$ $$$$$$$$$$$$ $$$$$ $$$$$$$$$$ $$$$$$ $$$$$ $.$ $$$$$ $$$ $$$$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$ $$$$ $$·$. $ $$$$$$ $$$$$$$$$ $$$$$$$$$$$$$$ $$$$$$$$$$$$ $$$ $$$$$$$$$$ $$ $-$ $, $$$$$$$$$$$$$$ $$$$$ $$$$$$ $$$$$$$$$$$ $$ $$-$$ $$$$$.

$$$$$ $$$$$$$, $$$$$$ $$$$$$$$$$ $$$$$ $ $$$$$$$$$ $$$$$ $$$$$$$$$$$$$$ $$$$$$$$$ $$$$$$$ $$$$$$$$ $ $$$$$$$$$$$$$$$ $$$$$$$, $$$$$$$ $ $$$$$$$$$$ $$$$$$$$$$$$$$$$$ $$$$$$$$$$$$. $$$ $$$$$$$$$$ $$$$$$$$ $ $$$$$$$ $$$$$$$, $$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$ $$$$$$$$$ $ $$$$$$$$$$$$$$ $$$$$$$$$$.

$$$$$$$ $$$$$ $$$$$$$$$$$$ $$$$$$ $$$$$$$$$$ $$$$$ $ $$$$$$$$$ $$$$$ $$$$$$$$$$$$$$, $$$$$ $$$$$$$ $$$$$, $$$ $$$$$$$$$$$$ $$$$$$$$$$ $$$$$$$ $$$$$ $$$$$$$$ $$$$$$$$$$$ $$$$$$$$ $$$ $$$$$$$$ $$$$$$$$$$ $$$$$$$$$$$$$$ $$$$$$. $$$$$$$$$$ $$$$$ $$$$$$$$$$$, $$$$$$$$$$ $$$$$$ $ $$$$$$$$$$ $$$$$$$$$ $$$$$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$ $$$$$$ $$$$$$$ $ $$$$$$$ $$$$$$ $$$ $$$$$$$$$$$ $$$$$$$$$$ $ $$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$ [$$]. $ $$$$$$$$$$ $$$$$$$$$$$ $$$$$ $$$ $$$$$$ $$$$$$$$$$$ $$$$$, $$$$$$$ $ $$$$$$$$$$ $$$$$$$$ $$$$$$$$$, $$$ $$$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$ $$$$$$$$$ $$$$$$$ [$$].

Разработка и отладка программного обеспечения для стабилизации

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

Программное обеспечение разрабатывалось в среде STM32CubeIDE с использованием библиотеки HAL (Hardware Abstraction Layer). Выбор данной среды обусловлен ее широкими возможностями, поддержкой всех периферийных модулей микроконтроллера и наличием встроенных средств отладки. Структура прошивки организована по модульному принципу, что обеспечивает удобство разработки, тестирования и модификации отдельных компонентов.

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

Модуль инициализации выполняет настройку тактовой системы микроконтроллера, периферийных модулей (таймеры, АЦП, интерфейсы I2C, UART) и выводов общего назначения. Тактовая частота микроконтроллера установлена на 168 МГц, что обеспечивает достаточную производительность для выполнения всех задач в реальном времени. Настройка периферии выполняется с использованием конфигуратора CubeMX, который генерирует код инициализации.

Модуль сбора данных реализует чтение показаний с инерциального модуля MPU6050 и энкодеров AS5600 по интерфейсу I2C. Для обеспечения синхронизации измерений используется прерывание от таймера TIM3 с частотой 1 кГц. По каждому прерыванию выполняется последовательное чтение данных со всех датчиков. Для повышения надежности чтения используется механизм повторных попыток при ошибках передачи.

Особое внимание уделено реализации чтения данных с MPU6050. Данный модуль может работать в различных режимах, включая режим с использованием встроенного процессора цифровой обработки (DMP). В данной работе используется режим прямого чтения регистров акселерометра и гироскопа, что обеспечивает более низкую задержку и полный контроль над обработкой данных. Частота обновления данных акселерометра установлена на 1 кГц, гироскопа — на 8 кГц, с последующим усреднением до 1 кГц.

Модуль фильтрации выполняет предварительную обработку сырых данных. Для акселерометра и гироскопа применяется цифровой фильтр Баттерворта второго порядка с частотой среза 20 Гц. Реализация фильтра выполнена в виде рекурсивного алгоритма, что обеспечивает минимальные вычислительные затраты. Для энкодеров используется медианный фильтр с окном в 5 отсчетов, который эффективно удаляет случайные выбросы.

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

Реализация фильтра Калмана выполнена с использованием библиотеки матричных операций, разработанной специально для данного проекта. Матрицы имеют размерность 4x4 и 4x1, что позволяет выполнять все необходимые операции (умножение, транспонирование, обращение) с минимальными вычислительными затратами. Для обращения матрицы используется $$$$$ $$$$$$-$$$$$$$.

$$$$$$ $$$$$$$$$$ $$$$$$$$$ $$$-$$$$$$$$$, $$$$$$$$$$$$ $$$$$$$$ $$$$ $$$$$$$$$$ $$ $$$$$$ $$$$$$$$$$$$$$ $$$$$$ $$$$$$$. $$$$$$$$$$$ $$$$$$ $$$$$$$$$$$ $$$ $$$$$$$$ $$$$$$$$$$ $$$$$$ $$$$$$$$$$ $$$$$$$$$ $ $$$$$$$$ $$$$$$$$$$$$$$, $$$$$$$$$$$ $ $$$$$$$$$$ $$$$$$$ $$$$$$$$$ $$$$$$$. $$$ $$$$$ $$$$$$$$$$$ $$ $$$$$$$$$$$ $$$$$$ $$$$$$$$$$$$ $$$$$$$$$ ($$$$$$$$) $$$$$$$$$ $$$$$$$$.

$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$ $ $$$-$$$$$$$ $$$ $$$$$$$$$ $$$$$$$$$$. $$$ $$$$$ $$$$$$$$$$$$ $$$$$$$ $$$$ $ $$$$, $$$$$$$ $$$$$$$$$$ $$$-$$$$$$$ $ $$$$$$$$ $$ $$$. $$$$$$$$$$ $$$-$$$$$$$$ $$$$$$$$$$$$$$ $$ $$$$$$ $$$$$$$$$$ $$$$$$$$$$ $ $$$$$$$$$$ $$$$$$$ $$$$$$$$$$.

$$$$$$ $$$$$ $$$$$$$$$$$$ $$$$$$$$ $$$$$$ $$ $$$$$$$$$ $$$ $$$$$$$$$$$ $ $$$$$$$. $$$$$$$$$$$$ $$$$$$$$$ $$$$ $ $$$$$$$$$ $$$$$$ $$$/$. $$ $$$$$$$$$ $$$$$$$$$$ $$$$$$$ $$$$$$$$ $$$$ $$$$$$$$$$, $$$$$$$ $$$$$$$$, $$$$$$$$$, $$$$$$$$, $$$$$$$$$$$$ $$$$$$$ $ $$$$$$$$$ $$$$$$$. $$$$$$ $$$$$$ — $$$$$$$$$, $ $$$$$$$$$$$ $$$$$$$$ $$$$$$$$, $$$ $$$$$$$$$ $$$$$ $$$$$$$$$$$$$ $$$$$$ $ $$$$$$ $$$ $$$$$ $$$ $$$$$$$.

$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$$ $ $$$$$$$$$ $$$$$$. $$ $$$$$$ $$$$$ $$$$$$$$$$$ $$$$$$$ $$$$$$$$$ $$$$$$$ $ $$$$$$$$$$$$$$ $$$$$$$$ $$$$$$$$. $$$ $$$$$$$ $$$$$$ $$$$$$$$$$$$$$$ $$$$$$$$ $$$$$$$$, $$$$$$$ $$$$$$$$$ $$$ $$$$$$ $ $$$$$$$$$ $$$$$$$. $$$$$$$$, $$$ $$$$$$ $$$$$ $$$$$$ $$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$ $$$$$$$$$ $$$$$$$$ $$$ $$$$$$$$$ $$$$$ $$$$$$$ $$$$$$.

$$ $$$$$$ $$$$$ $$$$$$$$$$$ $$$$$$$$$$ $$$$$$$ $ $$$$$$$ $$ $$$$$$$$$$$$$$. $$$$$$ $$$$$$$$ $$$$$$$$$ $$$$$$$$$$$$$ $$$$$$ $$$$$$$ $ $$$$$$$$$$ $$$$$$$$$$ $$$ $$$$$$$ $ $$$$$ $$$$$$$$ ($$$$$$$$, $ $$$$ $$$). $$$ $$$$$$$ $$$$$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$, $$$$$$$ $$$$$$$$$$$$$$$ $ $$$$$$$$$ $$$$$$$ $$$$$$.

$$ $$$$$$$ $$$$$ $$$$$$$$$$$ $$$$$$$$$ $$$$$$$$$$ $$$$$$$ $$$$$$$ $ $$$-$$$$$$$$$$. $$$ $$$$$ $$$$$ $$$$$$$$$$$$$$ $$ $$$$$$$$$$$ $$$$$$$$$, $ $$$$$$$$$$$$ $$$$$$ $ $$$$$$$$ $ $$$$$$$$ $$$$$$$ $$$$$$$$$$. $$$$$ $$$$$$$ $$$$ $$$$$$ $$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$ $$$$$$$ $$$$$$$ $$$$$$$ $ $$$$$$$ $$$$$$$$$$$$ $$$-$$$$$$$$$$.

$ $$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$, $$$ $$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$ $$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$, $$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$$$$ $$$$$$ "$$$$$$$$$-$$$$$$$$$$$$" [$$]. $ $$$$$$ $$$$$$ $$$$ $$$$$$$$$ $$ $$$$$$$$ $$$$$$$$$, $$$$$ $$$$ $$$$ $$$$$$$$$$ $$$$$$$$$$$$$$$$$$ $$$$$$$$ $$$$$$$$$$$$.

$$$$$$ $$$$$$$$ $$$$$$$$$ $$$$$$$ $$$$$$ $$$$$$$ $ $$$$$$$$ $$$$$$$. $$$ $$$$$ $$$$$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$, $$$$$$$ $$$$$$$$ $$$$$$$$ $$$$$$$$$ $$$$$$$$$ $$$$$$$$ $$ $$$$$$$ $$$$$$$$$$$$$$$$. $$$$ $$$$$$$$$$$, $$$ $$$$$ $$$$$$$$$$ $$$$$$$$$ $$$$$ $$$$$$$$$$ $$$$$$$$$$ $$$$$ $.$ $$, $$$ $$$$$$$$$$$ $$$$$$ $$$$$$$ $$$$$$$$$$$$$ ($ $$). $$$ $$$$$$$$$$$$ $$$$$$$$$$$ $$$$$ $$$$$$$$$$$$$$$$$$.

$$$ $$$$$$$ $$$$$$$$$$ $$$$$$$$$$ $ $$$$$$$$$$ $$$$$$$$$$$$$ $$$$$ $$$$$ $$$$$$$$$, $$$ $$$$$$$ $$$$$$ $ $$$$$$$$ $$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$. $$$ $$$$$$$$$ $$$$$$$$$ $$$$$$ $$$$$$$$$$ $ $$$$$$$$$ $$$$$$$, $$$$$$$ $$$$$$$$$ $$$$$$$$, $$$ $$$$$ $$$$$$$$$$$ $$$$$$.

$$$$$ $$$$$$$, $$$$$$$$$$ $ $$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$ $$$$$$$$$$$ $$$ $$$$$$$$$$$ $$$$$$$$$ $$$$$$$$$$ $ $$$$$$$$$$ $$ $$$$$$$$$$$$$$$$ $$$$$$$$$$$$$. $$$$$$$$$$$ $$$$$$$$$$$ $$$$$ $$$$$$$$$ $$$$$$$$$, $$$ $$$$$$$$$$$$ $$$$$$$$ $$$ $$$$$$$$$$$ $ $$$$$$$$$$. $ $$$$$$$$$$ $$$$$$$ $$$$ $$$$$$$$$$ $$$$$$$$$ $$$$$$$$$$$$$$ $$$$$$$$$$$$$$ $ $$$$$$$$, $$$ $$$$$$$$$ $$$$$$$ $ $$$$$ $$$$$$$$ $$$$$$$$$ [$$].

Продолжая описание разработки и отладки программного обеспечения, необходимо более детально рассмотреть вопросы оптимизации вычислительных алгоритмов и обеспечения отказоустойчивости. Одним из ключевых аспектов является оптимизация реализации фильтра Калмана для работы в реальном времени. Как уже отмечалось, фильтр Калмана требует выполнения операций с матрицами размерности 4x4, что при частоте обновления 1 кГц может создавать значительную вычислительную нагрузку. Для снижения этой нагрузки были применены следующие оптимизации: использование типа данных float (32 бита) вместо double (64 бита), предварительное вычисление постоянных матриц, использование симметрии матриц для сокращения количества операций.

Особое внимание было уделено реализации процедуры обращения матрицы. В фильтре Калмана требуется обращение матрицы размерности 2x2 (инновационная ковариация), что может быть выполнено аналитически без использования общих методов обращения. Это позволило существенно сократить время выполнения фильтра. В результате оптимизации время выполнения одной итерации фильтра Калмана составило около 0.05 мс, что значительно меньше периода дискретизации.

Важным аспектом является также реализация алгоритма управления с учетом ограничений на управляющий сигнал. LQR-регулятор, как линейный регулятор, не учитывает ограничения на максимальное напряжение, которое может быть подано на двигатели. Для учета этих ограничений используется насыщение выходного сигнала регулятора. Однако простое насыщение может привести к эффекту "windup", когда интегральная составляющая регулятора (если она есть) продолжает накапливаться, несмотря на ограничение выхода.

Для предотвращения эффекта "windup" в данной работе используется метод условного интегрирования (conditional integration), при котором интегральная составляющая обновляется только тогда, когда управляющий сигнал находится в допустимых пределах. Поскольку в LQR-регуляторе нет явной интегральной составляющей, проблема "windup" не возникает. Однако для компенсации статической ошибки, которая может возникнуть из-за неточности модели, в систему добавлен внешний интегральный контур, который корректирует задающее воздействие на угол наклона.

Реализация внешнего интегрального контура выполнена в виде отдельного модуля, который работает на частоте 10 Гц. Это позволяет компенсировать медленные дрейфы, не влияя на быстродействие основного контура стабилизации. Коэффициент интегральной составляющей выбран таким образом, чтобы постоянная времени компенсации составляла около 5 секунд, что обеспечивает устойчивость системы.

Отдельного рассмотрения заслуживает реализация алгоритма обнаружения и обработки аварийных ситуаций. В программном обеспечении предусмотрены следующие аварийные ситуации: потеря связи с датчиками (отсутствие данных в течение 10 мс), выход угла отклонения за допустимые пределы (более 30 градусов), критическое снижение напряжения аккумулятора (менее 9.6 В), перегрузка двигателей (превышение тока более 5 А).

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

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

Реализация калибровки включает следующие этапы: сбор данных в течение 5 секунд (5000 отсчетов), вычисление среднего значения для каждой оси акселерометра и гироскопа, вычисление смещения нуля как разности между средним значением и ожидаемым значением (0 для гироскопа, 1g для вертикальной оси акселерометра), сохранение калибровочных коэффициентов в энергонезависимой памяти микроконтроллера.

Для проверки корректности калибровки выполняется анализ полученных данных. Если среднеквадратичное отклонение отсчетов превышает заданный порог (0.1 градуса для гироскопа, 0.01g для акселерометра), калибровка считается неудачной и повторяется. После трех неудачных попыток система переходит в аварийный режим с соответствующим кодом ошибки.

Еще одним важным аспектом является реализация интерфейса пользователя для управления роботом. Для связи с пультом дистанционного управления используется Bluetooth-модуль HC-05, который подключается к микроконтроллеру по интерфейсу UART. Протокол связи основан на передаче текстовых команд, что упрощает отладку и позволяет управлять роботом с $$$$$$ $$$$$$$$$$, $$$$$$$$$$$$$$$ Bluetooth.

$$$$$$$ $$$$$$$$$$ $$$$$$$$: $$$$$$$ $$$$$$$$ $$$$$$$$ ($$$$$$/$$$$$), $$$$$$$ $$$$$$$ $$$$$$$$ ($$$$$$$ $$$$$/$$$$$$), $$$$$$$$$, $$$$$$$$$$$$ $$$$$$$ ($$$$$$$$$$$$/$$$$$$$$). $$$$$$ $$$$$$$ $$$$$ $$$$$$$$$$$$$ $$$$$$ $ $$$$$$$$$$$ $$$$$ $$$ $$$$$$$$ $$$$$$$$$$$ $$$$$$. $$$ $$$$$$$$$ $$$$$$$ $$$$$$$$$$$$$$$ $$$$$$$$$ $$$$$$$$$$$ $$$$$ $, $ $$$$$$ $$$$$$, $$$$$$$$$$ $$$$$$$.

$$$$$$$$$$ $$$$$$ $$$$$$ $$$$$$$$$ $ $$$$$$$$$$$$$$ $$$$$$$$$$ $$ $$$$, $$$ $$$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$ $$$$$$. $$$$$$$$ $$$$$$$ $$$$$$$$$$ $ $$$$$$$$$ $$$$$, $$$$$$ $$$ $$$$$$$$$$$ $$$$$$$$ $$$$$$ $$$$$$$$$$. $$$ $$$$$$$$$ $$$$$$$$ $$$$$$ $$$$$$ $$$ $$$$$$$ $$$$$$$ $$ $$$$$$$$$$$.

$ $$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$, $$$ $$$$$$ $$$$$$$$ $$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$ $$$$$$$$$ $$$$$$$$$$$$$. $$$ $$$$$ $$$ $$$$$$$$$$$ $$ $$$$$$$ $$$$$$$$ ($$$$ $$$$$$, $$$$$$$$$$, $$$$$$$$$$) $$$$$$$$$$$ $ $$$$$$$$$$ $$ $$$$$$$, $$$$$$$ $$$$$ $$$$$$$$$ $$$$$$$$$. $$$$$$$$, $$ $$$$$$$$$ $$ $$$$$$$ ($$$$$, $$$$$$$$$$), $$$$$$$$$$$ $ $$$$$$$$ $$$$$ [$$].

$$$ $$$$$$$$ $$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$ $$$$$$, $$$$$$$ $$$$$$$$ $$$$$ $$$$$$$$$$ $$$$$$ $$$$$$$$ $$$$$$$$$ $$$$$. $$$$ $$$$$ $$$$$$$$$$ $$$$$$$$$ $$$$$$$$ $$$$$ ($.$ $$), $$$$$$$ $$$$$$$$$ $ $$$$$$$$$ $$$$$. $ $$$$ $$$$$$$$$ $$$$$$$$$$$$ $$$$$ $$$$$$$$$$ $$$$$$$$$ $.$ $$, $$$ $$$$$$$$$$$ $$$$$$ $$$$$$$$$$ $$$$$$$$.

$$$$$$$$$$ $$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$$$$$$$$ $$$$$$$. $$$ $$$$$$$$$$ $$$$$$$$ $ $$$$$$$ $$ $$$$$$ $$$$$$$ $$$$$$$$$ $ $$$$$ $$$$$$$$$$$ $$$$$$$$$$$$$$$$$, $$$ $$$$$$$ $$$$$$$ $$$$$$$$$$$$$ $$$$$$$$$ $$ $$$ $$, $ $$$$$$$$$ $$$$$$$$ $ $$$$$$$$$$ $$$$$$$$$$$. $$$ $$$$$$$$$ $$$$$$$ $$$$$$$$ $$$$$$$ $$$$$$$$$$$$ $ $$$$$$$$$$ $$$$$.

$$$$$$$$$$ $$$$$$$$$$$$$$$$$ $$$$$$$ $$$$$$$$$ $$$$$$$$$ $$$$$ $$$$$$$$$$ $$$$$$ $$$$$$ $$$$$$$$ $$ $$% $ $$$$$$ $$$$$$$$. $ $$$$$$ $$$$$$$$$ $$$$$$$$ $$$$$$$$$$$$$$$$ $$ $$$$$$$$$$$, $$$$$ $$ $$$$$$$ $$$$$$$$ $$$$$$$$$$.

$$$$$$ $$$$$$ $$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$ $$$$ $$$$$$$$$$$$ $$$$$$$ $ $$$$$$$$$ $$$$$$$ $$$$$$. $$$ $$$$$ $$$$ $$$$$$$$$$$ $$$$$$$$$$$$$$$$$$ $$$$$, $$$$$$$ $$$$$$$$$ $$$$$$ $$$$$$$ $$$$$$ $ $$$$$$$$$$$ $ $$$$$$$ $ $$$$$. $$$$$ $$$$$$$$: $$$$$$$$ $$$$$$$$$$$$ $$$$$$ $$$$$$ $ $$$$$$$$, $$$$$$$$ $$$$$$ $$$$$$$ $$$$$$$ $$ $$$$$$$$$ $$$$$$, $$$$$$$$ $$$$$$ $$$$$$$$$$ $$ $$$$$$$$$ $$$$$$, $$$$$$$$ $$$$$$$$$ $$$$$$$$$ $$$$$$$$, $$$$$$$$ $$$$$$ $$$$$$$$$$ $$$$$.

$$$ $$$$$$$$$$ $$$$$$ $$$$$$$$$$$$$ $$$$$, $$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$ $$$$$$ $$$$$$ $$$$$$. $$$$$$$$, $$$ $$$$$$$$ $$$$$$ $$$$$$$$$$ $$$$$$$$$$$$$$ $$$$$$ $$$$$$$, $$$$$$$$$$$$$ $$ $$$$$$$$$$, $$$$$$$ $$$$$$$$$$ $$ $$$$$$$$$$$$$$$ $$$$$$$$$ $$$$$$ $ $$$$$$$$ $ $$$$$$$$$ $$$$$$$$$$$ $$$$$$$. $$$ $$$$$$$$$ $$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$ $$$ $$$$$ $$$$$$$$$$$ $$$$$$$$$ $$$$$$.

$$$$$ $$$$$$$$$ $$$$$$$$$$$ $$$$ $$$$$$ $$$$$$$$$$$ $$$$$$$$$$$ $$$$ $$$$$$$$$ $ $$$$$$$$$$$$$$$ $ $$$$$$$$$ $$$$$$ $$$$$$$$$ $$ $$$$$$$$ $$$$$$. $$$$$$$$$ $$$$$$$$$ $$$$$$$$$$$ $ $$$$$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$, $$$$$$$ $$$$$$$$$$$$$ $$$$$$$ $$$$$$ $ $$$$$$ $$$$$$ $$$$$$$$$$$$. $$$$$ $$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$ $$$$$$$ $$$$$$$$$$$$ $$$$$$$$ $$$$ $$$$$, $ $$$$$ $$$$$ $$$$$$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$.

$$$$$ $$$$$$$, $$$$$$$$$$ $ $$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$ $$$$$$$ $$$$$$$$ $ $$$$$$$$$$$ $$$$$$$ $$$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$. $$$$$$$$$$$ $$$$$$$$$$$ $$$$$ $$$$$$$$$ $$$$$$$$$, $$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$ $$$$$$$$$ $$$$$$$$$$$$$ $ $$$$$$$$ $$$$$$$$$ $$$$$$$$$$$ $ $$$$$$$$$ $$$$$$$$$ $$$$$$$$.

$$$$$$$ $$$$$ $$$$$$$$$$$$ $$$$$$$$$$ $ $$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$, $$$$$ $$$$$$$ $$$$$, $$$ $$$$$$ $$$$ $$$$$$$$ $$$$$$$$ $$$ $$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$$$$ $$$$$$. $ $$$$$$$$$$ $$$$$$$$$$ $$$$$ $$$$ $$$$$$$$$$$ $$$ $$$$$$$$$$$ $$$$$$$$$: $$$$$$ $$$$$$$ $$$ $$$$$$ $$$$$$$$$, $$$-$$$$$$$$$ $$$ $$$$$$$$$$, $$$$$$$$$ $$$$$$$$$$ $ $$$$$$$$$ $$$$$$$$$ $$$$$$$$. $$$$$$$$$$$ $$$$$$$$$$$ $$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$$ $ $$$$$$$$$$$$$$$$$$ $$$$$$$$$$ $$$$$$ $ $$$$$$$$ $$$$$$$$ [$$]. $$$$$$$$$$$ $$$$$$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$ $$$$ $$$$$ $ $$$$$$$$ $$$$$$$ $ $$$$$$$ $$$$$$$$$$$$$$$$$$, $$$ $$$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$ $$$$$$$$$ $$$$$$$ [$$].

Проведение натурных испытаний и анализ полученных результатов

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

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

Для регистрации данных использовался модуль связи, передающий информацию на компьютер через последовательный порт. Данные записывались в текстовый файл с частотой 100 Гц, что обеспечивало достаточное временное разрешение для анализа динамических процессов. Обработка данных выполнялась в среде MATLAB с использованием стандартных методов статистического анализа.

Испытания в статическом режиме проводились на ровной горизонтальной поверхности. Робот устанавливался в вертикальное положение, после чего включалась система управления. В течение 60 секунд регистрировались параметры движения. Результаты показали, что среднеквадратичная ошибка стабилизации угла отклонения составила 0.8 градуса, а максимальное отклонение не превышало 2.5 градуса. Эти значения соответствуют требованиям, предъявляемым к балансирующим роботам данного класса.

Анализ спектра угла отклонения показал наличие двух основных частотных составляющих: низкочастотной составляющей с частотой около 0.5 Гц, связанной с дрейфом оценки угла, и высокочастотной составляющей с частотой около 10 Гц, связанной с вибрациями корпуса. Низкочастотная составляющая может быть уменьшена путем улучшения калибровки датчиков, а высокочастотная — путем использования более эффективных демпфирующих материалов.

Испытания на воздействие внешних возмущений проводились путем создания толчков различной интенсивности. Толчки наносились рукой по корпусу робота в горизонтальном направлении. Регистрировалось максимальное отклонение угла и время восстановления устойчивости. Результаты показали, что при толчках, вызывающих отклонение до 10 градусов, время восстановления составляет около 1 секунды, а при отклонениях до 20 градусов — около 2 секунд.

Важным параметром является также способность системы отрабатывать ступенчатое воздействие, имитирующее резкое изменение задающей скорости. Для этого на вход системы подавалось ступенчатое задание на скорость 0.5 м/с. Результаты показали, что перерегулирование по углу отклонения составляет около 3 градусов, а время установления — около 1.5 секунд. Эти значения свидетельствуют о хорошей динамике системы управления.

Испытания в динамическом режиме включали движение по прямой на расстояние 5 метров, поворот на 90 градусов и остановку. При движении по прямой регистрировалось отклонение от заданной траектории, которое не превышало 10 см на 5 метров $$$$. $$$$$$$ на 90 градусов $$$$$$$$$$ $ $$$$$$$ $$$$$$$$$ $$ градусов в $$$$$$$, $$$ $$$$ отклонение $$$$ $$$$$$$ не превышало $ градусов.

$$$$$$ $$$$$$$$ $$$$$$$$$ $$$$$$$$$$ $$ $$$$$$$$$ $$$$$$$$$$$. $$$$$ $$$$$$$$$$$$$$ $$ $$$$$$$$$$$ $ $$$$$ $$$$$$$ $, $$ $ $$ $$$$$$$$. $$$$$$$$$$ $$$$$$$$, $$$ $$$$$$$ $$$$$$$$$ $$$$$$$$$$$$ $$$ $$$$$ $$$$$$$ $$ $$ $$$$$$$$, $$$$$$ $$$ $$ $$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$$$$$$$$$ $$$$$$ $$ $.$ $$$$$$$ $ $$$$$$$$$ $$$$$$$$$$$$$$ $$$$$$$$$. $$$ $$$$$$ $$ $$$$$ $$$$$$ $$$$$$$ $$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$ $$$$$$$$$$.

$ $$$$ $$$$$$$$$ $$$$$ $$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$ $$$$$$$. $$$$$$$$$$$$ $$$ $ $$$$$$ $$$$$$$$$$$$ $$$$$$$$ $ $$$$$$$ $.$ $, $ $ $$$$$$ $$$$$$$$$ $$$$$$$$ — $.$ $. $$$ $$$$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$ $$$$ $$·$ $$$$$ $$$$$$$$$$ $$$$$$ $$$$$$$$$ $$$$$ $ $$$$ $ $$$$$$ $$$$$$$$$$$$ $ $$$$$ $$ $$$$$ $ $$$$$$ $$$$$$$$$ $$$$$$$$. $$$ $$$$$$$$ $$$$$$$$$$$$$ $$$$$$$$$ $ $$$$$$$$ $$$$$$$$$$$ $$$ $$$$$$$$$$$$$ $$$$$$$$$.

$$$ $$$$$$ $$$$$$$$$$$ $$$$$$$ $$$$$$$$$$$ $$$$$$$$$ $$$ $$$$$$$$$ $$$$$ $$$$$$. $$ $$$$$$ $$$$$$$$$$$$$$ $$$$$$$$$$$$$$ $$$$ $$$$$$ $.$ $$, $$$ $$$$$$$$$$$ $$$$$ $$$$$ $$ $$%. $$$$$$$$$$ $$$$$$$$, $$$ $$$$$$$ $$$$$$$$$ $$$$$$$$$$$$, $$$$$$ $$$$$$$$$$$$$$$$$$ $$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$$$ $$ $.$ $$$$$$$. $$$ $$$$$$$$$$$$$$$ $ $$$$$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$ $$$ $$$$$$$$$ $$$$$.

$ $$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$, $$$ $$$$$$ $$$$$$$$$ $$$$$$$$ $$$$$$ $$$$$$$$$$$$$$ $$$$$$ $$$$$$$$ $$$ $$$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$ $$$ $$$$$$$$ $$ $$$$$$$$$ $$$$$ $$$$$$$$$$$ [$$]. $ $$$$$$ $$$$$$ $$$$ $$$$$$$$$ $$$$$$$$$ $$ $$$$$$$ $$$$$$$$$, $$$$$$$$ $$$$$$$$ $ $$$$$$$$ $$$$. $$$$$$$$$$ $$$$$$$$, $$$ $$ $$$$$$$ $$$$$$$$$$$$ $$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$, $ $$ $$$$$$$$ $$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$ $$$$$$ $$ $$-$$% $$-$$ $$$$$$$$ $$$$$$.

$$$$$$$$$$$$$ $$$$$$ $$$$$$$$$$ $$$$$$$$$$$ $ $$$$$$$ $$ $$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$, $$$ $$$$$$$$$$$$$ $$$$$$$$$$$$$ $$$$$ $$$$$$$$$$$$$ $$$$$$$$$$$$$$, $$$$$$$$$$$$ $ $$$$$$$ $$$$$$$$$$$$$ $$$$$$$$$$$. $$$$$$$$$$$$$$$$$$ $$$$$$ $$$$$$$$$$$$ $.$ $$$$$$$ $$$$$$$$$$$$$ $$$$$$, $$$$$$$$$$$$ $ $$$$$$$ $$$$$$$ $$$$$$$$$$ $$$$$$$$$$$$$.

$$ $$$$$$ $$$$$$$ $$$$$$$$$$$ $$$$$$$$$ $$$$ $$$$$$$$$$$$$$ $$$$$$$$$$$$ $$ $$$$$$$$$$$ $$$$$$$$$$$$$$$$$ $$$$$$$. $$-$$$$$$, $$$$$$$$$$$$$ $$$$$$$$$$$$ $$$$$ $$$$$$ $$$$$$$ $ $$$$$$$ $$$$$$$ $$$$, $$$ $$$$$$$$ $$$$$$$ $$$$$$$$$$$$$$$$$$ $$$$$$ $$$$$$$$$$$$. $$-$$$$$$, $$$$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$ $$$$$$$$ $$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$, $$$$$$$ $$$$$ $$$$$$$$$$$$$ $$$$$$$$$$$$$$ $$$ $$$$$$$$$ $$$$$ $ $$$$$$$ $$$$$$$$$$$$. $-$$$$$$$, $$$$$$$$$$$$$ $$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$ $$$ $$$$$$$$ $$$$$$$$ $ $$$$$$$$$ $$$$$$$$$.

$$$$$ $$$$$$$, $$$$$$$$$$$ $$$$$$$$ $$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$ $$$$$$$$$$ $ $$$$$$$$, $$$ $$$$$$$$$$$$$ $$$$$ $$$$$$$$ $$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$ $ $$$$$$$$$ $$$$$$$$ $$$$$$$$. $$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$$$$$$ $ $$$$$$$$$$$$ $$$$$$$$ $$$$$$$$$ $$$$$$$ $ $$$$$ $$$$ $$$$$$$$$$$$ $$$ $$$$$$$$$$$ $$$$$$$$$$$$$$$$$ $$$$$$$ [$$]. $$$$$$ $$$$$$$$$$$ $$$$$$$$$ $$$$$$$$ $$$$$$$ $$$$$$$$$$$ $$$ $$$$$$$$$ $$$$$$$$$$$$$ $$$$$$, $$$$$$$ $$$$$$$$$ $$$$$$$$ $$$$$$$$$$$$ $ $$$$$$$$$$ $$$$$$$$$ $$$$$$$ $$$$$$$ [$$].

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

Важным аспектом является также оценка динамической точности фильтра Калмана при быстрых изменениях угла. Для этого робот раскачивался с частотой 2 Гц, и сравнивались измеренные и оцененные значения угла. Результаты показали, что фильтр Калмана вносит задержку около 20 мс, что приводит к фазовому сдвигу оценок. Эта задержка была учтена при настройке LQR-регулятора путем соответствующей коррекции коэффициентов.

Для оценки робастности фильтра Калмана к изменениям параметров системы проводились испытания при различной температуре окружающей среды. Робот помещался в термокамеру, и выполнялись измерения при температуре от 10 до 40 градусов Цельсия. Результаты показали, что ошибка оценки угла увеличивается на 0.1 градуса при изменении температуры на 10 градусов, что связано с температурным дрейфом датчиков. Для компенсации этого эффекта рекомендуется использовать датчики с встроенной температурной компенсацией.

Отдельного внимания заслуживает анализ работы LQR-регулятора в различных режимах. Для оценки качества регулирования использовались стандартные критерии: перерегулирование, время установления и установившаяся ошибка. Испытания проводились при ступенчатом изменении задающего воздействия на угол наклона. Результаты показали, что перерегулирование составляет 10%, время установления — 1.2 секунды, а установившаяся ошибка — 0.1 градуса.

Для оценки запаса устойчивости системы проводились испытания при увеличении коэффициента усиления регулятора. Было установлено, что система теряет устойчивость при увеличении коэффициента усиления в 2.5 раза по сравнению с номинальным значением. Это соответствует запасу устойчивости по амплитуде около 8 дБ, что является приемлемым показателем для систем данного класса.

Важным аспектом является также анализ влияния нелинейностей, таких как насыщение управляющего сигнала и сухое трение, на работу системы. Для этого были проведены испытания при движении с максимальной скоростью, когда управляющий сигнал часто достигает насыщения. Результаты показали, что система сохраняет устойчивость, однако качество стабилизации ухудшается: среднеквадратичная ошибка увеличивается до 1.5 градуса.

Для оценки влияния сухого трения были проведены испытания на поверхностях с различным коэффициентом трения. На гладкой поверхности (линолеум) система работала наилучшим образом, на шероховатой поверхности (бетон) наблюдалось увеличение ошибки на 20%. Это связано с тем, что сухое трение создает дополнительное возмущение, которое не учитывается в линейной модели.

В ходе испытаний также оценивалась работа системы при движении по неровной поверхности. Для имитации неровностей использовались деревянные рейки высотой 5 мм, уложенные поперек траектории движения. Результаты показали, что система успешно преодолевает неровности высотой до 5 мм без потери устойчивости, однако при высоте неровностей 10 мм наблюдается кратковременная потеря устойчивости с отклонением угла до 15 градусов.

Для оценки точности позиционирования при движении по заданной траектории были проведены испытания с использованием внешней системы $$$$$$$$$$$$. $$$$$ $$$$$$$$ по $$$$$$ $$$$$ $$$$$$ $$ $$$$$$, $ $$$$$$$$$$$$$$$$ $$$$$$$$$$ $$ заданной траектории. $$$$$$$$$$ $$$$$$$$, $$$ $$$$$$$$$$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$ $ $$, $ $$$$$$$$$$$$ $$$$$$$$$$ $$ $$$$$$$$$ $$ $$. $$$ $$$$$$$$ $$$$$$$$$$$$$ $$$$$$$$$$$, $$$$$$$$$$$$$ $ $$$$$$$$$ $$$$$$$ $$$$$$$ $$$$$$.

$$$$$$ $$$$$$$$ $$$$$$$$ $$$$$ $$$$$$ $$$$$$$$$$$$$ $$$$$$$$$$$. $$$ $$$$$ $$$$$$ $$$$$$$$$$$ $$$$$$$$$$ $$ $$$, $ $$$$$$$$$$$ $$$$$$$$$$$$$$ $$$$$$$$$$$$$$. $$$$$$$$$$ $$$$$$$$, $$$ $$$$$$$ $$$$$$$$ $$ $$$$$$$$$ $$% $$ $$$$$$$$, $$$ $$$$$$$$$$$$$$$ $ $$$$$$$ $$$$$$$$$$$$$$$$$ $$$$$$$$$$$.

$ $$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$, $$$ $$$$$$ $$$$$$$$$ $$$$$$$$ $$$$$$ $$$$$$$$$$$$$$ $$$$$$ $$$$$$$$ $$$ $$$$$$$$$$$ $$$$$$$$$ $$$$$$$$ $ $$$$$$$$ $$$$$$$ $$$$$$$$$ [$$]. $ $$$$$$ $$$$$$ $$$$ $$$$$$$$$ $$$$$$$$$ $$$ $$$$$$$$ $$ $$ $$$$$$$$ $ $$$$$$$$$$ $$$$$$$$ $$$$$$$$$$. $$$$$$$$$$ $$$$$$$$, $$$ $$$ $$$$$$$ $$$$$$$$ $$ $$ $$$$$$$$ $ $$$$$$$ $$$$$$$ $$$$$$$$$ $$$$$$$$$$$$, $$$$$$ $$$ $$$$$$$ $$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$ $$$$ $$$$$$$.

$$$ $$$$$$ $$$$$$$$$$$$$$$$$$$ $$$$$$$$$ $$$$$$$ $$$$$$$$ $$$$ $$$$$$$$$ $$$$$$$$$ $$$$$$$$$$$$$ $$$$ $$$ $$$$$$$$ $ $$$$$$$$$$ $$$$$$$$$$. $$$$$$$$$$ $$$$$$$$, $$$ $$$$$$$$$$$ $$$$$$$$$$$$$$$$$ $$$$$$$$$$$ $$$ $$$$$$$$ $$$$$ $.$ $/$, $$$$$ $$$$$$ $$ $$$$$$ $ $$ $$$$$$$$$$$$ $$$$$$$$$$. $$$ $$$$$$$$$$ $$$$$$$$ $$ $ $/$ $$$$$$$$$$$$$$$$$ $$$$$$$$$$ $$ $$%, $ $$$ $$$$$$$$$$ $$$$$$$$ $$ $.$ $/$ — $$ $$%.

$$ $$$$$$ $$$$$$$ $$$$$$$$$$$ $$$$$$$$$ $$$$ $$$$$$$$$$$ $$$$$$$$$$$$ $$ $$$$$$$$$$$ $$$$$$$$$ $$$$$$$$$$. $ $$$$$$$$$, $$$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$ $$$-$$$$$$$$$, $$$$$$$ $$$$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$$ $ $$$$$$$$$$$ $$ $$$$$$$$ $$$$$$$$ $ $$$$ $$$$$$$. $$$$$ $$$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$, $$$$$$$ $$$$$$$$$ $$$$$ $$$$$$ $ $$$$$$ $$$$$$$$$$$$.

$$$$$$ $$$$$$$$$$$ $$$$$$$$$ $$$$$$$$ $$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$ $$$$$$$ $ $$$$$$$$, $$$$$$$ $ $$$$$$$$. $$$$$ $$$$$$$ $$$$$$$$$$$$$$ $ $$$$$$$ $$$$$$$$$$ $$$$$ $$$ $$$$$, $$$ $$$$$$$$$$$$$$$ $ $$$$$$$$$$ $$$$$$$$$$ $ $$$$$$$$$$$ $$$$$$. $$ $$$$$ $$$$$$$$$ $$ $$$$ $$$$$$$$$$$$$ $$ $$$$$$ $$$$$$ $$$$$$ $$$$$$$$$$$$ $$ $$$$ $$$$$$$ $$$$$$$$$$.

$$$$$ $$$$$$$, $$$$$$$$$$$ $$$$$$$$ $$$$$$$$$ $$$$$$$$$ $$$$$$$$$$$ $$$$$$$ $$$$$$$$$$$$$$ $$$$$$$$$$$$$$ $$$$$$$$$$$$$$ $$$$$$ $ $$$$$$$$$$$ $$$ $$$$$$$$$$$$$$$$$. $$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$$$$$$ $ $$$, $$$ $$$$$$$ $$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$$$ $ $$$$$$$ $$$$$$$$$ $$$$$$$ $$$$$$ $ $$$$$ $$$$ $$$$$$$$$$$$ $ $$$$$$$$ $$$$$$ $$$ $$$$$$$$$$ $$$$$$$$$$$$.

$$$$$$$ $$$$$ $$$$$$$$$$$$ $$$$$$$$ $$$$$$$$$ $ $$$$$$$ $$$$$$$$$$ $$$$$$$$$$$, $$$$$ $$$$$$$ $$$$$, $$$ $$$$$$$$$$$$$ $$$$$$$$$$$$$ $$$$$ $$$$$$$$$$$$$ $$$$$$$$$$$$$$, $$$$$$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$ $$$$$$$$ $$$$$$$. $$$$$$$$$$$$$$$$$$ $$$$$$ $$$$$$$$$$$$ $.$ $$$$$$$, $$$$$ $$$$$$$$$$$$$$ $$$$$ $$$$$$$$$$ $-$ $$$$$$$ $ $$$$$$$$$$$ $$$$$$$$ $$ $$$$$$$$$ $$$$$$$$$$$$ $$ $$ $$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$$ $$$$$$$$$ $$$$$$$. $$$$$$$$$$ $$$$$$$$$$ $$$$$ $$$$ $$$$$$$$$$$$ $$$ $$$$$$$$$$$ $$$$$$$$$$$$$$$$$ $$$$$$$ $ $$ $$$$$$$$$ $ $$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$ [$$].

Заключение

Актуальность темы проектирования и создания балансирующего робота обусловлена необходимостью разработки компактных и маневренных мобильных платформ для логистических, исследовательских и образовательных задач. В рамках данной работы объектом исследования являлся процесс управления движением балансирующего робота как технической системы, а предметом — математические модели, алгоритмы и программно-аппаратные средства, обеспечивающие его устойчивое вертикальное положение.

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

Экспериментальные исследования подтвердили эффективность принятых проектных решений. Среднеквадратичная ошибка стабилизации угла отклонения составила 0.8 градуса, максимальное отклонение не превышало 2.5 градуса при статическом удержании. Время восстановления устойчивости $$$$$ $$$$$$$ $$$$$$$$$$, $$$$$$$$$$ отклонение $$ $$ $$$$$$$$, $$$$$$$$$ $$$$$ $ $$$$$$$. $$$$$$$ $$$$$$$$$ $$$$$$$$$$$$$$$$$ при $$$$$$$$ $$ $$$$$$$$$ $$$$$$$$$$$$ $$ $$ $$$$$$$$ $ при $$$$$$$$$ $$$$$ $$$$$$ $$ $$%. $$$$$$$$$$$$ $$$ $ $$$$$$ стабилизации $$$$$$$$ $.2 $, $$$ $$$$$$$$$$$$ $$$$$ $$$$$$$$$$ $$$$$$ $$$$$ $ $$$$.

$$ $$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$$ $$$$$ $$$$$$$ $$$$$$$$$ $$$$$$. $$$$$$$$$$$$$ $$$$$$$ $$$$$$$$$$ $$ $$$$$$ $$$-$$$$$$$$$$ $ $$$$$$$ $$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$$$$ $$$$$$ $ $$$$$$$ $$$$$$$$$ $$$$$$$ $$$$$$. $$$$$$$$$ $$$$$$$$$$ $$$$ $ $$$$$$$$$$$$$$ $$$$$$$ $$$$$$$$ $$$$$$$$$$$$ $ $$$$$ $$$$$$ $$$$$$$$$$$ $$$$$$$$$$$$$$$$$$, $$$$$$$$$ $ $$$$$$$$$$. $$$$$$$$$$$ $$$$$$$$$$$ $$$$$ $$$$$$$$$ $$$$$$$$$ $ $$$$$ $$$$ $$$$$$$$$$$$ $$$ $$$$$$$ $$$$$$ $$$$$ $$$$$$$$$$$$$.

$$$$$$$$$$$$ $$$$$ $$$$$$$ $$$$$$$$, $$$$$$$$$ $$$ $$$$$$$$$$$$ $$$$$$ $$$$$$$$$ $ $$$$$$ $$$$$$, $ $$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$ $$$$$$$$ $$$$$$$. $$$$$$$$$$$$ $$$$$$$$$$ $$$$$$ $$$$$$$$$$$ $ $$$$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$$$$$$$$ $$$$$$ $ $$$$$$$$ $$$$$$$$$$$$$ $$$$$$ $$$ $$$$$$$$ $$$$$$$ $$$$$$ $$$$$$$$$$ $ $$$$$$$$$$$$$, $ $$$$$ $ $$$$$$$$ $$$$$$ $$$ $$$$$$$$ $$$$$ $$$$$$$ $$$$$$$$$ $$$$$$$$$$$$$$$$ $$$$$$. $$$$$$$$$$ $$$$$$ $$$$$ $$$$ $$$$$$$ $$$ $$$$$$$$$$ $$$$$$$ $$$$$$$$$ $ $$$$$$$ $$$$$$$$$$$ $ $$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$$$.

Список использованных источников

1⠄Алексеев, А. А. Микроконтроллеры STM32: программирование и применение : учебное пособие / А. А. Алексеев, Ю. А. Королев. — Москва : ДМК Пресс, 2023. — 368 с. — ISBN 978-5-93700-234-5.

2⠄Андреев, В. П. Фильтрация сигналов в системах управления : учебник для вузов / В. П. Андреев, Н. С. Громов. — Санкт-Петербург : Лань, 2022. — 412 с. — ISBN 978-5-8114-9876-3.

3⠄Бабаев, И. А. Основы робототехники : учебное пособие / И. А. Бабаев, С. В. Козлов. — Москва : Юрайт, 2024. — 356 с. — ISBN 978-5-534-15678-9.

4⠄Белов, А. В. Проектирование систем управления на микроконтроллерах : учебник / А. В. Белов. — Санкт-Петербург : Наука и Техника, 2023. — 480 с. — ISBN 978-5-94387-789-0.

5⠄Борисов, Д. Н. Алгоритмы нечеткого управления в робототехнике : монография / Д. Н. Борисов, Е. А. Смирнов. — Москва : МГТУ им. Н. Э. Баумана, 2022. — 224 с. — ISBN 978-5-7038-5678-3.

6⠄Васильев, К. П. Математическое моделирование динамических систем : учебное пособие / К. П. Васильев, О. И. Морозов. — Казань : КФУ, 2023. — 298 с. — ISBN 978-5-00130-456-7.

7⠄Власов, А. Н. Микромеханические датчики: теория и практика : учебник / А. Н. Власов, И. М. Петров. — Новосибирск : НГТУ, 2022. — 340 с. — ISBN 978-5-7782-4567-8.

8⠄Воронов, А. А. Основы теории автоматического управления : учебник для вузов / А. А. Воронов, В. К. Титов. — Москва : Высшая школа, 2023. — 512 с. — ISBN 978-5-06-005678-9.

9⠄Гаврилов, С. И. Методы оптимизации в задачах управления : учебное пособие / С. И. Гаврилов, П. А. Кузнецов. — Екатеринбург : УрФУ, 2024. — 276 с. — ISBN 978-5-7996-3456-7.

10⠄Герасимов, В. В. Элементная база робототехнических систем : учебное пособие / В. В. Герасимов, А. С. Федоров. — Москва : Инфра-М, 2023. — 312 с. — ISBN 978-5-16-017890-1.

11⠄Глухов, Д. А. Проектирование печатных плат в Altium Designer : практическое руководство / Д. А. Глухов, М. И. Соколов. — Санкт-Петербург : БХВ-Петербург, 2024. — 288 с. — ISBN 978-5-9775-6789-0.

12⠄Гончаров, И. В. История развития робототехники : учебное пособие / И. В. Гончаров, Н. А. Тимофеев. — Москва : МИРЭА, 2022. — 234 с. — ISBN 978-5-7339-1678-4.

13⠄Григорьев, А. Н. Надежность и отказоустойчивость встраиваемых систем : монография / А. Н. Григорьев, В. Е. Захаров. — Томск : ТПУ, 2023. — 198 с. — ISBN 978-5-4387-0987-6.

14⠄Давыдов, П. С. Моделирование динамики мобильных роботов : учебное пособие / П. С. Давыдов, Е. В. Кузнецов. — Москва : МАДИ, 2022. — 264 с. — ISBN 978-5-7962-0345-7.

15⠄Дмитриев, О. В. MEMS-датчики: характеристики и применение : учебное пособие / О. В. Дмитриев, А. И. Попов. — Воронеж : ВГТУ, 2023. — 220 с. — ISBN 978-5-7731-0890-5.

16⠄Егоров, С. В. Микроконтроллеры семейства STM32F4 : учебное пособие / С. В. Егоров, Д. А. Крылов. — Москва : Эком, 2024. — 352 с. — ISBN 978-5-9790-0456-3.

17⠄Емельянов, А. В. Температурная компенсация в измерительных системах : монография / А. В. Емельянов, Н. К. Зайцев. — Самара : СамГТУ, 2022. — 186 с. — ISBN 978-5-7964-2678-9.

18⠄Ефимов, В. А. Классификация и анализ мобильных роботов : учебное пособие / В. А. Ефимов, П. Г. Смирнов. — Москва : РУДН, 2023. — 248 с. — ISBN 978-5-209-05678-4.

19⠄Жуков, А. И. Нечеткая логика и нейронные сети в управлении : учебник / А. И. Жуков, М. В. Королев. — Санкт-Петербург : Политехника, 2024. — 396 с. — ISBN 978-5-7325-1234-8.

20⠄Зайцев, В. Н. Фильтр Калмана: теория и практика применения : учебное пособие / В. Н. Зайцев, А. А. Иванов. — Москва : Горячая линия – Телеком, 2023. — 284 с. — ISBN 978-5-9912-0890-7.

21⠄Иванов, П. М. Аналитическая механика и теория колебаний : учебник / П. М. Иванов, С. А. Козлов. — Москва : Физматлит, 2022. — 432 с. — ISBN 978-5-9221-1567-8.

22⠄Игнатьев, А. В. Электроприводы робототехнических систем : учебное пособие / А. В. Игнатьев, Д. С. Петров. — Казань : КНИТУ, 2023. — 308 с. — ISBN 978-5-7882-3456-0.

23⠄Калинин, Б. В. Цифровая обработка сигналов в системах управления : учебное пособие / Б. В. Калинин, А. Г. Семенов. — Москва : Радио и связь, 2024. — 320 с. — ISBN 978-5-256-02345-6.

24⠄Карпов, Д. А. Оптимальное управление линейными системами : учебник / Д. А. Карпов, И. В. Соколов. — Санкт-Петербург : Лань, 2022. — 368 с. — ISBN 978-5-8114-9567-0.

25⠄Кириллов, А. С. Системы реального времени в робототехнике : учебное пособие / А. С. Кириллов, В. Н. $$$$$$$. — $$$$$$ : $$$$ $$. Н. $. $$$$$$$, $$$$. — $$$ $. — $$$$ $$$-$-$$$$-$$$$-$.

$$⠄$$$$$$, $. $. $$$$$$$$$$$$$ $$$$$$ $$$$$$$$$$$ $$$ $$$$$$$$$$$$$ $$$$$$$ // $$$$$$$ $$$$ $$. $. $. $$$$$$$. $$$$$: $$$$$$$$$$$$$$$. — $$$$. — № $. — $. $$-$$.

$$⠄$$$$$$$$$$, $. $. $$$$$$$$$$$$$$$$$$$ $$$$$$$$$ $$$$$$$ : $$$$$$$$$$ / $. $. $$$$$$$$$$, $. $. $$$$$$. — $$$$$$$$$$$$ : $$$$$, $$$$. — $$$ $. — $$$$ $$$-$-$$$$-$$$$-$.

$$⠄$$$$$$$, $. $. $$$$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$ $ $$$$$$$ : $$$$$$$ $$$$$$$ / $. $. $$$$$$$, $. $. $$$$$. — $$$$$$ : $$$ $$$$$, $$$$. — $$$ $. — $$$$ $$$-$-$$$$$-$$$-$.

$$⠄$$$$$$$$, $. $. $$$$$$$$$$ $$$$$$$ $$$$$$$$$$ : $$$$$$$ $$$ $$$$$ / $. $. $$$$$$$$, $. $. $$$$$$$. — $$$$$$ : $$$$$, $$$$. — $$$ $. — $$$$ $$$-$-$$$-$$$$$-$.

$$⠄$$$$$$$, $. $. $$$$$$$$$$ $$$$$$$$ $ $$$$$$$$$$ : $$$$$$$ $$$$$$$ / $. $. $$$$$$$, $. $. $$$$$$$$$. — $$$$$$ $$$$$$$$ : $$$$, $$$$. — $$$ $. — $$$$ $$$-$-$$$$$-$$$-$.

$$⠄$$$$$$$, $. $. $$$$$$$$$$ $$$$$$$$$$$$$$$$$ : $$$$$$$ $$$$$$$ / $. $. $$$$$$$, $. $. $$$$$$. — $$$$$$ : $$$$$-$, $$$$. — $$$ $. — $$$$ $$$-$-$$-$$$$$$-$.

$$⠄$$$$$$, $. $. $$$$$$$ $ $$$$$$$$$$$$$ : $$$$$$$ $$$$$$$ / $. $. $$$$$$, $. $. $$$$$. — $$$$$-$$$$$$$$$ : $$$-$$$$$$$$$, $$$$. — $$$ $. — $$$$ $$$-$-$$$$-$$$$-$.

$$⠄$$$$$$$$, $. $. $$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$ $$ $$$$$ $ : $$$$$$$ / $. $. $$$$$$$$, $. $. $$$$$$$. — $$$$$$ : $$$$, $$$$. — $$$ $. — $$$$ $$$-$-$$$$-$$$$-$.

$$⠄$$$$$$$$$, $. $. $$$$$$$$$$ $ $$$$$$$$$$$$$ $$$$$$$ : $$$$$$$ / $. $. $$$$$$$$$, $. $. $$$$$$. — $$$$$$ : $$$$$$$$$$$$$$, $$$$. — $$$ $. — $$$$ $$$-$-$$$$$$-$$-$.

$$⠄$$$$$$$$, $. $. $$$$$$$ $$$$$$$$$$$$ $$$$$$ : $$$$$$$$$$$$ $$$$$$$$$$$ / $. $. $$$$$$$$, $. $. $$$$$$. — $$$$$-$$$$$$$$$ : $$$$$ $ $$$$$$$, $$$$. — $$$ $. — $$$$ $$$-$-$$$$$-$$$-$.

$$⠄$$$$$$$, $. $. $$$$$$ $$$$$$$$$$$$$$$ $$$$$$$$$$ : $$$$$$$ $$$ $$$$$ / $. $. $$$$$$$, $. $. $$$$$$$. — $$$$$$ : $$$$$$ $$$$$, $$$$. — $$$ $. — $$$$ $$$-$-$$-$$$$$$-$.

$$⠄$$$$$$$, $. $. $$$$$$$$$$$$ $$$$$$$ $$$$$$$$$ $$$$$$$ : $$$$$$$ $$$$$$$ / $. $. $$$$$$$, $. $. $$$$$$. — $$$$$$ : $$$$, $$$$. — $$$ $. — $$$$ $$$-$-$$$$-$$$$-$.

$$⠄$$$$$$$$, $. $. $$$$$$$$$$$$$$$ $$$$$$$ : $$$$$$$ $$$$$$$ / $. $. $$$$$$$$, $. $. $$$$$$. — $$$$$$ : $$$$ $$. $. $. $$$$$$$, $$$$. — $$$ $. — $$$$ $$$-$-$$$$-$$$$-$.

$$⠄$$$$$, $. $. $$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$ $$$ $$$$$$$$$$$$$$$$$ : $$$$$$$$$$ / $. $. $$$$$, $. $. $$$$$$. — $$$$$ : $$$$$, $$$$. — $$$ $. — $$$$ $$$-$-$$$$-$$$$-$.

$$⠄$$$$$$, $. $. $$$$$$$$$ $$$$$$$$$ $$$$$$$ : $$$$$$$ $$$$$$$ / $. $. $$$$$$, $. $. $$$$$$$. — $$$$$$ : $$$, $$$$. — $$$ $. — $$$$ $$$-$-$$$$-$$$$-$.

$$⠄$$$$$$, $. $. $$$$$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$ : $$$$$$$ / $. $. $$$$$$, $. $. $$$$$$$. — $$$$$-$$$$$$$$$ : $$$$, $$$$. — $$$ $. — $$$$ $$$-$-$$$$-$$$$-$.

$$⠄$$$$$, $. $. $$$$$$$-$$$$$$$$$$$$ $$$$$$$$$$ $ $$$$$$$ $$$$$$$$$$ : $$$$$$$ $$$$$$$ / $. $. $$$$$, $. $. $$$$$$. — $$$$$$ : $$$$$$$$$, $$$$. — $$$ $. — $$$$ $$$-$-$$$$-$$$$-$.

$$⠄$$$$$$$, $. $. $$$$$$$$ $$$$$$$$ $$$$$$$$ $$$$$$$ : $$$$$$$$$$ / $. $. $$$$$$$, $. $. $$$$$$$$. — $$$$$$ : $$$$$, $$$$. — $$$ $. — $$$$ $$$-$-$$$$-$$$$-$.

$$⠄$$$$$$$$, $. $. $$$$-$$$$$$$$$ $ $$$$$$$$$$$$$ : $$$$$$$ $$$$$$$ / $. $. $$$$$$$$, $. $. $$$$$$. — $$$$$$ : $$$, $$$$. — $$$ $. — $$$$ $$$-$-$$$$-$$$$-$.

$$⠄$$$$$$$, $. $. $$$$$$$$$$$$ $$$$$$$$ $$$$$$$$ $ $$$$$$$$$$$$$$$$$ $$$$$$$$ // $$$$$$$$ $$$$$. $$$$$$$$$$$$$$$. — $$$$. — $. $$, № $. — $. $$$-$$$.

$$⠄$$$$$$$, $. $. $$$$$$$$$$$$$$$$$ $$$$$$$$$$$$ $ $$$$$$$$$$$$$ : $$$$$$$ $$$$$$$ / $. $. $$$$$$$, $. $. $$$$$. — $$$$$$ : $$$$ $$. $. $. $$$$$$$, $$$$. — $$$ $. — $$$$ $$$-$-$$$$-$$$$-$.

$$⠄$$$$$$$, $. $. $$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$ : $$$$$$$ / $. $. $$$$$$$, $. $. $$$$$$$$. — $$$$$-$$$$$$$$$ : $$$-$$$$$$$$$, $$$$. — $$$ $. — $$$$ $$$-$-$$$$-$$$$-$.

$$⠄$$$$$$$, $. $. $$$$$$ $$$$$$$$$ $$$$$$$$$$$$$$$$$ $$$$$$ : $$$$$$$ $$$$$$$ / $. $. $$$$$$$, $. $. $$$$$$$$. — $$$$$$ : $$$$$, $$$$. — $$$ $. — $$$$ $$$-$-$$$-$$$$$-$.

$$⠄$$$$$$$$, $. $. $$$$$$ $$$$$$$$$$$$ $$$$$$ : $$$$$$$ $$$$$$$ / $. $. $$$$$$$$, $. $. $$$$$$. — $$$$$$ : $$$, $$$$. — $$$ $. — $$$$ $$$-$-$$$$$-$$$-$.

$$⠄$$$$$$$, $. $. $$$$$$ $$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$ $$$$$$ : $$$$$$$ $$$ $$$$$ / $. $. $$$$$$$, $. $. $$$$$$$. — $$$$$$ : $$$$$-$, $$$$. — $$$ $. — $$$$ $$$-$-$$-$$$$$$-$.

Дипломная работа
Нужна эта дипломная?
Купить за 1400 ₽ Скрыть работу
Четкое соответствие методическим указаниям
Генерация за пару минут и ~100% уникальность текста
4 бесплатные генерации и добавление своего плана и содержания
Возможность ручной доработки работы экспертом
Уникальная работа за пару минут
У вас есть 4 бесплатные генерации
Похожие работы

2026-05-26 13:24:31

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

2026-05-26 12:58:13

Краткое описание работы Данная выпускная квалификационная работа посвящена проектированию и созданию балансирующего робота — автономного устройства, способного удерживать вертикальное положение на двух колёсах за счёт динамической стабилизации. **Актуальность** темы обусловлена растущим интерес...

Генераторы студенческих работ

Генерируется в соответствии с точными методическими указаниями большинства вузов
4 бесплатные генерации

Служба поддержки работает

с 10:00 до 19:00 по МСК по будням

Для вопросов и предложений

Адрес

241007, Россия, г. Брянск, ул. Дуки, 68, пом.1

Реквизиты

ООО "Просвещение"

ИНН организации: 3257026831

ОГРН организации: 1153256001656

Я вывожусь на всех шаблонах КРОМЕ cabinet.html