...

суббота, 6 ноября 2021 г.

Так ли умны «роботы-пылососы»? Рассматриваем датчики для навигации

Роботом-пылесосом в доме уже никого не удивить. У кого-то они есть, кто-то хочет приобрести, кто-то считает игрушкой. И производители пользуются этими желаниями, и пытаются продать нам что-то. Именно что-то, потому что маркетинговые отделы компаний из кожи лезут, придумывая завлекательные названия и наделяя несложные решения несуществующими возможностями. Дальше я попытаюсь разложить устройство роботов-пылесосов "по полочкам" и рассказать об их сенсорах.

Я не буду делать упор на их внутреннее устройство, платы, процессоры, сами механизмы уборки. Моя задача показать, что ничего сверхъестественного в этих домашних помощниках нет и построены они на базовых принципах, мало-мальски знакомых любому прикоснувшемуся к робототехнике. У меня у самого дома есть робот-пылесос от А-бренда (HomeBot), поэтому иногда я буду рассказывать и на его примере тоже и это не реклама бренда. Более того, домашний пылесос носит гордую кличку "Дурачок", так как работает усердно, но....

Но начнем мы с конструкции, потому что это будет объяснять ту или иную форму. По факту почти все домашние роботы-пылесос это двухколесная тележка с одним или двумя опорными колесами. Форма у 99% моделей круглая. Почему круг, а не квадрат или треугольник? Достаточно посмотреть на вот эти рисунки.

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

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

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

И эта форма определяет те датчики и принципы навигации, которые применяются на рынке и именно на примере такой формы мы их и рассмотрим, введя некоторую классификацию.

1. Механизм от игрушки, который хаотично гоняет робота по полу. Никаких датчиков нет.

Игрушечный механизм работает по принципу "повернись, когда упрешься в препятствие", электроники нет, включать и выключать эту игрушку вам нужно вручную. Ни о каких возможностях построения карты помещения, зонирования, возвращения на базу и других умных вещах говорить не приходится. Стоят эти игрушки от 700 рублей.

Плюсом обычно имеем концевой выключатель присутствия контейнера и датчик переворота "на брюхо". Эти два датчика в той или иной реализации есть и у более продвинутых моделей.

2. Добавлен ИК датчик нахождения базы (он же центральный датчик приближения) и бампер на концевых выключателях. Энкодеров на колесах нет, ездит робот "от препятствия до препятствия", возврат на базу по ИК-лучам.

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

Бампер устроен просто: два концевых выключателя и подпружиненная полукруглая пластина. Когда пылесос ударяется в препятствие, в зависимости от его расположения, замыкаются оба выключателя или только слева или справа. И пылесос "понимает", что врезался во что-то перед собой или сбоку.

Сзади датчиков обычно нет.

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

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

Поэтому производители и рекомендуют оставлять справа и слева от базы по метру-полтора, чтобы был свободный "подъезд" к ней, но мой робот-пылесос спокойно живет в закутке за диваном и находит базу.

4. к. п 3. добавляем энкодеры. Пылесос может точнее отрабатывать свое положение и его повороты уже предсказуемы, а отклонение от прямой линии определяемо. Такой робот будет стараться ездить параллельно линиям своего маршрута и понимать, что повернулся на нужный угол. Мотор-колеса пылесосов снабжаются энкодерами разного типа: щеточными, резистивными, оптическими, на датчиках Холла и т. п. Но цель одна: определить, на какой угол повернулось колесо.

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

5. к. п. 4 добавляем нижние ИК-датчики уровня. Пылесос перестает падать и может различать высоту (немного, но может). Обычно пункты 4 и 5 делают совместно, так как пылесосы такого уровня уже стоят до десятка тысяч рублей и допускать его падение нежелательно. Минимально (и стандартно) датчиков три: по центру и ближе к бокам и представляют они собой привычные ИК-датчики. В теории наш робот-пылесос можно научить даже ездить по начерченной линии. При наличии такого набора датчиков (п. 3 - п.5) наш пылесос уже можно считать роботом. Он уже сможет построить простейшую карту местности и при следующих прогонах стараться не тыкаться в препятствия.

6. к. п 5 добавляем ИК датчики на бампер не только по центру.

Пылесос теперь не тыкается в препятствия в виде вертикальной стены. Ножки он, конечно, еще не видит, шторы может продолжать жевать, но уже может строить карту препятствий. Пример такого пылесоса Xiaomi Mop Essential. За черной полоской на бампере закреплено дополнительно по окружности по три ИК-датчика (два по центру как мы помним есть у многих моделей) и они позволяют обнаруживать что-то отражающее ИК-лучи раньше, чем сработает ударный "концевик".

Также у таких моделей уже часто присутствуют компас и гироскоп, что улучшает навигацию. Бампер может быть не ИК или контактным механическим, а ультразвуковым и с датчиком удара по его поверхности (так сделано у моего HomeBot).

Что ИК, что ультразвуковые сенсоры позволяют также определять расстояние до препятствий, но ультразвук позволяет это делать гораздо точнее и у таких моделей играет роль также датчика расстояния.

7. к. п 8 добавляем боковые ИК-датчики в слепые зоны для контроля притирания пылесоса к стене.

Что происходит "сбоку" от пылесоса, он увы может и не увидеть и часто роботы могут начать "тереться" о стену (а иногда могут и обои "подрать"). Поэтому некоторые производители добавляют ИК-сенсоры по бокам робота, если не используют сенсоры по периметру бампера (например, у пылесосов с лидаром).

9. к п.8 добавляем сенсоры построения карты помещения по препятствиям и навигации в пространстве. До данного пункта у нас роботы-пылесосы могли определять препятствия перед собой, отслеживать маршрут по повороту своих колес и даже определять препятствия сбоку или пытаться найти себя по показаниям компаса. Но все это далеко от того, что можно было бы назвать "навигацией". Да, роботы-пылесосы у нас еще не доросли до применения GPS/GLONASS (да и в помещениях от этих технологий толку часто мало, сигнал глушится, точность не для сантиметровых размеров в квартирах), но хотелось бы, чтобы робот-пылесос не терялся в двух-трех комнатах и старался убираться не хаотично, а последовательно помещение за помещением. Да и алгоритм "зигзаг" не позволяет убирать полностью комнату с хаотично расставленными вещами.

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

Данные сенсоры в основном представлены следующими видами: лазерный дальномер (он же LDS, он же лидар), широкоугольная камера с машинным зрением, ToF камера и даже 3D-камера (то есть комбинация ИК-камеры разметки и камеры ее считывания по типу FaceID в айфонах). Возможна комбинация устройств сверху, в передней части, в задней части и снизу (для определения разных типов поверхности).

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

Камера имеет также свои плюсы и минусы. Обычно ставится только верхняя камера, которая отлеживает изменения на поверхности потолка (как современная компьютерная мышь) и пытается по ним отслеживать карту изменений. Хоть производители и говорят, что их роботы "видят" в темноте, опыт эксплуатации показывает, что пылесосам с камерой лучше везде включить свет :) У меня как раз пылесос с навигацией по камере.

Дорогие модели сейчас пытаются избавить от лидаров, установив как верхнюю камеру, так и переднюю камеру с датчиком глубины (ToF), чтобы определять расстояние до объектов по времени отражения сигнала. Опять же это ИК-камера, и она обычно замещает передний ИК-датчик базы.

Плюс производители пытаются заигрывать с машинным зрением, 3D и AI, но пока чаще всего это только заигрывания с потребителем и маркетинговые уловки.

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

А у вас есть робот-пылесос? И какие датчики есть на нем? Напишите в комментариях об этом, а также можете дополнить мою классификацию.

Adblock test (Why?)

Комментариев нет:

Отправить комментарий