Найти в Дзене
КБ Михалёва

Балансирующий робот на Ардуино - новый курс изучения в робототехнике

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

Сборка балансирующего робота в лаборатории детской робототехники
Сборка балансирующего робота в лаборатории детской робототехники

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

Этот курс я даю для учеников, собравших первого робота и получивших опыт в программировании на курсе по сборке манипулятора. Об этом курсе я уже писал ране в своей статье. Повторюсь, что он необходим для освоения практики механики (сборка манипулятора требует хорошей усидчивости и аккуратности в сборке) и программирования по разным осям, управляемыми 4-5 сервоприводами. Программирование происходит в графическом интерфейсе Scratch-программ, позволяющего осваивать задачу в более простой и удобной форме освоения, нежели более сложное на С++, описываемого практически во всех книгах по изучению Ардуино.

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

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

Здесь же потребуется лишь часть данных получаемых с этого модуля, а точнее значения акселерометра и гирокомпаса по одной оси (Х или Y, в зависимости от того, как был закреплен сам модуль на роботе).

Мы не уходим в сложные формулы, где вычисляются углы, линейный ускорения и т.п., в изобилии присутствующих в учебниках по этой теме. Я эту тему приподношу в более простой форме, как значение акселеромета, изменяемого при отклонении от вертикали робота от +8000 до -8000 (при параметре 4g) который при необходимости можно перевести в угол отклонения просто разделив значение на 90. Условно, но на практике удобно в применении.

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

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

Учебный балансирующий робот
Учебный балансирующий робот

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

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

С уважением к читателям и подписчикам канала,

Михалев СИ, руководитель конструкторского бюро и лабораторий детской робототехники