Наш самый “урожайный” робот в плане наград. Является дальнейшим развитием конструкции Puck Harvester с учётом обнаруженных недостатков конструкции и наших возросших технических возможностей.
Наиболее значимые победы с данным роботом:
Основные технические характеристики:
Мотор-редукторы работающие на напряжении в 2 раза превышающем номинальное обеспечивают очень высокую скорость передвижения, превосходящую большинство конкурентов.
У робота отсутствует дно, таким образом шайбы перемещаются в нём засчёт перемещения робота вперёд в пространстве. Направляющие сводят их в один из двух сортировочных механизмов, где они попадают в поле зрение датчика цвета. Микроконтроллер считывает цвет и определяет принадлежит ли данная шайба нам или противнику. В зависимости от этого она направляется сервоприводом либо в центральную ёмкость, либо в одну из двух боковых (центральная предназначена для наших шайб, боковые для шайб противника). Распределители работают полностью независимо.
В ходе своего движения робот иногда заезжает на свою базу и, соответственно, должен выгрузить отсортированные шайбы. Этот момент отлавливается с помощью двух датчиков цвета в задней части робота. Только одновременно их срабатывание вызывает открытие ёмкости для шайб, таким образом исключаются случайные срабатывания при лишь частичном заезде на базу.
Специальная конструкция задней заслонки позволяет шайбе уже начавшей выходить из робота, завершить своё движение даже если заслонка начала закрываться. Такие ситуации были проблемой предыдущей модели, поскольку робот мог поднять себя на шайбе и застрять.
Робот оборудован символьным LCD-дисплеем и 5 кнопками для навигации по нему. На дисплее выводится иерархическая система меню, позволяющая смотреть и задавать различные параметры. Наиболее важным является возможность калибровки каждого из двух распределителя шайб, а также задних датчиков цвета поверхности. Таким образом возможно за считанные минуты без перепрограммирования робота настроить его под цвет конкретного инвентаря соревнований (слова “синий” и “красный” в регламенте слишком общие и различные организаторы соревнований используют слегка различающиеся по цвету пластики и краски). Были случаи, когда это играло решающую роль, поскольку некоторые соперники имели возможность адаптироваться под отличные от регламентных цвета шайб только с помощью изменения программы, на что могло просто не быть времени, если доступ к полю был получен в последний момент перед стартом.
Помимо калибровки меню позволяет изменять цвет команды, смотреть данные датчиков (цвета и расстояния) для диагностики неполадок, а также настраивать некоторые другие параметры (допуски определения цветов, скорость движения робота и т. д.).
Центральная красная кнопка обеспечивает запуск робота (при этом навигация в меню блокируется). Два тумблера справа управляют общим питанием и только силовым питанием системы (второй позволяет прекратить движение робота без потери доступа к интерфейсу настройки и управления, это полезно, например, при калибровке цветов).
Между соревнованиями конструкция робота многократно подвергалась доработке. Так, были установлены энкодеры, а, в последствии, ещё и мачта с компасом, акселеррометром и гироскопом для реализации инерциальной навигации. Впрочем, активно использовались только энкодеры, инерциональная навигация находится в зачаточном состоянии и почти не влияет на алгоритм управления. Датчики ориентации размещены на мачте для избежания электромагнитных помех от двигателей. Вообще, электромагнитные помехи являлись достаточно серьёзной проблемой, пока не было реализовано использование сторожевого таймера микроконтроллера, обеспечивающего перезагрузку системы при зависании программы.
Основной алгоритм управления роботом состоит из двух фаз - жёстко заданной и случайного движения. При старте, если в момент инициализации микроконтроллера не была уже нажата кнопка старта, робот выполняет жёстко заданную программу “змейка”, обеспечивающую сбор части шайб и возвращение на базу (при этом за счёт очень высокой скорости, большинство роботов не успевает далеко отъехать от своей базы и столкновением сбить нашего робота с курса), затем он начинает хаотичное перемещение - двигается прямо, пока дальномеры не замечают препятствие (вражеский робот или стена поля), затем следует остановка и разворот на определённый угол и новая проверка наличия стены. Таким образом робот перемещается по полю произвольным образом, однако поскольку размер поля относительно размера робота не очень велик, он гарантированно успевает посетить базу несколько раз за всю игру и выгрузить собранные шайбы. Более сложные алгоритмы движения были признаны нами не очень эффективными, поскольку во время игры часты столкновения между роботами, которые сильно осложняют какие-либо предопределённые траектории (кроме первой, когда мы используем преимущество в скорости).