Робот балансир на колесах Илона (Mecanum)

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

Робот балансир на колесах Илона (Mecanum) Робот, Arduino, Видео, Длиннопост, Колесо Илона

Робот построен по стандартной «двухколесной» схеме для данного типа балансиров. Хотя на самом деле колеса 4, но мы будем их считать парами, и каждая пара образует комбинированное колесо. Оставить только два колеса нельзя, так как утратиться стабильность.

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

Робот балансир на колесах Илона (Mecanum) Робот, Arduino, Видео, Длиннопост, Колесо Илона

Управляет всем ардуино мега. Не то чтобы мне нужно было огромное количество контактов, но под нее есть место и CNC шилд закрывает только половину, оставляя кучу контактов в легком доступе. Управление происходит через UART, так что, когда их на плате 4 штуки тоже плюс, чтобы прошить не нужно ничего отключать. Для связи используется радиомодуль HC11 – простой прозрачный беспроводной UART, такой же модуль стоит на пульте. За углом наклона следят гироскоп с акселерометром в виде MPU6050. На самом верху расположены 6 аккумуляторов 18650, соединенных в батарею 3s2p.

Робот балансир на колесах Илона (Mecanum) Робот, Arduino, Видео, Длиннопост, Колесо Илона

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

Робот балансир на колесах Илона (Mecanum) Робот, Arduino, Видео, Длиннопост, Колесо Илона

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

Робот балансир на колесах Илона (Mecanum) Робот, Arduino, Видео, Длиннопост, Колесо Илона

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

Робот балансир на колесах Илона (Mecanum) Робот, Arduino, Видео, Длиннопост, Колесо Илона

Пульт. На перфорированной плате установлена ардуино про мини и 6 кнопок: вперед-назад, повороты вправо-влево и линейное движение вправо-влево. Так же установлен статусный RGB светодиод ws2812, который пока скорее для красоты. Все это смонтировано на холдер для двух аккумуляторов 18650. В качестве питания два аккумулятора18650. Сигнал передается через ранее упомянутый модуль HC11.

Робот балансир на колесах Илона (Mecanum) Робот, Arduino, Видео, Длиннопост, Колесо Илона

Спасибо, что дочитали до конца, надеюсь было интересно. До скорого)

Видео версия, если вдруг кому-то будет интересно следить за моим творчеством в таком формате.

Демонстрация работы робота 0:00, 0:37, 3:23 и 4:35.