В области робототехники существует широкий спектр тем для активных исследований, в рамках которых изучаются алгоритмы управления группами роботов, например, самостоятельная сборка, коллективное строительство и исследования.
Обычно исследователи предполагают, что эти алгоритмы работают с сотнями, тысячами и более роботов, однако по причинам стоимости, времени или сложности, они обычно проверяются только в моделировании или на группе из нескольких десятков.
Чтобы сделать робота масштабируемым до больших коллективных размеров, все операции робота должны работать на коллектив в целом и не требовать индивидуального внимания к роботу(например, нажатия выключателя или подключения зарядного кабеля для каждого робота). Иными словами, все коллективные операции должны быть масштабируемыми.
Представляется новый робот Kilobot, который является недорогим роботом с полностью масштабируемыми операциями.
Kilobot
При проектировании робота Kilobot учитывались два конкурирующих фактора: стоимость и функциональность. Робот должен обладать достаточной функциональностью, чтобы выполнять самые разнообразные коллективные действия, и в то же время быть достаточно простым, чтобы поддерживать низкую стоимость.
Алгоритм SDASH, разработанный для самостоятельной сборки и ремонта коллективного образца, был выбран в качестве коллективного поведения для мотивации проектирования аппаратуры Kilobot. Такое довольно сложное поведение требует, чтобы роботы обладали такими способностями:
- Двигаться вперед и вращаться
- Общаться с соседями
- Измерять расстояние до соседей
- Иметь достаточно памяти для запуска SDASH
Для улучшения возможностей работы Kilobot в больших коллективах, а также для превращения его в более универсальную роботизированную платформу, были добавлены некоторые дополнительные требования помимо SDASH. Они заключаются в том, что Kilobot должен:
- Измерять уровень окружающего освещения.
- Отображать некоторое внутреннее состояние для облегчения отладки.
- Допускать масштабируемые операции.
Хотя это не минимальный набор функций, необходимых для коллективного робота, они устанавливают баланс между тем, на что способна группа роботов, и стоимостью этого коллектива.
Локомоция
Одной из важных возможностей робота является то, что он должен быть способен передвигаться в окружающей среде. Наиболее распространенной стратегией является использование двухколесного дифференциального привода, в котором каждое колесо приводится в действие электродвигателем. Хотя этот традиционный колесный локомотив достаточно эффективен, он относительно дорогой.
Поэтому для снижения затрат, Kilobot использует два вибромотора в форме монеты для локомотивов. Благодаря независимому дифференциальному управлению величиной вибрации для обоих двигателей, робот может перемещаться в непрерывном диапазоне от вращения по часовой стрелке до прямого вращения и против часовой стрелки. Это позволяет ему двигаться со скоростью около 1 см/сек и поворачиваться примерно на 45 градусов.
Связь
Для связи с соседними роботами каждый Kilobot имеет инфракрасный светодиодный передатчик и инфракрасный фотодиодный приемник, которые расположены в центре печатной платы и направлены непосредственно вниз.
Как передатчик, так и приемник имеют изотропную схему излучения, что позволяет роботу принимать сообщения со всех направлений в равной степени. Когда передатчик активен, любой близлежащий робот может принимать свет, излучаемый передающим роботом. Сообщения передаются пульсирующими импульсами в соответствии со стандартной методикой линейного кодирования.
Кроме того, на каждом роботе установлен датчик видимой освещенности, который может определять уровень освещенности робота.
Контроллер
Контроллер робота выполняет две функции:
- Во-первых, он взаимодействует со всей низкоуровневой электроникой, такой как двигатели, связь, силовые цепи и светодиод RGB (используется для отображения информации оператору).
- Во-вторых, запускается определяемая пользователем программа поведения робота.
Основными особенностями контроллера, используемого в Kilobot, являются: два канала широтно-импульсной модуляции, используемые для управления скоростью вибрационных двигателей, 10-битные аналого-цифровые преобразователи, используемые для измерения интенсивности входящего инфракрасного света, программируемая память, используемая для обновления программы робота, и режим сна при малой мощности.
Система электропитания
Для питания всего робота каждый Kilobot имеет литий-ионный аккумулятор. Эта батарея может питать робота в течение 3 или 24 часов, в зависимости от уровня активности робота.
К этой батарее подключены три регулятора напряжения и зарядное устройство. Два регулятора напряжения обеспечивают питание двигателей и системы связи. Оба этих регулятора могут включаться и выключаться микроконтроллером, что позволяет отключать двигатели и систему связи для экономии потребляемой энергии. Третий регулятор напряжения непрерывно подает питание на микроконтроллер, и в режимах малой мощности потребляет минимальное количество энергии.
Стоимость
Для больших групп роботов очень важно, чтобы каждый робот был как можно более дешевым. Конструкция Kilobot, как описано выше, использует детали стоимостью около 900 рублей, что как минимум в 10 раз меньше, чем самая низкая стоимость используемых в настоящее время групповых роботов.
Хотя Kilobot относительно прост по сравнению с другими роботами, он способен работать с SDASH, а также с другими коллективными моделями поведения. Такая простота обеспечивает низкую стоимость, что в сочетании с масштабируемыми операциями позволяет создавать коллективы гораздо больших размеров, чем те, которые имеются в настоящее время.