Как стать автором
Обновить

Стюарт, Миньон Стюарт

Время на прочтение 3 мин
Количество просмотров 7.2K
Мы — команда uMove, студенты Технопарка в Бауманке и резиденты ЦМИТ Академии, занимаемся различными web проектами для своего удовольствия и немного железом. Сегодня мы хотим представить на ваш суд нашего робота миньона. Система состоит из TCP клиента (робота) и сервера (панели управления оператора).



Идея


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

Электроника и электромеханика


Имея некоторый опыт в разработке электроники, мы решили остановиться использовании уже знакомых нам комплектующих. Помимо опыта, мы опирались на ценовой фактор и наличие компонентов у себя или в магазине. Итого у нас получилось:
  • ODROID-X2 — одноплатный компьютер с arm версией Ubuntu на борту используется в качестве основного вычислительного блока;
  • NUCLEO-F411RE — плата на базе микроконтроллера STM32F4 для работы с драйверами двигателей и энкодерами;
  • SPARK — Wi-Fi модуль с микроконтроллером STM32 для мониторинга заряда банок LiPo аккумуляторов, а также для управления селфи-палкой и диодной лентой;
  • Стабилизаторы питания для напряжений 3.3, 5 и 12 Вольт с максимальным выходным током от 3 до 10 Ампер;
  • Коллекторные двигатели с крутящим моментом 28 кг*см каждый;
  • Драйвер коллекторных двигателей;
  • Лидар — оптический радар, совершает 1800 измерений в секунду. Оптопара вращается с частотой 5 об/сек и измеряет дальность препятствий на каждом углу от 0 до 359 градусов. Вытащили из робота-пылесоса;
  • 2 web камеры, на селфи-палке установлен широкоугольный объектив;



Софт


Софт целиком написан на С++, как клиент, так и сервер. Сервер выступает в качестве GUI для управления роботом. Для графики использовали библиотеки SDL. На клиенте используется openCV для работы с камерами, а также самописный класс для общения компьютера с микроконтроллерами по UART. Приборная панель выполняет следующие функции:
  • Отображение видеопотока с камер;
  • Управление движением робота кнопками W, A, S, D;
  • Отслеживание заряда батарей;
  • Включение звукового сопровождения робота;
  • Съемка селфи и отправка снимков в инстаграм и вконтакте;



Корпус


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





Селфи-палка


Идея с научить робота делать селфи возникла за неделю до сдачи проекта. Робота отправили на Startup Village, где его хотели проверить в реальных условиях. Как выяснилось, робот не вызывал особых эмоций у посетителей. Не хватало интератива, взаимодействия с гостями. По факту, робот выглядел как радиоуправляемая машинка в милом облике. Что же делать? Ответ пришел сам собой, когда в Сколково приехал Медведев. Все, что делала толпа в его присутствии — это делала селфи! Ок, робот тоже будет делать селфи!) Оставалось только найти подходящую камеру и сервопривод. Сейчас мы используем дополнительный сервер, на котором можно посмотреть все отснятые фотографии и запостить их в соц. сети. Это сделано для того, чтобы не отправлять в соц.сеть лишний мусор из неудавшихся снимков. Кроме того, отдельный сервер позволит в дальнейшем отправлять посты в разные соц.сети, не меняя ПО робота.

Развитие


Как и все на свете, робот требует постоянного усовершенствования. Отказавшись от идеи автономного робота, львиная доля железа стала ненужной: вместо ODROIDа можно смело ставить менее мощную Raspberry Pi, лидар никакого функционала не несет, NUCLEO и SPARK можно смело заменить за дешевую Arduino Uno. Итого, получается экономия около 9 тыс. рублей. Кроме того, очень много времени ушло на проектирования сборной конструкции, в следующий раз будем тщательней искать 3D принтер с большей областью печати.

Очень хочется получить обратную связь от любителей и профессионалов, впечатления и советы. Всем BANANA!

Теги:
Хабы:
+7
Комментарии 4
Комментарии Комментарии 4

Публикации

Истории

Ближайшие события

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн
Геймтон «DatsEdenSpace» от DatsTeam
Дата 5 – 6 апреля
Время 17:00 – 20:00
Место
Онлайн