Алгоритм управления роботами: любительские автономные модели


Алгоритм управления роботами-01

Алгоритм управления роботами созданных на основе любительских автономных конструкций. В статье рассматриваются вопросы ориентации автономных мобильных роботов с использованием оптических сенсоров локационного типа. Приводится пример реализации масштабируемого ИК-сенсора для ориентации в условиях помещения произвольной планировки. Для тестирования сенсора использовалась платформа на гусеничном ходу размерами 20 см х 10 см под управлением микроконтроллера «Iskra JS».

Алгоритм управления роботами: ИК-сенсор для любительских автономных мобильных конструкций

Любительские автономные мобильные роботы обычно не имеют выраженных целевых функций и для них достаточно просто избегать столкновений с препятствиями. Если же такой робот имеет одну или несколько целевых функций, то необходимым условием их реализации становится избегание препятствий. Тогда для роботов приходится разрабатывать и самостоятельно изготавливать сложные сенсоры или использовать готовые и достаточно дорогие устройства, в частности, лидары.

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

Обоснование выбора конструкции сенсора

Для наших экспериментов, целью которых являлось создание алгоритмов для навигации в помещениях произвольной планировки, был необходим сенсор, обладающий возможностями оценки расстояния до препятствий в передней полусфере. Убедившись в полной непригодности ультразвуковых сенсоров [1] для наших целей, мы решили использовать ИК-локаторы. Идея использовать лидар была отклонена сразу, ввиду его высокой стоимости.

Была сделана попытка использовать ИК-дальномеры фирмы SHARP с аналоговым выходом. Эти приборы, наряду с неоспоримыми достоинствами, имеют особенности, ограничивающие их применение на автономных мобильных объектах. Во-первых, они имеют существенную «мертвую» ближнюю зону.

Например, модель GP2Y0A02YK0F имеет диапазон измерения от 20 до 150 см. Во-вторых, такой «лидар» необходимо вращать при помощи сервомотора, следовательно, нужна остановка робота для корректного сканирования. Средний ток потребления этой модели составляет 35 мА, что довольно много для небольшого автономного устройства со скромными энергетическими возможностями.

Мы поставили перед собой задачу создать недорогой и экономичный сенсор обзора передней полусферы, не нуждающийся в дополнительных электромеханических устройствах, что позволит производить сканирование в процессе движения робота. Идею сенсора мы заимствовали из природы. Глаза многих насекомых и некоторых ракообразных построены по фасеточному принципу и состоят из расположенных рядом элементарных чувствительных элементов, называемых «омматидиями», разделенных светонепроницаемыми оболочками [2].

Алгоритм управления роботами-1

Одного взгляда на Рисунок 1 достаточно, чтобы представить конструкцию сенсора, построенного на этом принципе. Да, это очень просто! В одном ряду мы размещаем «веер» фотоприемников, разделенных перегородками, в другом соосно размещаем излучатели -светодиоды. Переключая по очереди светодиоды, принимаем отраженный от препятствий сигнал на соосно расположенные фотоприемники. Чем больше ячеек в ряду, тем выше разрешающая способность такого сенсора. Задача ранжирования препятствий по расстояниям от них, решается также просто. На каждый излучатель подается серия импульсов тока, каждый последующий из которых больше предыдущего.

Реализация

Начать решили с макета, содержащего четыре секции с углом обзора 45 градусов каждая. Если результат испытаний макета будет положительным, то будет изготовлен сенсор с большим числом секций. Сказано — сделано. На Рисунке 2 представлена фотография 4-секционного рабочего макета, прошедшего испытания и показавшего положительный результат.

Алгоритм управления роботами-2

Конструкционный материал — двухсторонний фольгированный стеклотекстолит, обеспечивший простоту изготовления и надежную экранировку от электрических помех. Как мы видим на Рисунке 2, конструктивно сенсор состоит из двух рядов по четыре секции в каждом. Каждая секция отделена от соседней секции глухим светонепроницаемым экраном. Это исключительно важное условие для корректной работы сенсора.

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

Схема-3

Электронная схема содержит четыре функциональных узла:

  1. Генератор несущей частоты, определяемой типом TSOP48xx фотоприемника, на элементе D1-1; для настройки частоты вход «В» нужно временно соединить с общим проводом.
  2. Формирователь серии импульсов с нарастающей величиной тока на элементах DD2,DD4hDD5;
  3. Коммутатор излучателей на элементах DD3, DD6 и транзисторах VT1-VT4;
  4. Блок фотоприемников TSOP48xx, выходы которых объединены по схеме «монтажное ИЛИ».

Сенсор задействует три вывода микроконтроллера (поименованных условно), имеющих следующие функции:

  • На выводе Р13 МК программно формирует отрицательный импульс установки нуля счетчиков.
  • На выводе Р12 МК программно формирует последовательность из 16 отрицательных импульсов.
  • На вывод Р11 поступает импульс «эха» от сенсора.

Схема-4

Важное замечание. Во избежание ложных срабатываний МК трижды опрашивает сенсор.

На Рисунке 4 буквами обозначены:

А — Импульс сброса; вывод Р13.

В — Последовательность из 16 импульсов; вывод Р12.

Важно! Первый импульс этой последовательности находится как бы «внутри» импульса сброса, что не позволяет счетчику DD2 изменить свое состояние.

С — Токовые импульсы через излучатели.

D — Импульсы «эха»; вывод Р11.

Цифрами обозначены:

  1. Расстояние до препятствия слева менее или равно 60 см.
  2. Расстояние до препятствия слева-прямо менее или равно 30 см.
  3. Расстояние до препятствия справа-прямо менее или равно 90 см.
  4. Расстояние до препятствия справа менее или равно 120 см.

Приведенная схема обладает широкими возможностями масштабирования, как по уровню мощности, подводимой к излучателю, что определяет расстояние обнаружения препятствия, так и по количеству секций-фасеток, определяющих разрешающую способность сенсора. Средний ток потребления в районе 7 мА.

Указанные на схеме величины резисторов R6 — R9 примерно соответствуют линейке расстояний обнаружения препятствий 30 см, 60 см, 90 см и 120 см при использовании в качестве препятствия стандартной «серой карты» (в RGB — 209, 209, 209, в CMYK — 21, 15,15,0) с размерами 60 см * 60 см.

Величины этих резисторов определяются эффективностью светодиодов VD3-VD6. Поскольку мощности, рассеиваемые в резисторах незначительны, на этапе отладки их можно сделать переменными, а потом использовать ближайшие по значению постоянные резисторы. Мы делали именно так.

Испытания

Снабженный описанным в статье сенсором автономный робот несколько раз «обследовал» все помещения трехкомнатной квартиры, столкнувшись с препятствием только один раз. Этим препятствием оказалась угольно-черная стойка электронного пианино. При этом робот двигался перпендикулярно к препятствию. В других случаях робот подходил к этому препятствию под углом и исправно менял направление движения.

На наш взгляд, причина столкновения заключается в относительно малой доле излучения по вектору движения. Увеличение числа ячеек-фасеток должно исключить возникновение подобных ситуаций. Предпочтительно нечетное количество ячеек, например, 5, 7 или 9. При таком числе ячеек одна из них сканирует пространство по вектору движения.

По ссылке на последней странице статьи можно скачать видео, в котором робот перемещается по рабочему столу, огибая препятствие в центре стола. В демонстрационных целях движение робота разбито на итерации, разделенные паузами, что, кстати, создает впечатление «разумного» поведения.

Заключение

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

Источники

1. Басков М.П., Левашов О.Д. Особенности применения ультразвукового дальномера НС-SR04 в качестве средства ориентации мобильного объекта // РадиоЛоцман. — 2020. — №3. -С. 46-38

2. Википедия. Фасеточные глаза

Фирменные усилители мощности