Pucks Harvester 2

Pucks Harvester 2 и небольшая часть его наград

Наш самый “урожаный” робот в плане наград. Является дальнейшим развитием конструкции Puck Harvester с учётом обнаруженных недостатков конструкции и наших возросших технических возможностей.

Наиболее значимые победы с данным роботом:

  • RobotChallenge 2018, Пекин, Китай (1-е место)
  • RobotChallenge 2017, Пекин, Китай (2-е место)
  • Robomaticon 2018, Польша, Варшава (1-е место)

Основные технические характеристики:

  • Микроконтроллер STM32F407 (168 МГц, 192 Кб ОЗУ, 1 МБ ПЗУ)
  • 2 мотор-редуктора от автомобильных стеклоподъёмников (управляются драйверами BTS7960, также оборудованы оптическими энкодерами для реализации PID-регуляции скорости движения и навигации)
  • 3 мощных сервопривода (7.4В) - 2 распределителя шайб и 1 для открытия задней стенки для выгрузки собрвнных шайб
  • 4 датчика цвета TCS230
  • 2 ультразвуковых дальномера
  • Литий-полимерный аккумулятор 6S (22.2В)
  • LCD-дисплей с 5 кнопками для калибровки и конфигурации
  • Аллюминиевая рама
  • Деревянные колёса с покрытием отлитым из двухкомпонентного силикона
Pucks Harvester 2 и его авторы

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

Распределительные механизмы (вид снизу)

У робота отсутствует дно, таким образом шайбы перемещаются в нём засчёт перемещения робота вперёд в пространстве. Направляющие сводят их в один из двух сортировочных механизмов, где они попадают в поле зрение датчика цвета. Микроконтроллер считывает цвет и определяет принадлежит ли данная шайба нам или противнику. В зависимости от этого она направляется сервоприводом либо в центральную ёмкость, либо в одну из двух боковых (центральная предназначена для наших шайб, боковые для шайб противника). Распределители работают полностью независимо.

Задняя створка и два датчика цвета пола

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

Работа механизма предотвращения застревания шайбы при выгрузке

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

Панель управления роботом

Робот оборудован символьным LCD-дисплеем и 5 кнопками для навигации по нему. На дисплее выводится иерархическая система меню, позволяющая смотреть и задавать различные параметры. Наиболее важным является возможность калибровки каждого из двух распределителя шайб, а также задних датчиков цвета поверхности. Таким образом возможно за считанные минуты без перепрограммирования робота настроить его под цвет конкретного инвентаря соревнований (слова “синий” и “красный” в регламенте слишком общие и различные организаторы соревнований используют слегка различающиеся по цвету пластики и краски). Были случаи, когда это играло решающую роль, поскольку некоторые соперники имели возможность адаптироваться под отличные от регламентных цвета шайб только с помощью изменения программы, на что могло просто не быть времени, если доступ к полю был получен в последний момент перед стартом.

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

Центральная красная кнопка обеспечивает запуск робота (при этом навигация в меню блокируется). Два тумблера справа управляют общим питанием и только силовым питанием системы (второй позволяет прекратить движение робота без потери доступа к интерфейсу настройки и управления, это полезно, например, при калибровке цветов).

Pucks Harvester 2 и его награда на Robot Challenge 2017 (второе место)

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

Pucks Harvester 2 на полу

Основной алгоритм управления роботом состоит из двух фаз - жёстко заданной и случайного движения. При старте, если в момент инициализации микроконтроллера не была уже нажата кнопка старта, робот выполняет жёстко заданную программу “змейка”, обеспечивающую сбор части шайб и возвращение на базу (при этом за счёт очень высокой скорости, большинство роботов не успевает далеко отъехать от своей базы и столкновением сбить нашего робота с курса), затем он начинает хаотичное перемещение - двигается прямо, пока дальномеры не замечают препятствие (вражеский робот или стена поля), затем следует остановка и разворот на определённый угол и новая проверка наличия стены. Таким образом робот перемещается по полю произвольным образом, однако поскольку размер поля относительно размера робота не очень велик, он гарантированно успевает посетить базу несколько раз за всю игру и выгрузить собранные шайбы. Более сложные алгоритмы движения были признаны нами не очень эффективными, поскольку во время игры часты столкновения между роботами, которые сильно осложняют какие-либо предопределённые траектории (кроме первой, когда мы используем преимущество в скорости).