Робот телеприсутствия. Выпускник 2020

Введение

События начала и середины 2020 года связанные с пандемией COVID-19 наложили отпечаток не только на учебный процесс, но и планируемые ежегодные мероприятия, проводимые в стенах нашего университета. В частности, торжественное вручение дипломов о высшем образовании на нашем факультете было решено провести в онлайн режиме. Для реализации данной задачи командой СНИЛ «Робототехника» было предложено решение, позволяющее достаточно бюджетно и, при этом, эффектно провести вручение дипломов.

Разработка устройства состояла из следующих этапов:

  1. Мозговой штурм. Выработка идеи.
  2. Подбор компонентов
  3. Изготовление несущей конструкции
  4. Монтирование электроники
  5. Программирование
  6. Отладка готового устройства.

Мозговой штурм. Выработка идеи

В ходе данного этапа было предложено достаточно простое решение: радиоуправляемая тележка и планшет с соответствующим программным обеспечением (о нем ниже), позволяющем участвовать в телеконференции. Несущую часть конструкции было решено собрать из ПВХ труб, которые должны быть установлены на тележку с четырьмя роликонесущими колёсами (mecanum wheels) для хорошей маневренности в условиях небольшого пространства аудитории. Вся конструкция должна иметь низкий центр масс для предотвращения опрокидывания планшета, который моделирует голову робота. Управление роботом было решено предоставить простой связке Bluetooth → Микроконтроллер → Драйвера моторов.

Подбор компонентов

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

В качестве системы управления была выбрана платформа Arduino UNO c микроконтроллером ATMEGA 328 на борту. По сути, здесь Arduino играет роль преобразователя данных, пришедших со смартфона или планшета по bluetooth в сигналы управления моторами тележки.

Для приёма данных по радиоканалу решено использовать bluetooth модуль HC-05. Работать с данным модулем достаточно просто, что позволяет быстро наладить внешнее управление любым устройством.

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

Осталось решить самый главный вопрос — питание всей системы. Робот должен быть автономным и работать непрерывно как минимум 60-80 минут. После измерения потребления составных частей, а самая энергетически затратная составляющая робота — это тележка с четырьмя моторами, стало ясно, что запитывать всю конструкцию можно от гелевого аккумулятора ёмкостью не менее 7 Ач. В качестве источника энергии можно было использовать и более лёгкие LiPo аккумуляторы, но тогда была бы необходимость в дополнительном грузе на тележке, чтобы снизить центр масс конструкции для предотвращения её опрокидывания (высота конструкции получилась ~ 1.8 м).

Изготовление несущей конструкции

Для изготовления остова мы использовали такой набор ПВХ труб из строительного магазина (рисунок 1)


Рисунок 1 — Комплект ПВХ труб для остова конструкции

Основная труба диаметром 110 мм и длиной 1700 мм снизу была прикручена к тележке (рисунок 2), а сверху заканчивается разветвителем на трубы диаметром 50 мм, которые составляют плечевые части остова (рисунок 3).


Рисунок 2 — Место крепления центральной трубы остова к тележке

Рисунок 3 — Предварительная сборка частей остова

Первая примерка (рисунок 4) показала, что плечевые части из 50 мм труб длинные и конструкция выглядит не очень естественно.


Рисунок 4 — Первая примерка мантии магистра

В связи с этим было решено укоротить трубки почти на половину длины. В итоге, мантия магистра легла на остов намного лучше, по размеру (рисунок 5).


Рисунок 5 — Примерка после укорочения плечевых труб

Для того, чтобы убрать «эффект вешалки», когда мантия выглядит плоской на остове робота было решено сделать проволочный каркас, который придаёт объём и естественность конструкции. Каркас изготовлен из стальной 4 мм проволоки и закреплен на трубах при помощи спроектированного и распечатанного на 3D принтере крепления (Рисунок 6).


Рисунок 6- Часть проволочного каркаса робота

В итоге, используя разработанный крепёж, 4 мм стальную и 1 мм медную проволоку был изготовлен каркас робота, который позволил придать естественный объём конструкции (Рисунок 7).


Рисунок 7 — Проволочный каркас робота

Монтирование электроники

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

В качестве драйверов моторов были выбраны модули на базе L298N (рисунок 8)


Рисунок 8 — Модули драйверов моторов на платформе

Данные модули позволяют одновременно работать с двумя коллекторными моторами и имеют следующие характеристики:

Напряжение питания: 4- 16 В

Максимальный ток: 2 A на канал

Напряжение логики: 5 В (TTL)

Максимальная мощность: 25 Вт

Вес: 35 г.

Размеры: 55x60x30 мм

   Для управления драйверами было использовано проверенное временем решение быстрого прототипирования различных устройств на базе микроконтроллеров — платформа Arduino UNO. В нашем проекте она выполняет задачи своеобразного моста между смартфоном и моторами тележки. В качестве интерфейса взаимодействия смартфона и Arduino был выбран bluetooth и модуль HC-05, реализующий данный интерфейс. В свою очередь, интерфейс взаимодействия Arduino и драйверов моторов был реализован программно, о чем будет рассказано ниже. Источником питания для конструкции был выбран гелевый аккумулятор на  12В 7.2 Aч. В данном случае применение такого аккумулятора (даже двух) оправдано тем, что они помимо снабжения энергией выполняли роль противовесов снижающих центр масс всей конструкции. Таким образом, робот стал не только хорошо энерговооруженным, но и достаточно устойчивым.

Программирование и отладка

Программирование устройства производилось в Arduino IDE cиспользованием стандартных функций Arduino Wiring. При этом для взаимодействия с Bluetooth модулем, использовали библиотеку SoftwareSerial, которая эмулирует работу UART на любых цифровых пинах. Такой подход был выбран для того, чтобы можно было получать отладочную информацию на встроенный UART, а управление тележкой производилось через Bluetooth, модуль которого подключен через SoftwareSerial.

Движения колес оформлены в виде функций, которые вызываются по команде с внешнего устройства (смартфон, планшет). Для каждой команды был выбран номер или код, получив который Arduino активирует соответствующую функцию. Помимо всего прочего, контроллер отправляет данные на смартфон об уровне заряда аккумулятора. Вольтметр собран на резистивном делителе и измерения производит 4 канал АЦП (пин A3). На стороне смартфона использовалось приложение Bluetooth Electronics 1.42. Достаточно понятный интерфейс (Рисунок 9) позволяет быстро сформировать любой пульт управления или мониторинга используя как классический Bluetooth, так и Bluetooth LE.

Рисунок 9 — Интерфейс приложения Bluetooth Electronics

Заключение

Без сомнения, в процессе разработки управляемой платформы команда СНИЛ «Робототехника» получила интересный опыт по изготовлению дистанционно управляемых устройств. Данный прототип, или действующая модель робота-телеприсутствия, ляжет в основу новой разработки, в которой учтём все выявленные недоработки, устраним недостатки нынешней версии и расширим функционал.

p.s. платформа в действии -> https://youtu.be/jMyRNZc2gFU?t=386