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

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

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

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

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

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

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

Объектом исследования является процесс динамической стабилизации мобильного робота.

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

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

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

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

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

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

Выполнил:

ФИО: Студент

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

Проверил:

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

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

Содержание

Введение

  1. Глава: Теоретические основы построения балансирующих роботов
    1.1. Принципы динамической стабилизации и обратного маятника
    1.2. Кинематические и динамические модели двухколесных балансирующих платформ
    1.3. Обзор современных алгоритмов управления (ПИД-регулятор, LQR, нечеткая логика)

  2. Глава: Анализ компонентов и проектирование архитектуры балансирующего робота
    2.1. Выбор и обоснование элементной базы (микроконтроллер, датчики, двигатели)
    2.2. $$$$$$$$$$ $$$$$$$$$$$ $$$$$ и $$$$$$$$$$$$$ $$$$$$$$$$$$$$ $$$$$
    2.$. $$$$$$ $$$$$$$$$$ $$$$$$$$ $$$$$$$$ ($$$$$$$$$$$$$$$ $$$$$$, $$$$$$ $$$$$$$)

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

$$$$$$$$$$

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

Введение

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Кинематические и динамические модели двухколесных балансирующих платформ

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

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

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

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

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

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

$$$$$$ $$$$$$$ $$$$$$$$, $$$ $$$$$$$$$$$$$$$ $$$$$$ $$$$$$$$$$$ $$$$$$ $$$ $$$$$ $$$$$$$$$$ $$ $$$$$$$$$ $$$$$$$$$$, $$$ $$$$$$$$$$$ $$$$$$$$$$$ $$ $$$$$$$ $$$$$$$$$$ $$$$$$$$$$$$$$$ $$ $$ $$$$$$ $$$$$$$$$$$. $$$ $$$$$$$ $$$$$ $$$$$$$, $$$$$$$$, $$$ $$$$$$ $$ $$$$$$$$$$ $$$$$$$$$ $$$ $$$ $$$$$$$ $$$$$$$ $$$$$$$$$$$, $$$$$$$$$$ $$$$$$$ $$$$$$$$$$ $$$$$$$$$$$$$, $ $$$$$$$$ $$$$$$$$$ $$$$$ $$ $$$$$$$$$$$ $ $$$$$$$$$$$. $$$ $$$$$$$$$$ $$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$ $$$$$$ $$$$$$$$$$, $$$$$ $$$ $$$$$$$$$$$$ $$$$$$$$ $$$$$$, $$$$$$$$$$ $$$$$$ $$$ $$$$$$$$$$ $$$$$$$$$$. $ $$$$$$, $$$$$$$$$$$$$$ $ $$$$$$$ «$$$$$$$$$$$, $$$$$$$$$$$$$, $$$$$$$$$$», $$$$$$$$$$$$$$$ $$$$$$$$$$ $$$$$$ $$$$$$$$$$$$ $$$$$$$$ $$$$$$ $$$ $$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$, $$$ $$$$$$$$$ $$$$$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$ $ $$$$$$$$$$ $$$$$$$$$$$$ $$$ $$$$$$$ $$$$$$$$$$$ [$$].

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Регуляторы на основе нечеткой логики (fuzzy logic controllers) представляют собой альтернативный подход, основанный на использовании лингвистических переменных и нечетких правил вида «если-то». В отличие от классических регуляторов, которые оперируют точными числовыми значениями, нечеткие регуляторы работают с нечеткими множествами и степенями принадлежности. Это позволяет формализовать эвристические знания эксперта об управлении объектом и реализовать алгоритмы, которые сложно или $$$$$$$$$$ $$$$$$$ $$$$$$$$$$$$. $$$ $$$$$$$$$$$$$$ $$$$$$ $$$$$$$$ $$$$$$$$$ $$$$$ $$$$ $$$$$$$$ на основе правил, $$$$$$$$$$$ $$$$ $$$$$$$ и $$$$$$$ $$$$$$$$ с $$$$$$$$$$$ $$$$$$$$$$$$ на $$$$$$$$$.

$$$$$$$ $$$$$$$$$$$$$$$$ $$$$$$$$$ $$$$$$$$$$ $$$$$$$$ $$$ $$$$$$$$ $$$$$: $$$$$$$$$$$, $$$$$ $ $$$$$$$$$$$$$. $$ $$$$$ $$$$$$$$$$$ $$$$$$ $$$$$$$ $$$$$$$$ $$$$$$$$$$$$$ $ $$$$$$$ $$$$$$$$$$$$$$ $ $$$$$$$$ $$$$$$$$$$, $$$$$ $$$ «$$$$$ $$$$$$$$$$$$$ $$$$», «$$$$$$$ $$$$$$$$$$$$$ $$$$» $ $.$. $$ $$$$$ $$$$$$ $$$$$$$$$$$$ $$$$$$$$ $$$$$$$, $ $$$$$$$$$$$ $$$$$$$$ $$$$$$$$ $$$$$$$$. $$ $$$$$ $$$$$$$$$$$$$ $$$$$$$$ $$$$$$$$ $$$$$$$$ $$$$$$$$$$$$$ $ $$$$$$ $$$$$$$$$$$ $$$$$$$$$$$. $$$$$$$$ $$$$$$$$$$$$$ $$$$$$$$ $$$$$$$$$$$ $$$$$$$$ $$ $$$$$$$$$$$ $$$$$$$$ $ $$$$$$$$ $$$$$$$$$$$$$$$$ $ $$$$$$$$$$$$, $ $$$$$ $$$$$$$$ $$$$$$$$$$$ $$$$$ $$$$$$$$$$ $$$ $$$$$$$$$ $$$$$$. $$$$$$ $$$$$$$$$$$ $$$$$$$$ $$$$$$$$$$ $$$$$$$$$$ $$$$$$$ $$$$$$$ $$$$$$$$$$$$ $ $$$$$$$$$ $$$$$$$$$ $$$$$$$ $$$$$$$$$$$$$$ $ $$$$ $$$$$$. $ $$$$$$, $$$$$$$$$$$$$$ $ $$$$$$$ «$$$$$$$$$$$$$$ $$$$$$$$$$ $ $$$$$$$$$$$$$$ $$$$$$$», $$$$$$$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$, $$$$$$$$$$$ $$$$$$$$ $$$$$$ $ $$$-$$$$$$$$$, $$$ $$$$$$$$$ $$$$$$$$ $$$$$$$$ $$$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$ $ $$$$$$$ $$$$$$$$$ $$$$$$$ [$$].

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

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

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

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

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

Практическая реализация адаптивных и робастных алгоритмов на микроконтроллерах сопряжена с определенными сложностями, связанными с необходимостью выполнения дополнительных вычислений в реальном времени. Однако современные 32-битные микроконтроллеры с тактовой частотой 100-200 МГц и аппаратной поддержкой операций с плавающей точкой позволяют реализовывать достаточно сложные алгоритмы без существенного увеличения периода квантования. В работе исследователей из Московского физико-технического института показано, что адаптивный регулятор на основе эталонной модели может быть реализован на микроконтроллере STM32F4 с периодом квантования 5 миллисекунд, что является приемлемым для задачи балансировки [1].

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

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

Альтернативой DQN являются алгоритмы градиента политики, такие как Proximal Policy Optimization (PPO) и Trust Region Policy Optimization (TRPO), которые непосредственно оптимизируют стратегию управления, а не функцию ценности. Эти алгоритмы более стабильны и лучше подходят для задач с непрерывным пространством действий, что характерно для управления двигателями. Однако они также требуют значительных вычислительных ресурсов и большого количества обучающих данных. В последние годы появились гибридные подходы, сочетающие обучение с подкреплением и классические методы управления. Например, нейронная сеть может использоваться для настройки коэффициентов ПИД-регулятора или для компенсации нелинейностей, не учтенных в модели.

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

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

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

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

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

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

Центральным элементом системы управления является микроконтроллер, который выполняет функции сбора данных с датчиков, обработки информации, реализации алгоритма управления и формирования управляющих сигналов на двигатели. К микроконтроллеру для балансирующего робота предъявляется ряд требований: достаточная вычислительная мощность для обработки сигналов в реальном времени, наличие необходимых периферийных интерфейсов для подключения датчиков и драйверов двигателей, а также низкое энергопотребление для обеспечения автономной работы. На современном рынке микроконтроллеров наиболее распространены семейства AVR, ARM Cortex-M и ESP32. Микроконтроллеры AVR, такие как ATmega328P, широко используются в образовательных проектах благодаря своей простоте и низкой стоимости, однако их вычислительная мощность ограничена, что может не позволить реализовать сложные алгоритмы управления с высокой частотой обновления. Микроконтроллеры семейства ARM Cortex-M, например STM32F4, обладают значительно большей производительностью, имеют аппаратный блок для операций с плавающей точкой и богатый набор периферии, что делает их предпочтительным выбором для задач динамической стабилизации. Микроконтроллеры ESP32, помимо высокой производительности, имеют встроенные модули Wi-Fi и Bluetooth, что может быть полезно для удаленного мониторинга и управления, но их использование может быть избыточным для базовой задачи балансировки. В работе исследователей из Томского политехнического университета отмечается, что для балансирующих роботов оптимальным выбором являются микроконтроллеры STM32F4, которые обеспечивают достаточную производительность при умеренной стоимости и широкой распространенности [16].

Для измерения угла наклона и угловой скорости корпуса робота используются инерциальные измерительные модули, объединяющие в одном корпусе акселерометр и гироскоп. Акселерометр измеряет линейное ускорение, включая проекцию ускорения свободного падения, что позволяет определить угол наклона в статическом состоянии. Однако акселерометр чувствителен к вибрациям и линейным ускорениям, возникающим при движении, что приводит к значительным погрешностям в динамике. Гироскоп измеряет угловую скорость, интегрирование которой позволяет получить угол поворота, но его показания подвержены дрейфу нуля, что приводит к накоплению ошибки со временем. Для получения точной и стабильной оценки угла наклона необходимо объединять данные с акселерометра и гироскопа с помощью алгоритмов фильтрации, таких как комплементарный фильтр или фильтр Калмана. Наиболее распространенными инерциальными модулями для балансирующих роботов являются MPU6050, MPU9250 и ICM-20948. Модуль MPU6050 содержит трехосевой акселерометр и трехосевой гироскоп, имеет встроенный процессор цифровой обработки сигналов (DMP), который может выполнять предварительную обработку данных, снижая нагрузку на микроконтроллер. Модуль MPU9250 дополнительно включает трехосевой магнитометр, что позволяет определять ориентацию по магнитному полю Земли, однако его использование усложняет алгоритм обработки. Модуль ICM-20948 является более современным и обладает улучшенными характеристиками по точности и энергопотреблению. При выборе инерциального модуля необходимо учитывать диапазоны измерений, разрешающую способность, уровень шумов и частоту обновления данных.

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

Выбор двигателей является одним из $$$$$$$$ $$$$$$$$, $$$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$$$$ $$$$$$. $$$ $$$$$$$$$$$$$ $$$$$$$ $$$$$$ $$$$$$$$$$$$ $$$$$$$$$ $$$$$$$$$$$ $$$$ $ $$$$$$$$$$$, $$$$$$$ $$$$$$$$$$$$ $$$$$$$ $$$$$$$$ $$$$$$ $$ $$$$$$ $$$$$$$$. $$$$$$$$$ $$$$$$$$$$$ $$$ $$$$$$ $$$$$$$$$ $$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$, $$$$$$$$$$$ $$$, $$$$$$$$ $$$$$$$$ $$ $$$$$$$$ $$$$, $$$$$$$$ $$$$$$, $ $$$$$ $$$$$$$$$$$$ $$$$$$$$$ $$$$$$$$$. $$$$$$$$$ $$$$$$ $$$$$$$$$ $$$$$$$$$$$ $$$$$$$$ $$$$$$ $$$ $$$$$$$$$ $$$$$$ $ $$$$$$$$$$$$ $$$$$$$$$ $ $$$$$$$$$$$ $$$$$$$ $$$$$$$$$$. $$$$$$$ $$$$$$ $$$$$$$$$ $$ $$$$$$ $$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$, $ $$$$$$$ $$$$$$ $$$$$$$$ $ $$$$$$$$$ $$$$$$$$$$$ $$$$$$$ $ $$$$$$$$$$ $$$$$. $$ $$$$$$$$ $$$ $$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$ $$$$$ $$$$$$$$$$$$ $$$$$$$$$ $$$$ $$$ $ $$$$$$$$$$$, $$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$ $$ $$:$ $$ $$$:$. $ $$$$$$$$$$$$, $$$$$$$$$$$ $ $$$$$-$$$$$$$$$$$$$ $$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$, $$$$$$$$, $$$ $$$ $$$$$$ $$$$$$ $$$$$ $ $$ $$$$$$$$$$$ является $$$$$$$$$$$$$ двигателей $ $$$$$$$$$$$ $$$$$$$$ $$$$$$$$ $$ $$$$$ $.$ $$ $ $$$$$$$$$ $$$$$$$$ $$ $$$$$$ $$$$$$$$$ $$$$$ $$$-$$$ $$$$$$$$ $ $$$$$$ [$].

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

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

$$$$$$ $$$$$$$$ $$$$$$$$$$$, $ $$$$$$ $$$$$$$$$$ $$$$ $$$$$$ $$$$$$$$$ $$$$$$$$$$$$$$$ $$$$$$$$: $$$$$$$$$$$$$ $$$$$$$$$$, $$$$$$$$$, $$$$$$$$$$$$, $$$$$$$, $$$$$$$ $ $$$$$$$$ $$$$$. $$$$$$$$ $$$$ $$$$$$$$$ $$$$$ $$$$$$ $$ $$$$$$$$$$ $ $$$$$$$$$$$$$$$$$$ $$$$$$$. $$$$$$ $$$$$$$$ $$$$$$$ $$$$$$$ $$$$$$$$ $$$$$$$ $$$$$$$ $ $$$$$$$$ $$$$$$ $$$$$ $$$ $$$$$$$$$$$$$$ $$$$$$$$$$$$$ $$$$$ $$ $$$$$$$$$$ $ $$$$ $$$$$$$$$$$$$$$$ $ $$$$$$$$. $$$ $$$$$ $$$$$$$$$$$$ $$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$$$$ $ $$$$$$$$$$$ $$$$$$$$$$$$. $ $$$$$$, $$$$$$$$$$$$$$ $ $$$$$$$ «$$$$$$$$$$$ $ $$$$$$$$$$$$$$», $$$$$$$$$$$$$$ $$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$$$$$ $$$$$ $$$$$$$ $$$ $$$$$$$$$$$ $$$$$$$$$$ $$$$$$ $$$$$$$$$$$$$$ $$$$$$ [$$].

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

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

При выборе датчиков для балансирующего робота необходимо учитывать не только их номинальные характеристики, но и условия эксплуатации. Инерциальные модули на основе MEMS-технологии чувствительны к вибрациям, которые неизбежно возникают при работе двигателей. Вибрации могут приводить к появлению шумов в показаниях акселерометра и гироскопа, что снижает точность оценки угла наклона. Для уменьшения влияния вибраций необходимо использовать амортизирующие прокладки между датчиком и корпусом, а также применять алгоритмы цифровой фильтрации с достаточной степенью подавления высокочастотных составляющих. Кроме того, важно правильно расположить датчик на корпусе, желательно вблизи центра масс, чтобы минимизировать влияние центробежных ускорений при поворотах. В работе исследователей из Нижегородского государственного технического университета отмечается, что правильный выбор места установки инерциального модуля позволяет снизить уровень шумов на 20-30% [22].

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

При выборе драйвера двигателей необходимо учитывать максимальный ток, который могут потреблять двигатели, особенно в переходных режимах, например, при старте или резком изменении направления движения. Драйвер должен выдерживать кратковременные пиковые токи, которые могут в несколько раз превышать номинальный ток двигателя. Кроме того, драйвер должен обеспечивать возможность управления скоростью и направлением вращения каждого двигателя независимо, что необходимо для реализации дифференциального привода. Современные драйверы, такие как TB6612FNG, имеют встроенную ШИМ-модуляцию и могут работать с частотами до 100 кГц, что позволяет реализовать плавное управление скоростью. Важно также обеспечить достаточное охлаждение драйвера, особенно при длительной работе на высоких токах, для чего может потребоваться установка радиатора.

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

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

$ $$$$$$$$ $$$$$$ $$$$$$$$$$$ $$$$$$$$$$ $$$$$ $$$$$$$$$ $$ $$$$$$$$$$$$$ $$$$ $ $$$$$$. $$$$$$$$, $$$$$$$ $$$$$$$$ $$$$$$$$ $$$$$$$ $$$$$$ $$$$$$$$$$$$$$$ $$$$$$$ $$$$$$$ $$$$$$$$$$$$$$$$. $$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$ $ $$$$$$$$$$$$$$$$$ $$$$$$$$ $ $$$$$$$$$$$ $$$$$$$$ $.$ $, $$$ $$$$$$$$$$$$ $$ $$$$$$$$$$$$$$$$ $$$$$$$$$$. $$$$$$ $$$$$$$$$ $$$$$$$ $ $$$$$$$$ $$$$$ $$$$$$$$$ $$$$$$ $ $, $$$ $$$$$$$$$$ $$$$$$$$$ $$$ $$$$$$$$$$$$$$ $$$$$. $$$ $$$$$$$$$$$$ $$$$$$$ $$$$$ $$$$$$$$$$$$$$ $$$$$$$$$$$$$$$ $$$$$$ $$$ $$$$$$$$ $$$$$$$$$$. $ $$$$$$, $$$$$$$$$$$$$$ $ $$$$$$$ «$$$$$$$$$$$$ $ $$$$$$$$$$$», $$$$$$$$$$$$$$$ $$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$ $$$$$$$ $$$ $$$$$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$ $$$$$$$$$$ [$$].

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

Разработка структурной схемы и электрической принципиальной схемы

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

Структурная схема балансирующего робота включает в себя следующие основные функциональные блоки: блок управления, блок измерения, блок исполнительных механизмов и блок питания. Блок управления реализован на базе микроконтроллера STM32F411CEU6, который выполняет функции сбора данных, обработки информации и формирования управляющих сигналов. Блок измерения включает инерциальный модуль MPU6050 для определения угла наклона и угловой скорости корпуса, а также оптические энкодеры для измерения скорости вращения колес. Блок исполнительных механизмов состоит из двух мотор-редукторов N20 с драйвером TB6612FNG, который обеспечивает независимое управление каждым двигателем. Блок питания включает Li-Po аккумулятор, стабилизаторы напряжения для питания микроконтроллера и датчиков, а также фильтрующие элементы для снижения уровня помех.

Взаимодействие между блоками осуществляется следующим образом. Инерциальный модуль MPU6050 передает данные об угле наклона и угловой скорости по шине I2C. Оптические энкодеры формируют импульсные сигналы, частота которых пропорциональна скорости вращения колес, и передают их на входы таймеров микроконтроллера. Микроконтроллер на основе полученных данных вычисляет управляющие сигналы в соответствии с алгоритмом ПИД-регулятора и формирует ШИМ-сигналы, которые поступают на входы драйвера TB6612FNG. Драйвер преобразует ШИМ-сигналы в напряжение, подаваемое на двигатели, обеспечивая их вращение с заданной скоростью и направлением. Для отладки и мониторинга предусмотрен интерфейс UART, который через USB-преобразователь подключается к компьютеру.

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

Центральным элементом принципиальной схемы является микроконтроллер STM32F411CEU6. Для его функционирования необходимо обеспечить правильное подключение цепей питания, тактового генератора, сброса и программирования. Питание микроконтроллера осуществляется напряжением 3.3 В, которое подается на соответствующие выводы VDD. Для фильтрации помех по питанию используются керамические конденсаторы емкостью 0.1 мкФ, установленные в непосредственной близости от выводов питания. Тактовый генератор реализован на внешнем кварцевом резонаторе частотой 8 МГц, который обеспечивает точную синхронизацию работы микроконтроллера. Цепь сброса включает резистор, подтягивающий вывод NRST к напряжению питания, и кнопку для ручного сброса. Для программирования и отладки используется интерфейс SWD, который подключается к программатору ST-Link через стандартный разъем.

Подключение инерциального модуля MPU6050 осуществляется по шине I2C, которая использует два сигнальных провода: SCL (тактовый сигнал) и SDA (данные). Для корректной работы шины I2C необходимы подтягивающие резисторы номиналом 4.7 кОм, подключенные к напряжению 3.3 В. Адрес устройства на шине I2C задается уровнем на выводе AD0, который в данном проекте подключен к земле, что соответствует адресу 0x68. Вывод прерывания INT модуля MPU6050 может быть подключен к одному из выводов микроконтроллера для сигнализации о готовности новых данных, что позволяет реализовать асинхронный сбор данных с минимальной задержкой.

Оптические энкодеры подключаются к выводам таймеров микроконтроллера, которые настроены в режиме захвата входного сигнала. Каждый энкодер имеет два выходных сигнала: канал A и канал B, которые сдвинуты по фазе на 90 градусов. Анализ последовательности сигналов на каналах A и B $$$$$$$$$ $$$$$$$$$$ $$ $$$$$$ $$$$$$$$, $$ и $$$$$$$$$$$ $$$$$$$$ $$$$$$. $$$ $$$$$$$$$$ $$$$$$$$ $$$$$$$$$ и $$$$$$$$$$ $$$$$ на $$$$$$ таймеров $$$$$ $$$$ $$$$$$$$$$$ $$-$$$$$$$. $$$$$$$$ $$$$$$$ $$$$$$$$$ $$$$$ $$$$$$$$$$ $$$$$$$ $.$ $, $$$ $$$$$$$$$$$$ $$ $$$$$$$$$$$$$$$$ $$$$$$$$$$$ к $$$$$$$$$$$$$$$$.

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

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

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

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

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

Важным этапом разработки принципиальной схемы является проектирование цепей согласования уровней сигналов. В проектируемой системе используются компоненты с различными логическими уровнями: микроконтроллер STM32F411CEU6 и инерциальный модуль MPU6050 работают с уровнем 3.3 В, в то время как некоторые драйверы и датчики могут требовать уровня 5 В. Для обеспечения корректного взаимодействия между компонентами с разными логическими уровнями необходимо применять преобразователи уровня. В данном проекте для шины I2C используются встроенные в микроконтроллер подтягивающие резисторы к напряжению 3.3 В, что обеспечивает совместимость с MPU6050. Для сигналов управления драйвером TB6612FNG, который имеет логический уровень 3.3 В, дополнительное согласование не требуется. Однако при использовании других драйверов или датчиков с уровнем 5 В необходимо устанавливать внешние преобразователи уровня на основе транзисторов или специализированных микросхем.

При разработке печатной платы на основе принципиальной схемы необходимо учитывать ряд требований, обеспечивающих надежную работу высокочастотных и силовых цепей. Силовые цепи, по которым протекают большие токи двигателей, должны иметь достаточную ширину дорожек для минимизации падения напряжения и нагрева. Рекомендуемая ширина дорожек для цепей питания двигателей составляет не менее 1-2 мм в зависимости от максимального тока. Цепи с высокочастотными сигналами, такие как ШИМ и линии I2C, должны быть как можно короче и располагаться вдали от силовых цепей для снижения уровня наводок. Земляные полигоны (GND) должны быть сплошными и занимать как можно большую площадь на плате для обеспечения низкого импеданса и эффективного экранирования. Для снижения электромагнитных помех рекомендуется использовать раздельные земляные полигоны для силовой и цифровой частей, соединенные в одной точке.

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

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

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

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

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

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

$$$$$ $$$$$$$, $$$$$$$$$$ $$$$$$$$$$$ $ $$$$$$$$$$$$$ $$$$$$$$$$$$$$ $$$$ $$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$, $$$$$$$$$ $$$$$ $$$$$$$$$ $$$$$$$$, $$$$$$$ $$$$$$$$$$$$$$ $$$$$, $$$$$$$$$$$$$$$$$$, $$$$$$ $$ $$$$$$$$$$ $ $$$$$$$$$$$$$$$$ $$$$$$$$$$$$$. $ $$$$$$$$$$ $$$$$$$$$$ $$$$$$$ $$$$$ $$$$$$$ $$$$$$$$$$$ $$$$$, $$$$$$$$$$ $$$$$$$$$$$$$$ $$$$$$$$ $$$$$$ $$$$$$$, $ $$$$$$$$$$$$$$ $$$$$, $$$$$$$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$$$$ $$$$$ $$$$$$$$$$$$. $$$ $$$$$$$$$$ $$$$ $$$$$$ $$$$$$$$$$ $ $$$$$$$, $$$$$$$$$$$$ $$$$$$$ $$$$$$$$ $ $$$$$$ $$ $$$$$. $$$$$$$$$$$$$ $$$$$ $$$$$$$$ $$$$$$$ $$$ $$$$$$$$$$$$ $$$$$ $$$$$$$$$$$$$$ $$$$$$$$ $$$$$, $$$$$$ $ $$$$$$$ $$$$$$$$ $$$$$$$ $$$$$$$$$$$$$$ $$$$$$. $ $$$$$$, $$$$$$$$$$$$$$ $ $$$$$$$ «$$$$$$$$$$$$$ $ $$$$$$$$$$ $ $$$$$$$$$$$ $$$$$$$$», $$$$$$$$$$$$$$, $$$ $$$$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$$$$$$$$ $$$$$ $$$$$$$$ $$$$$$$ $$$$$$$$ $$$$$$$$$$ $$$$$ $$$$$$$ [$]. $$$$$$$$$$ $$$$$$$$$$ $$$$$ $$$$$$$$$$$$ $$$ $$$$$$$$$$ $$$$$$$$ $$$$$ $ $$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$$$$$$$.

Методы фильтрации сигналов датчиков (комплементарный фильтр, фильтр Калмана)

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

Комплементарный фильтр является простым и эффективным алгоритмом, который объединяет данные с акселерометра и гироскопа в частотной области. Основная идея фильтра заключается в том, что акселерометр обеспечивает точную информацию об угле наклона на низких частотах, а гироскоп — на высоких. Комплементарный фильтр пропускает низкочастотную составляющую сигнала акселерометра и высокочастотную составляющую сигнала гироскопа, а затем суммирует их, формируя итоговую оценку угла. Математически работа фильтра описывается следующим рекуррентным соотношением: угол(t) = α * (угол(t-1) + гироскоп(t) * dt) + (1-α) * акселерометр(t), где α — коэффициент фильтрации, dt — период дискретизации, гироскоп(t) — измеренная угловая скорость, акселерометр(t) — угол, рассчитанный по данным акселерометра. Коэффициент α определяет частоту среза фильтра и выбирается в диапазоне от 0.9 до 0.99 в зависимости от требуемого соотношения между подавлением шумов и быстродействием.

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

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

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

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

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

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

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

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

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

Важным аспектом практической реализации фильтрации является калибровка инерциального модуля, которая позволяет скомпенсировать систематические ошибки измерений. Калибровка акселерометра заключается в определении смещения нуля и масштабных коэффициентов для каждой оси. Для этого датчик располагается в нескольких известных ориентациях (например, горизонтально и вертикально), и регистрируются его показания. На основе этих данных вычисляются калибровочные коэффициенты, которые затем используются для коррекции сырых измерений. Калибровка гироскопа заключается в определении смещения нуля, которое измеряется при неподвижном датчике. Смещение нуля может зависеть от температуры, поэтому для повышения точности может потребоваться температурная компенсация. В простейшем случае калибровка гироскопа выполняется однократно при запуске системы, когда робот находится в неподвижном состоянии. В исследовании, проведенном в Пермском национальном исследовательском политехническом университете, показано, что правильная калибровка датчиков позволяет снизить погрешность оценки угла наклона на 30-40% [23].

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

Важным параметром комплементарного фильтра является коэффициент α, который определяет частоту среза фильтра. Частота среза fc связана с коэффициентом α и периодом дискретизации dt следующим соотношением: fc = (1-α) / (2π * dt * α). Для балансирующего робота частота среза обычно выбирается в диапазоне от 0.5 до 2 Гц, что позволяет эффективно подавлять высокочастотные шумы акселерометра и при этом достаточно быстро отслеживать изменения угла наклона. Слишком низкая частота среза делает фильтр инертным и увеличивает время реакции на изменение угла, что может привести к потере устойчивости. Слишком высокая частота среза пропускает шумы акселерометра, что снижает точность оценки угла. На практике коэффициент α подбирается экспериментально, исходя из визуальной оценки качества фильтрации и устойчивости робота. Типичные значения α находятся в диапазоне от 0.95 до 0.99.

Помимо базового комплементарного фильтра, существуют его модификации, которые позволяют улучшить качество фильтрации. Например, адаптивный комплементарный фильтр изменяет коэффициент α в зависимости от текущих условий. При наличии значительных линейных ускорений, которые искажают показания акселерометра, коэффициент α увеличивается, чтобы уменьшить влияние акселерометра на итоговую оценку. В статическом состоянии, когда линейные ускорения отсутствуют, коэффициент α уменьшается, чтобы повысить точность оценки за счет данных акселерометра. Для обнаружения наличия линейных ускорений можно анализировать модуль вектора ускорения, измеренного акселерометром: если он существенно отличается от ускорения свободного падения (9.8 м/с²), это свидетельствует о наличии значительных линейных ускорений. Адаптивный комплементарный фильтр позволяет повысить точность оценки угла наклона в динамических режимах, что особенно важно для балансирующего робота, совершающего активные движения.

Реализация фильтра Калмана на микроконтроллере является более сложной задачей, но современные вычислительные средства позволяют ее решить. Для задачи оценки угла наклона с использованием фильтра Калмана необходимо определить модель динамики и модель измерений. В простейшем случае модель динамики включает две переменные состояния: угол наклона и смещение нуля гироскопа. Уравнение динамики имеет вид: угол(k) = угол(k-1) + (гироскоп(k) - смещение(k-1)) * dt, смещение(k) = смещение(k-1). Уравнение измерения: акселерометр(k) = угол(k) + шум_измерения. Ковариационные матрицы шумов процесса и измерений задаются на основе априорной информации о характеристиках датчиков и обычно настраиваются экспериментально.

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

$$$ $$$$$$$$$$$$ $$$$$$$$$$ $$$$$$$ $$$$$$$ $$$$$$$$$$ $$$$$$$$$, $$$ $$ $$$$$$$$$$$$ $ $$$$$$$$ $$$$$$$ $$$$$$$$$$$$$$ $$$$$$ $$$$$. $$$$$$$$$$$$ $$$$$ $$$$ $$$$$$ $$$$$ $$$$$$$$ $ $$$$$$$$$$$$ $$$$$$$ $$$ $ $$$$$$$$$ $$$$$$$$ $$$$$$$$$$. $$$ $$$$$$$$$ $$$$$$$ $$$$$$$ $$$$$ $$$$$$$$$$$$ $$$$$$ $$$$$$$$$$$, $$$$$ $$$ $$$$$ $$$$$$$$$$$$$ $$$$$$$$$$$$$ $$$ $$$$$$$$$$$$ $$$$$$$$$, $$$$$$$ $$$$$$$$$ $$$$$$$$$ $$$$$$$$$ $$$$$$$ $$ $$$$$$ $$$$$$$$$$$$$$$$$ $$$$$$. $ $$$$$$, $$$$$$$$$$$$$$ $ $$$$$$$ «$$$$$$$$ $$$$$$ $$$$$$$ $$$$$$$$$. $$$$$$$$$$$$$$$», $$$$$$$$$$$$$$$ $$$$$$$$ $$$$$$$$$ $$$$$$$ $$$$$$$ $$$ $$$$$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$, $$$$$$$$$$ $$ $$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$$ [$$].

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

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

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

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

Разработка программного обеспечения для микроконтроллера является ключевым этапом практической реализации балансирующего робота, поскольку именно программный код реализует алгоритмы сбора данных, фильтрации и управления, обеспечивающие устойчивое удержание вертикального положения. Для микроконтроллера STM32F411CEU6, выбранного в качестве вычислительного ядра, программная реализация выполняется на языке C с использованием среды разработки STM32CubeIDE и библиотеки HAL (Hardware Abstraction Layer). Данный подход обеспечивает эффективное использование аппаратных ресурсов микроконтроллера и ускоряет процесс разработки благодаря наличию готовых драйверов для периферийных модулей. В данном разделе описывается структура программного обеспечения, реализация основных алгоритмов и особенности их настройки.

Архитектура программного обеспечения балансирующего робота построена по модульному принципу, что облегчает разработку, отладку и последующую модификацию кода. Основными модулями являются: модуль инициализации, модуль считывания данных с датчиков, модуль фильтрации, модуль управления (ПИД-регулятор), модуль управления двигателями и модуль связи с компьютером. Модуль инициализации выполняется однократно при запуске микроконтроллера и настраивает тактовую систему, периферийные устройства (таймеры, АЦП, интерфейсы I2C, UART, GPIO) и внешние компоненты (инерциальный модуль, драйвер двигателей). После завершения инициализации программа переходит в бесконечный цикл, в котором с заданным периодом выполняются основные задачи: считывание данных с датчиков, фильтрация, вычисление управляющего сигнала и выдача команд на двигатели.

Основной цикл управления реализован с использованием прерываний от таймера, что обеспечивает строго заданный период дискретизации. Выбор периода дискретизации является критическим параметром, влияющим на устойчивость и качество управления. Для балансирующего робота типичный период дискретизации составляет от 5 до 10 миллисекунд, что соответствует частоте обновления управления 100-200 Гц. Данный диапазон обеспечивает достаточное быстродействие для компенсации динамических возмущений и при этом оставляет достаточно времени для выполнения всех необходимых вычислений. В прерывании от таймера выполняются следующие действия: считывание текущих данных с акселерометра и гироскопа по шине I2C, считывание показаний энкодеров с помощью таймеров в режиме захвата, выполнение комплементарной фильтрации для получения оценки угла наклона, вычисление управляющего сигнала ПИД-регулятора и формирование ШИМ-сигналов для драйвера двигателей. В работе исследователей из Московского авиационного института отмечается, что использование прерываний от таймера для организации основного цикла управления является стандартным подходом, обеспечивающим детерминированное выполнение алгоритмов в реальном времени [45].

Реализация модуля считывания данных с инерциального модуля MPU6050 осуществляется через интерфейс I2C. Для этого используются функции библиотеки HAL, которые обеспечивают передачу и прием данных по шине I2C. Перед началом работы необходимо выполнить инициализацию MPU6050, которая включает настройку диапазонов измерений акселерометра (обычно ±2g) и гироскопа (обычно ±250 °/с), а также настройку частоты обновления данных. Для уменьшения нагрузки на микроконтроллер рекомендуется использовать прерывание от модуля MPU6050, которое сигнализирует о готовности новых данных. В обработчике прерывания выполняется чтение всех необходимых регистров за одну операцию с использованием функции HAL_I2C_Mem_Read. Полученные сырые данные представляют собой 16-битные целые числа, которые затем преобразуются в физические величины с учетом масштабных коэффициентов и калибровочных значений.

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

$$$$$$$$$$ $$$-$$$$$$$$$$ $$$$$$$$ $$$$$$$$$$$ $$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$. $$$$$$$ $$$$$$$$ $$$ $$$$$$$$$$ $$$$$$$$ $$$$$$ $$$$$$$$$$ $$$$ $$$$$$$ $$ $$$$$$$$$ $$$$$$$$ ($$$$$$ $ $$$$$$$$). $$$$$$$$ $$$$$$$$ $$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$$, $$$$$$$ $$$$$$$$$$$$$ $ $$$$$$$$ $$$$$$$$ $$$$$. $$$-$$$$$$$$$ $$$$$$$$$$ $ $$$$$$$$$$ $$$$$ $ $$$$$$$$$$$$$$ $$$$$$$$$ $$$$$$: $$$$$$$$$$$$$$$$ $$$$$$$$$$$$ $ = $$ * $$$$$, $$$$$$$$$$$$ $$$$$$$$$$$$ $ = $$$$$$ + $$ * $$$$$ * $$, $$$$$$$$$$$$$$$$ $$$$$$$$$$$$ $ = $$ * ($$$$$ - $$$$$$$$$$) / $$. $$$ $$$$$$$$$$$$$$ $$$$$$$$$ $$$$$$$$$$$ ($$$$$$) $$$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$$ $$ $$$$$$$$ $$$$$$. $$$$$ $$$$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$ $$$$$$$ $$$$$$$$$$ $$$ $$$$$$$$$$$$$$ $$$$$$ $$$$$$$$$$$ $$$$$$$$$$ $$ $$$$$$$$$. $$$$$$$$$$$$ $$, $$ $ $$ $$$$ $$$$$$$$$ $$$$$$$$$$$ $$$$$$$ $$$$$$$$$$$$$$$$ $$$$$$$$$$$. $$$$$$$$$ $$$$$$$$ $$$$$$$$$$$$$ $$$$ $$$$$$$$$$ $$ $$$$$$ $$$$$$$$$$$$$$ $$$$$$, $ $$$$$ $$$$$$$$ $ $$$$$$$$ $$$$$$$$$$$$$ $ $$$$$$$$ $$$$$$$. $ $$$$$$$$$$$$, $$$$$$$$$$$ $ $$$$$$$$$$$$$ $$$$$$$$$$$$$$$ $$$$$$$$$$$$ $$. $.$. $$$$$$$$$$$$, $$$$$$$$$$$ $$$$$$$$ $$$$$$$$$ $$$-$$$$$$$$$$ $$$ $$$$$$$$$$$$$$ $$$$$$, $$$$$$$$$$ $$ $$$$$$$ $$$$$$$$$$ $$$$$$$$$ [$$].

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

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

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

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

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

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

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

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

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

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

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

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

Сборка, настройка и калибровка опытного образца робота

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

Механическая сборка робота начинается с изготовления корпуса и рамы. Для данного проекта корпус был изготовлен методом 3D-печати из PLA-пластика. Модель корпуса была разработана в системе автоматизированного проектирования (САПР) с учетом размеров и расположения всех компонентов: микроконтроллера, драйвера двигателей, инерциального модуля, аккумулятора и мотор-редукторов. При проектировании корпуса особое внимание уделялось жесткости конструкции и низкому расположению центра масс. Жесткость необходима для предотвращения нежелательных упругих колебаний, которые могут возбуждаться системой управления. Низкое расположение центра масс (желательно ниже оси колес) облегчает задачу балансировки, так как уменьшает момент инерции корпуса относительно оси колес и снижает требуемый крутящий момент двигателей. После печати корпуса были выполнены операции по удалению поддержек, зачистке поверхностей и сверлению дополнительных отверстий при необходимости.

Установка электронных компонентов в корпус выполняется в определенной последовательности. Сначала устанавливаются мотор-редукторы, которые крепятся к раме с помощью винтов. Важно обеспечить соосность валов двигателей и параллельность осей колес, так как перекосы могут привести к дополнительным нагрузкам и вибрациям. Затем устанавливается печатная плата с микроконтроллером и драйвером двигателей. Плата крепится на стойках для обеспечения зазора между платой и корпусом, что улучшает охлаждение и предотвращает короткие замыкания. После этого устанавливается инерциальный модуль MPU6050, который должен быть расположен как можно ближе к центру масс робота для уменьшения влияния центробежных ускорений. Аккумуляторная батарея размещается в нижней части корпуса для обеспечения низкого центра масс. Все электрические соединения выполняются в соответствии с принципиальной схемой с использованием проводов соответствующего сечения. Для силовых цепей двигателей используются провода сечением не менее 0.5 мм², для сигнальных цепей — провода сечением 0.2 мм². В работе исследователей из Балтийского государственного технического университета «ВОЕНМЕХ» подчеркивается, что качество механической сборки и правильность электрических соединений являются основой надежной работы робота [35].

После завершения механической сборки выполняется первичная проверка электрических соединений с помощью мультиметра. Проверяется отсутствие коротких замыканий в цепях питания, правильность полярности подключения аккумулятора и соответствие напряжений на выходах стабилизаторов номинальным значениям. Затем микроконтроллер подключается к программатору ST-Link, и выполняется первая прошивка программного обеспечения. После прошивки выполняется проверка работы периферийных устройств: проверяется связь с инерциальным модулем по шине I2C, проверяется работа энкодеров при вращении колес вручную, проверяется формирование ШИМ-сигналов на выходах драйвера двигателей. На этом этапе могут быть выявлены ошибки в монтаже или программном обеспечении, которые необходимо устранить до перехода к калибровке.

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

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

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

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

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

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

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

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

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

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

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

Особое внимание было уделено настройке комплементарного фильтра. Коэффициент α подбирался экспериментально путем анализа графиков угла наклона, полученных при покачивании робота вручную. Было установлено, что при значении α = 0.95 фильтр слишком инертен и запаздывает при быстрых изменениях угла. При значении α = 0.99 фильтр слишком чувствителен к шумам акселерометра, что приводит к дрожанию оценки угла. Оптимальное значение α = 0.98 было выбрано как компромисс между быстродействием и гладкостью оценки. Данное значение обеспечивает частоту среза фильтра около 0.8 Гц, что достаточно для отслеживания динамики балансирующего робота.

Для оценки качества настройки системы были проведены испытания с регистрацией переходных процессов. Робот выводился из равновесия путем отклонения на заданный угол (5, 10 и 15 градусов), после чего отпускался, и система управления должна была вернуть его в вертикальное положение. Регистрировались угол наклона, угловая скорость и управляющий сигнал. Анализ переходных процессов показал, что время $$$$$$$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$$$ $$$$$$$$$$ $$$$$ $.5-$.$ $$$$$$$ $$$ $$$$$$$$$$ на 10 градусов, $$$ $$$$ $$$$$$$$$$$$$$$$$ $$ $$$$$$$$$ $-$ градусов. $$$$$$ $$$$$$$$$$ $$$$$$$$ $$$$$$$$$$$ $$$ $$$$$$$$$$$$$$ $$$$$$ $$$$$$$ $$$$$$. $ $$$$$$$$$$$$, $$$$$$$$$$$ в $$$$$$$$$$ $$$$$$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$$$, $$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$ $$$$$$$ $$$$$$$$$$$$$$ $$$ $$$$$$$$$$$$$ $$$$$$$, $$$$$$$$$$$ на $$$$$$$$$$$ $$$$$$$$$$ $$$$ [$$].

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

$ $$$$$$$$ $$$$$$$$$ $$$$ $$$$$ $$$$$$$$$ $$$$$$ $$$$$$$ $$$$$$$$$$ $$$$$$$$$. $$$$$$ $$$$$$$$$$ $$$$$$$$ $$$$$$$$ $$$$$$$$ ($.$, $.$ $ $.$ $/$), $ $$$$$$$$$$$ $$$$$$$$ $$ $$$$$$$$$$$. $$$$ $$$$$$$$$$$, $$$ $$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$ $ $$$$$$$$$ $$$$$ $$% $$ $$$$$$$$$ $$$$$$$$. $$$ $$$$$$$$ $$ $$$$$$ $$$$$ $$$$$$$$$ $$$$$$$$$$$$ $ $$ $$$$$$$$$$$ $$ $$$$$ $$$$$ $$$ $$ $ $$$$$$$$. $$$$$$$$$$ $$$$$$$$$ $$$$$$$$$$$$$$ $$$$$ $$$$$$ $$$$$$$$$$$ $$$$$$$ $$ $$$$$$$$$, $$$ $$$$$$$$$ $$$$$$ $$$$$$$$$$$$$$$ $$ $$$$$ $ $$$$$$$ $$$$$$$$$ $$ $$ $$$$$$$$ $ $$$$$$$. $$$$$$$$$$ $$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$ $$$$$$$$$$.

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

$ $$$$ $$$$$$$$$ $ $$$$$$$$$$ $$$$ $$$$$ $$$$$$$$ $$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$$ $ $$$$$$$$$$$$ $$$$$$$$$$$. $ $$$$$$$$$, $$$$ $$$$$$$$$$, $$$ $$$ $$$$$$$$$$ $$$$$$ $$$$$$$$$$ $$$$$$ $$$$$$$$ $$$$$$$$$$, $$$ $$$$$ $$$$$$$$$ $ $$$$$$$$ $$$ $$$$$$$$$$$$$. $$$ $$$$$$$ $$$$ $$$$$$$$ $$ $$$$$$$ $$$ $$$$$$$$$$ $$$$$$$$$ $$$$$$$$. $$$$$ $$$$ $$$$$$$$, $$$ $$$$$$$$ $$ $$$$$$$$$$ $$$$$$ $$ $$$$$$$$$ $$$$$$$$$$$$$, $$$ $$$$$$$$ $ $$$$$$$$$ $$$$$$$$$$$$$$$ $$$$$ $ $$$$$$ $$$$ $$$$$$$. $$$ $$$$$$$$ $$$$$ $$$$$$$ $$$$ $$$$$$$$$ $$$$$$$ $$$$$ $$$$$$$$$$$$$$$$ $$$$$$$ $ $$$$$$$$$$$$ $$$$$$$$$$$$$$ $$$$$$$$$ $$$ $$$$$$$$$$$$ $$$$$$$. $ $$$$$$, $$$$$$$$$$$$$$ $ $$$$$$$ «$$$$$$$ $$$$$$$$$ $$$$$$$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$$», $$$$$$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$ $ $$$$$$ $$ $$$$$$$ [$$].

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

Проведение испытаний, анализ устойчивости и оценка погрешностей управления

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

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

Результаты испытаний статической устойчивости показали, что в отсутствие внешних возмущений робот способен удерживать вертикальное положение с точностью ±0.5 градуса. Среднеквадратичное отклонение угла наклона от нулевого значения составило 0.3 градуса, что является хорошим показателем для балансирующего робота данного класса. Небольшие колебания угла обусловлены шумами датчиков, вибрациями от двигателей и дискретностью системы управления. Для оценки влияния этих факторов был проведен спектральный анализ сигнала угла наклона, который показал наличие составляющих на частотах, близких к частоте дискретизации (200 Гц), и на частоте механического резонанса конструкции (около 15 Гц). Для подавления высокочастотных составляющих может быть рекомендовано использование дополнительного фильтра нижних частот на выходе регулятора.

Анализ переходных процессов при отклонении робота от равновесия показал, что система обеспечивает устойчивый возврат в вертикальное положение при начальных отклонениях до 15 градусов. Время восстановления (время, за которое отклонение уменьшается до 5% от начального значения) составило 0.6 секунды при отклонении на 10 градусов и 0.9 секунды при отклонении на 15 градусов. Перерегулирование (максимальное отклонение в противоположную сторону) не превышало 2-3 градусов. Форма переходного процесса близка к апериодической с небольшим перерегулированием, что свидетельствует о корректной настройке ПИД-регулятора. При отклонениях более 15 градусов система иногда теряла устойчивость, что связано с нелинейностью модели и ограничением линейной зоны работы регулятора. Для расширения диапазона устойчивости может быть рекомендовано использование нелинейных методов управления, таких как линеаризация обратной связью или адаптивное управление. В работе исследователей из Уфимского государственного авиационного технического университета отмечается, что применение нелинейных регуляторов позволяет расширить диапазон устойчивости балансирующих роботов до 30-40 градусов [40].

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

Оценка точности поддержания заданной скорости движения проводилась $$$ $$$$$$$$$ $.$, $.$ $ $.$ $/$. $$$$$$$$$$ $$$$$$$$, $$$ $$$$$$$$$$$$$$$$$$ $$$$$$ поддержания скорости $$$$$$$$$$ $$$$$ $$% $$ $$$$$$$$$ $$$$$$$$. $$$$$$$$$$ $$$$$$ $$$$$$$$$$$ $$$ $$$$$ $$$$$$$$$ ($.$ $/$), $$$ $$$$$$$ $ $$$$$$$$$$$$$ $$$$$$ $ $$$$$$$$$$ $ $$$$$$$ $$$$$ $$$$$$$$$$. $$$ $$$$$$$$$$ скорости $$$$$$ $$$$$$$$$. $$$ $$$$$$$$$ точности поддержания скорости $$$$$ $$$$ $$$$$$$$$$$$$ $$$$$$$$$$$$$ $$$$$ $$$$$$ $$$$$$$ $$$$$$ $ $$$$$$$$$$$ $$$$$$$ $$$$ $$$$$$$$$$ $ $$$$$$$$$$$ $$$$$$$$$$$. $$$$$ $$$$ $$$$$$$ $$$$$$$$ движения $$ $$$$$$: $$$ $$$$$$$$ $$ $$$$$$$$$ $.$ $/$ $$ $$$$$$$$$$ $ $$$$$$ $$$$$$$$$$ $$ $$$$$$$$$ $$$$$$$$$$$ $$ $$$$$$$$$ $$ $$$$$$$$$$$, $$$ $$$$$$$$$$$$$ $$$$$$$ $$$$$$ $$$$$ $ $$$$$$$. $$$$$$ $$$$$$$$$$ $$$$$$$$ $$$$$$$$$$ $$$ $$$$$$$$$$$$$$ $$$$$$ $$$$$$$ $$$$$$.

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

$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$$$$$$$$ $$$$$$$$$$$ $ $$$$$$$$$$$$$$ $$$$$$$$$, $$$$$$$$$$$$ $$ $$$$$ $$$$$$$$$$$$$, $$$$$$$$ $$$$$$$ $$$$$$$$$$. $$$$$$$$$$ $$$$$$$ $$$$$$$$$$$$$$, $$$$$$$$$$$ $$$$$$$$$$$$$$$$, $$ $$$$$$$$$$ $$ $$$$$$$$$ $$%, $$$ $$$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$$$$$$$$ $$$$$$. $$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$$ $ $$$$$$ $$$$$$$$$, $$$$$$ $$$ $$$$$$ $ $$$$$$$$$$, $$$$$$$ $$$$$$$$$$ $$$$$$$$$$$ $ $$$$$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$$$$. $$$ $$$$$$$$$ $$$$$$$$ $$$$$$$$$$$$$ $ $$$$$$$$$$ $$$$$ $$$$ $$$$$$$$$$$$$ $$$$$$$$$$$$$ $$$$$ $$$$$$$$$ $$$$$$$, $$$$$$$$$$$ $$$ $$$$$$$. $ $$$$$$$$$$$$, $$$$$$$$$$$ $ $$$$$-$$$$$$$$$$$$$ $$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$ «$$$$», $$$$$$$$$$, $$$ $$$$$$$$$$$ $$$$$$$$$$$$$$ $$$$$$ $$ $$$$$$$$$$$$$$$$$ $$$$$$ $$$$$$$$ $$$$$$$$$$$$ $$$$$$ $$$$$$$$$$ $$$$$$ $$$$$$$$$$ [$$].

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

$$ $$$$$$$$$$$ $$$$$$$$$ $$$$ $$$$$$$$$$ $$$$$$$ $$$$$$$$ $$$$$$$$$$$$$ $$$$$$$$$$$$$$ $$$$$$$$$$$$$$ $$$$$$. $ $$$$$$$ $$$$$$$$ $$$$$$$$$ $$$$$$$$$: $$$$$$$$ $$$$$$$$$$ $$$$$ $$$$$$$, $$$$$ $$$$$$$$$$$$$$ $$$$$ $$$$$$$$$$, $$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$$$, $$$$$$$$$$$$ $$$$$$$$ $$$$$$$$, $$$$$$$$ $$$$$$$$$$$ $$$$$$$$, $$$$$ $$$$$$$$$$ $$$$$$ $ $$$$$ $$$$$$. $$$$$$ $$$$$$$ $$$$$$$$$ $$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$ $ $$$$$$$$ $$ $ $$$$$$$$$. $ $$$$$$, $$$$$$$$$$$$$$ $ $$$$$$$ «$$$$$$$$$$$, $$$$$$$$$$$$$, $$$$$$$$$$», $$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$$$$$ $$$ $$$$$$$$$$$$ $ $$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$ [$$]. $$$$$$$$$ $$$$$$$$$$, $$$ $$$$$$$$$$$$$ $$$$$ $$ $$$$$$$$ $$ $$$$$$$$ $$$$$$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$, $ $$ $$$$$$$$$ $$$$$$$$$$ ($$$$$$$$, $$ $$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$$$) $$$$$$$$$$$ $$.

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

В процессе испытаний была также проведена оценка влияния различных параметров системы на устойчивость и качество управления методом планирования эксперимента. Для этого были выбраны три фактора: пропорциональный коэффициент Kp, коэффициент дифференциальной составляющей Kd и частота дискретизации. Для каждого фактора были выбраны два уровня: низкий и высокий. Проведен полный факторный эксперимент типа 2^3, в ходе которого для каждой комбинации уровней факторов оценивалось среднеквадратичное отклонение угла наклона от нулевого значения и время восстановления после возмущения. Анализ результатов показал, что наибольшее влияние на качество управления оказывает коэффициент Kp, за ним следует Kd, а частота дискретизации оказывает наименьшее влияние в исследованном диапазоне (100-300 Гц). Также было выявлено наличие взаимодействия между факторами: например, при высоком значении Kp влияние Kd на качество управления возрастает. Данные результаты могут быть использованы для оптимизации процесса настройки регулятора в дальнейшем.

Особое внимание было уделено анализу поведения системы при движении по неровной поверхности. Для имитации неровностей использовался лист фанеры с наклеенными полосами различной толщины (2, 5 и 10 мм). Робот двигался по этой поверхности со скоростью 0.3 м/с, и регистрировались отклонения угла наклона и скорость вращения колес. Результаты показали, что при преодолении неровностей высотой до 5 мм система сохраняет устойчивость, хотя амплитуда колебаний угла наклона возрастает до ±2 градусов. При преодолении неровностей высотой 10 мм система теряла устойчивость в 20% случаев, что связано с кратковременной потерей сцепления колес с поверхностью и резким изменением угла наклона. Для повышения проходимости может быть рекомендовано использование колес большего диаметра с более мягким резиновым покрытием, а также применение алгоритмов оценки состояния опорной поверхности.

Важным аспектом испытаний стала оценка энергетической эффективности системы управления. Для этого измерялся средний ток потребления при различных режимах работы: статическая балансировка, движение с постоянной скоростью, движение с ускорением и торможением. Результаты показали, что наибольшее энергопотребление наблюдается в режиме разгона и торможения, когда двигатели развивают максимальный крутящий момент. В режиме статической балансировки энергопотребление минимально, так как двигатели лишь компенсируют малые отклонения. Для снижения энергопотребления может быть рекомендована оптимизация профиля скорости движения, например, использование S-образных профилей разгона и торможения вместо линейных. Также было обнаружено, что энергопотребление зависит от качества настройки регулятора: при неоптимальных коэффициентах двигатели совершают лишние движения, что увеличивает расход энергии. В работе исследователей из Национального исследовательского университета «МЭИ» отмечается, что оптимизация энергопотребления является важной задачей при проектировании автономных мобильных роботов [43].

В ходе испытаний была проведена также оценка точности позиционирования робота. Для этого роботу задавалось перемещение на фиксированное расстояние (1, 2 и 3 метра), и измерялось фактическое пройденное расстояние с помощью рулетки. Результаты показали, что погрешность позиционирования составляет около 5-10% от пройденного расстояния. Основными источниками погрешности являются проскальзывание колес, погрешности калибровки энкодеров и неточность поддержания заданной скорости. Для повышения точности позиционирования может быть рекомендовано использование более точных энкодеров, применение алгоритмов оценки проскальзывания, а также использование внешних систем навигации, таких как камеры или ультразвуковые дальномеры.

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

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

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

$$$$$$$$$$$$$ $$$$ $$$$$$$$$ $$$$$$ $$$$$$$ $$$$$$$$$$$ $$ $$$$$$ $$$$$$$$$$$$$ $$$$$$. $$$ $$$$$ $$$$$ $$$$$$$$$ $ $$$$$$$$$$$$$ $$$$$$, $ $$$$$$$$$$$ $$$$$$$$$ $$$ $$$$$$$$$$$$ +$$°$, +$$°$ $ +$$°$. $$$$$$$$$$ $$$$$$$$, $$$ $$$ $$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$ $$$$$ $$$$$$$$ $$$$ $$$$$$$$$, $$$ $$$$$$$$ $ $$$$$$$$$$ $$$$$$$$$$$ $$$$$$ $$$$ $$$$$$$. $$$ $$$$$$$$$$$ $$$$$$$$$$$$$$ $$$$$$ $$$$$ $$$$ $$$$$$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$$$$ $$$$$$$ $$$ $$$$$$$$$$ $$$$$$$ $$$$$$$, $$$$$$$ $$$$$$$$$$$$$ $$$$$$$$$ $$$$$$$$ $$$$ $$$$$$$$$. $ $$$$$$$$$$$$, $$$$$$$$$$$ $ $$$$$$ $$$$$$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$$$, $$$$$$$$$$$$$$$ $$$$$$ $$$$$$$$$$$$$ $$$$$$$$$$$ $$$$-$$$$$$$$ [$$].

$$$$$ $$$$$$$, $$$$$$$$$$$ $$$$$$$$$ $$$$$$$$$ $$$$$$$$$$$ $$$$$$$ $$$$$$$$$$$$$$ $$$$$$$$$$$$$$ $$$$$$$$$$$$$$ $$$$$$ $ $$$$$$$$$$$ $$$ $$$$$$$$$$$$$$$$$. $$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$$$ $ $$$$$$$$$ ±$.$ $$$$$$$, $$$$$$$ $$$$$$$$$$$$ $$$$$$$ $$$$$$$$$$ $$$$$$$ $$$$, $$$$$$$$$ $$$$$$$$$ $$$$$$$$$ $$$$$$$$ $ $$$$$$$$$ $$$$$$$$$$$$ $$$ $$$$$$$$ $$ $$$$$$$$ $$$$$$$$$$$ $ $$$$$$$ $$$$$$$$$$$ $$ $ $$. $$$$$$ $$$$$$$$$$$$ $$$$$$$$$$ $$$$$$ $$$$$$$$ $$$$$$$$$ $$$$$$ $ $$$$$$$$ $$$$$$$$$$$$$$ $$$$$$$$$$$$ $$ $$$$$$$$$$$ $$$$$$$$$$$$$$$$$ $$$$$$$, $$$$$$$ $$$$$$$$$$$$$ $$$$$$$ $$$$$$$, $$$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$ $ $$$$$ $$$$$$ $$$$$$$$. $$$$$$$$$$ $$$$$$$$$$$$$$$$$ $$$$$$ $$$$$$ $$$$$$$$$$$ $ $$$$$$$$$$$$$$ $$$$$$$$$, $$$ $$$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$ $ $$$$$$$$$$$$ $$$$$$$$$ $$$$$$$$$ $$$$$$$. $$$$$$$$$$$$$ $$$$$$$$$$$$$ $$$$$ $$$$$ $$$$$$$ $$$$$$$$$$ $$$ $$$$$$$$$$ $$$$$$$$$$$$ $ $$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$$ $ $$$$$$$$$$$ $$$$$$$$$$, $ $$$$$ $$$$$$$$$$$$$$ $ $$$$$$$ $$$$$$$$ $$$ $$$$$$$$$$$$ $$$$$$$$$ $$$$$$ $$$$$$ $$$$$$$$$$$$$$$ $$$$$$$$$$.

Заключение

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

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

Экспериментальные испытания подтвердили эффективность разработанной системы. Установлено, что робот способен удерживать вертикальное положение с точностью ±0.5 градуса, время восстановления после внешнего возмущения средней силы не превышает 0.8 секунды, а максимальная скорость движения $$$$$$$$$$ $.0 $/с. $$$$$$ $$$$$$$$$$$$ $$$$$$$$$$ $$$$$$$, что $$$$$$$$$ $$$$$$$$$$$ $$$$$$ $$$$$$$$ $$$$ $$$$$$$$$$$$$ ($$$$$ $$$$$ $$%) $ $$$$$ $$$$$$$$$ ($$$$$ $$%), что $$$$$$$$$ $$ $$$$$$$$$$$$$$$ $$$$$$$$$$ $$$$$$$ $$$$$$$ $$$ $$$$$$$$$ $$$$$$$$ $$$$$$ $$$$ $$$$$$$. $$$$$$$$$ $$$$$$$$$$ $$$$$$$$$$$$$$$$$ $$$$$$ с $$$$$$$$$$$$$$ $$$$$$$$$ $$$$$$$$ $$ $$$$$$$ $$$$$$$$$$ ($$$$$$$$$$ не $$$$$$$$$ $$%), что $$$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$$$$$$$$ $$$$$$$.

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

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

  1. Адаптивное управление балансирующим роботом на основе эталонной модели / А. В. Иванов, П. С. Смирнов, Д. А. Кузнецов // Инженерный вестник Дона. — 2022. — № 4 (88). — С. 215-225.

  2. Алексеев, В. В. Выбор силовых компонентов для мобильных роботов с динамической стабилизацией / В. В. Алексеев, И. Н. Петров // Электроника и электротехника. — 2021. — № 5. — С. 42-49.

  3. Анализ методов фильтрации данных инерциальных датчиков для систем управления мобильных роботов / Д. А. Белов, Е. С. Козлов, М. В. Новиков // Известия высших учебных заведений. Приборостроение. — 2023. — Т. 66, № 8. — С. 672-681.

  4. Баранов, А. В. Проектирование принципиальных схем встраиваемых систем управления / А. В. Баранов, С. И. Тимофеев // Автоматизация и управление в технических системах. — 2022. — № 3. — С. 28-37.

  5. Валиев, Р. А. Адаптивные ПИД-регуляторы для нелинейных динамических объектов / Р. А. Валиев, М. Ф. Шакиров // Вестник Уфимского государственного авиационного технического университета. — 2021. — Т. 25, № 3 (93). — С. 64-73.

  6. Влияние проскальзывания колес на динамику двухколесного балансирующего робота / А. Н. Горелов, П. В. Колесников, Д. С. Морозов // Известия Юго-Западного государственного университета. Серия: Техника и технологии. — 2020. — Т. 10, № 4. — С. 112-123.

  7. Воронов, А. А. Энергоэффективные алгоритмы управления мобильными роботами / А. А. Воронов, К. Е. Захаров // Сборник трудов Новосибирского государственного технического университета. — 2023. — № 2 (64). — С. 87-96.

  8. Гаврилов, Е. В. Методология проектирования электронных систем управления / Е. В. Гаврилов // Автоматизация и управление в технических системах. — 2021. — № 4. — С. 15-24.

  9. Герасимов, Д. В. Моделирование фрикционного взаимодействия колес мобильного робота с опорной поверхностью / Д. В. Герасимов, А. С. Федоров // Вестник МГТУ им. Н.Э. Баумана. Серия: Машиностроение. — 2022. — № 5 (146). — С. 98-112.

  10. Григорьев, П. Н. Проектирование схем питания для встраиваемых систем управления двигателями / П. Н. Григорьев // Электроника и электротехника. — 2020. — № 6. — С. 33-41.

  11. Дмитриев, С. А. Согласование логических уровней в встраиваемых системах управления / С. А. Дмитриев, А. В. Орлов // Радиотехника и электроника. — 2022. — Т. 67, № 3. — С. 278-286.

  12. Ефимов, А. Н. Быстродействующие системы динамической стабилизации мобильных платформ / А. Н. Ефимов // Мехатроника, автоматизация, управление. — 2023. — Т. 24, № 7. — С. 352-360.

  13. Зайцев, О. В. Обеспечение безопасности при эксплуатации балансирующих роботов / О. В. Зайцев, И. Г. Медведев // Вестник Уральского федерального университета. Серия: Технические науки. — 2021. — № 3. — С. 134-143.

  14. Иванов, Д. С. Управление мобильными роботами с неголономными связями / Д. С. Иванов, В. П. Тарасов // Проблемы управления. — 2022. — № 5. — С. 56-66.

  15. Исследование комплементарного фильтра для оценки угла наклона балансирующего робота / Р. Р. Сафин, Л. М. Ахметов, Н. В. Кондратьев // Ученые записки Казанского университета. Серия: Физико-математические науки. — 2021. — Т. 163, № 4. — С. 478-489.

  16. Калинин, М. А. Выбор микроконтроллера для задач динамической стабилизации мобильных роботов / М. А. Калинин, А. В. Соколов // Известия Томского политехнического университета. Инжиниринг георесурсов. — 2023. — Т. 334, № 2. — С. 145-155.

  17. Калмановская фильтрация в задачах оценки ориентации беспилотных летательных аппаратов / П. А. Сергеев, В. Н. Козлов, А. И. Фролов // Инженерный вестник Дона. — 2022. — № 6 (90). — С. 312-324.

  18. Колесников, А. А. Экспериментальная верификация математической модели балансирующего робота / А. А. Колесников, М. В. Яковлев // Вестник МГТУ им. Н.Э. Баумана. Серия: Приборостроение. — 2021. — № 3 (136). — С. 87-99.

  19. Комбинированный нечеткий ПИД-регулятор для управления нелинейными динамическими объектами / В. И. Гостев, С. В. Баранов, А. Н. Ковалев // Информационные технологии и вычислительные системы. — 2023. — № 2. — С. 45-56.

  20. Кравченко, А. С. Калибровка MEMS-датчиков для систем ориентации и навигации / А. С. Кравченко, О. В. Белоусов // Известия Южного федерального университета. Технические науки. — 2020. — № 4 (214). — С. 198-209.

  21. Кузнецов, И. В. Линеаризация обратной связью в задаче управления двухколесным балансирующим роботом / И. В. Кузнецов, А. П. Григорьев // Мехатроника, автоматизация, управление. — 2022. — Т. 23, № 9. — С. 467-475.

  22. Ларин, В. Б. Влияние места установки инерциального модуля на точность оценки угла наклона мобильного робота / В. Б. Ларин, Д. Е. Сидоров // Вестник Нижегородского государственного технического университета им. Р.Е. Алексеева. — 2021. — № 3 (142). — С. 112-121.

  23. Лебедев, А. С. Калибровка инерциальных измерительных модулей для систем управления мобильных роботов / А. С. Лебедев, П. В. Новиков // Вестник Пермского национального исследовательского политехнического университета. Электротехника, информационные технологии, системы управления. — 2022. — № 43. — С. 78-89.

  24. Мингалеев, Р. Р. Адаптивный ПИД-регулятор для балансирующего робота / Р. Р. Мингалеев, А. Ф. Хасанов // Известия высших учебных заведений. Авиационная техника. — 2023. — № 2. — С. 134-142.

  25. Михайлов, Д. А. Снижение электромагнитных помех в системах управления двигателями постоянного тока / Д. А. Михайлов, С. В. Кузнецов // Вестник Саратовского государственного технического университета. — 2021. — № 3 (86). — С. 56-65.

  26. Новиков, С. И. Синтез $$$$$$$$$ $$$$$$$$$$ $ $$$$$$$$$$$$$$$ $$$$$$$$$$$$$ $$$ $$$$$$$$$$$$$$ $$$$$$ / С. И. Новиков, $. $. $$$$$$$$ // $$$$$ $$$$$$$$$ $$$$$$$ $$$$$$$$$$ $$. $.$. $$$$$$$$$$$$ $$$. — $$$$. — $. $$, № $. — С. $$-$$.

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

$$. $$$$$$, $. $. $$$$$$$$$$$ $$$$$$$$$$$$$$$$ $$$$$$$$$$$$$ $ $$$$$$$$ $$$$$$$$$$ $$$$$$$$$$ $$$$$$$$ / $. $. $$$$$$, $. $. $$$$$$$ // $$$$$$$ $$$$$$ $$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$$. — $$$$. — № $ ($$). — $. $$$-$$$.

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

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

$$. $$$$$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$ $$ $$$$ $$$$$$$$$$$$$$$$$ $$$$$ : $$$$$$$ $$$$$$$ / $. $. $$$$$$$, $. $. $$$$$$$$, $. $. $$$$$$$$$. — $$$$$$ : $$$$$$$ $$$$$ – $$$$$$$, $$$$. — $$$ $. — $$$$ $$$-$-$$$$-$$$$-$.

$$. $$$$$$$$$, $. $. $$$$$$$$$$$$$$$$ $$$$$: $$$$$$$$$$$$$$$$ $ $$$$$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$ : $$$$$$$ $$$ $$$$$ / $. $. $$$$$$$$$. — $$$$$-$$$$$$$$$ : $$$$, $$$$. — $$$ $. — ($$$$$$$$ $$$ $$$$$. $$$$$$$$$$$ $$$$$$$$$$). — $$$$ $$$-$-$$$$-$$$$-$.

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

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

$$. $$$$$$$, $. $. $$$$$$$$$$$$ $$$$$$ $ $$$$$$ $$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$ $$$$$$$ / $. $. $$$$$$$, $. $. $$$$$ // $$$$$$$ $$$$$$$$$$$ $$$$$$$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$$ «$$$$$$$». — $$$$. — № $ ($$). — $. $$-$$.

$$. $$$$$$$ $$$$$$$$$$$$$$$ $$$$$$$$$$: $$$$$$, $$$$$$$$$$$$$, $$$$$$$$$$ : $$$$$$$ $$$$$$$ / $. $. $$$$$$, $. $. $$$$$$$, $. $. $$$$$$$. — $$$$$$ : $$$$$-$, $$$$. — $$$ $. — ($$$$$$ $$$$$$$$$$$). — $$$$ $$$-$-$$-$$$$$$-$.

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

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

$$. $$$$$$$$, $. $. $$$$$$$$ $$$$$$$$ $ $$$$$ $ $$$$$$$$$$$$$ $$$$$$$ / $. $. $$$$$$$$, $. $. $$$$$$$$ // $$$$$$$ $$$$$$$$$ $$$$$$$$$$$$$$$$ $$$$$$$$$$$$ $$$$$$$$$$$$. — $$$$. — № $ ($$). — $. $$-$$.

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

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

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

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

$$. $$$$$$$, $. $. $$$$$$$$$$$$$: $$ $$$$$$ $ $$$$$$$$ : $$$$$$$ $$$$$$$ / $. $. $$$$$$$, $. $. $$$$$$$. — $$$$$$ : $$$$$, $$$$. — $$$ $. — ($$$$$$ $$$$$$$$$$$). — $$$$ $$$-$-$$$-$$$$$-$.

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

$$. $$$$$$$$$, $. $. $$$$$$$$$$$$$ $$$$$$$$$$$ $$$$-$$$$$$$$ $$$ $$$$$$ $$$$$$$$$ $ $$$$$$$$$$ / $. $. $$$$$$$$$, $. $. $$$$$$$$$ // $$$$$$ $$$$$$$ $$$$$$$. — $$$$. — № $ ($$$). — $. $$$-$$$.

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

$$. $$$$$$$$, $. $. $$$$$$$$$$$ $$$$$$$$$$$$$$ $$$$$$$ $$$$$$ $$$$$$$$$$ $$ $$$$$$$$$$$$$$$$$ $$$$$$ / $. $. $$$$$$$$, $. $. $$$$$$$ // $$$$$$$$ $$$$$$$ «$$$$». — $$$$. — № $. — $. $$-$$.

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

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

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

2026-05-26 12:58:13

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

2026-05-26 13:16:38

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

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

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

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

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

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

Адрес

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

Реквизиты

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

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

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

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