Назад в библиотеку

Автономный балансирующий робот

Автор: Christian Sundin, Filip Thortensson

Перевод: А. В. Суков.
Источник: Autonomous balancing robot. Department of Signals and Systems, Chalmers university of technology, Goteborg, Sweden, 2012.

Цели и задачи

Основная цель состоит в том, чтобы спроектировать и построить робота, который будет балансировать на двух колесах, и он должен быть в состоянии нести нагрузку вроде небольшой миски конфет. Робот должен уметь работать самостоятельно, без какого-либо руководителя. После нажатия на кнопку пуск робот должен быть автономным. Он также должен быть небольшим, чтобы не нуждаться в большом количестве места, легко переносимым и достаточно гибким, чтобы его можно было показать на небольшом пространстве, доступом на выставке. Компоненты должны быть легко просматриваемыми для зрителей. Робот должен:
• уметь балансировать на двух колесах;
• быть в состоянии перевезти небольшой груз;
• быть небольшим, легко переносимым;
• быть стабильным и не делать каких-либо больших нежелательных движений;
• быть в состоянии двигаться на маленьком столике, не падая с краёв;
• быть в состоянии обнаруживать и взаимодействовать с людьми;
• стоить меньше, чем 5000 SEK.

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

Ограничения

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

Обнаружение человека

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

Ограничения стола

Стол не должен быть чёрного или неотражающего света, так как в данном случае датчики расстояния робота для обнаружения края стола не будут работать. Он также будет горизонтальным и стабильным, это означает, что он не будет двигаться, когда колеса вращаются. Стол также будет не скользким.

Ограничения датчика

Датчики расстояния до стола будут работать на расстояниях от 0 до 10 см. Они установлены на расстоянии 6 см от стола, но расстояние изменится, когда робот будет балансировать и наклоняться. Инфракрасный датчик для идентификации человека будет работать на расстоянии от 10 до 80 см, и не будет обнаруживать объекты черного цвета или человека, носящего чёрную одежду.

Алгоритмы управления

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

Рисунок

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

Рисунок 2

Конструирование ЛКР-регулятора начинается с передачи линеаризованной модели системы в дискретном виде. Далее, матрицы Q и R устанавливаются в начальное значение, и затем регулируются. В конце, используя в пакете Matlab функцию dlqr, получаются значения усилителя К по обратной связи. Результаты построенного ЛКР-регулятора изображены на рисунке 3.

Рисунок 3 - Рекация системы

Рисунок 3 – Реакция системы, управляемой ЛКР-регулятором при отклонении от позиции в 1 метр и начальными условиями по углу в 17 градусов

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

Рисунок 4 - Рекация системы

Рисунок 4 – Реакция системы, управляемой ЛКР-регулятором при наклоне в 15 градусов и начальными условиями по углу в 15 градусов и отклонению от позиции в 2 метра

Был успешно разработан и промоделирован фаззи-регулятор, но из-за повышенной сложности его применения в среде микроконтроллера (в сравнении с другими регуляторами) он не был реализован и протестирован на реальной платформе.

Рисунок 5 - Рекация системы

Рисунок 5 – Реакция системы, управляемой фаззи-регулятором при отклонении от позиции в 7 метров и начальными условиями по углу в 17 градусов