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

Как работает робот-пылесос: лидар, камеры, SLAM и датчики
Фото: Piperpet, Wikimedia Commons, CC BY-SA 4.0.

Из чего состоит робот-пылесос

Внутри круглого или D-образного корпуса высотой обычно 8-10 см помещается почти все, что есть у настоящего мобильного робота. Основные узлы такие:

  • Два ведущих колеса с отдельными моторами. Робот поворачивает, вращая их с разной скоростью или в разные стороны, поэтому умеет развернуться на месте.
  • Боковые щетки выметают пыль из углов и вдоль плинтусов к центру корпуса.
  • Центральная щетка (ворсовая, резиновая или комбинированная) поднимает мусор с пола и ворса ковра.
  • Вентилятор и контейнер с фильтром: поток воздуха затягивает мусор внутрь.
  • Аккумулятор, как правило литий-ионный, на час-три работы в зависимости от модели и режима.
  • Блок навигации: лидар или камера, гироскоп, датчики колес и набор инфракрасных сенсоров.
  • Модуль влажной уборки у моющих моделей: бак с водой и тряпка, вибрирующая или вращающаяся пластина.

Самые первые массовые роботы, например iRobot Roomba 2002 года, обходились без карты вообще. Они ехали прямо до столкновения, поворачивали на случайный угол и ехали дальше. За достаточно долгое время такой хаотичный робот покрывал большую часть комнаты, но часть пола оставалась непропылесошенной, а по другим участкам он проходил много раз.

Как робот-пылесос видит комнату

Лидар на крыше

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

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

Камера и компьютерное зрение

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

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

Гироскоп и одометрия

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

Что такое SLAM и как строится карта

SLAM расшифровывается как Simultaneous Localization and Mapping - одновременная локализация и построение карты. В этом и состоит главная трудность: чтобы нарисовать карту, нужно знать, где ты стоишь, а чтобы понять, где стоишь, нужна карта. Алгоритм решает обе задачи вместе и постоянно уточняет результат.

  1. Робот делает замер окружающего пространства лидаром или камерой.
  2. По данным колес и гироскопа он предсказывает, куда сдвинулся с прошлого шага.
  3. Новый замер сравнивается с уже накопленной картой. Если стена «съехала» на 3 см, программа понимает, что ошиблась одометрия, и поправляет координаты робота.
  4. Уточненное положение используется, чтобы дорисовать на карте новые участки.
  5. Когда робот возвращается в знакомое место, срабатывает «замыкание петли»: накопленная ошибка распределяется по всему маршруту, и карта становится ровнее.

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

НавигацияКак ориентируетсяПлюсыМинусы
ХаотичнаяБампер и случайные поворотыДешевоПропуски, долго
ГироскопКолеса и гироскопРовные полосыНет точной карты
Камера (vSLAM)Ориентиры на снимкахВидит предметыНужен свет
ЛидарЛазерный дальномерТочно, в темнотеБоится зеркал

Датчики, которые спасают от падений и ударов

Кроме навигации, у робота есть сенсоры безопасности, которые работают независимо от карты.

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

Станция самоочистки и возвращение на базу

Чтобы найти зарядку, робот ищет инфракрасный сигнал от станции, а с картой просто возвращается в запомненную точку и уже вблизи доводит себя по маяку. Контакты на днище совпадают с пластинами станции.

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

Почему робот-пылесос застревает и путается

Даже лучшие модели время от времени зовут на помощь. Причины обычно повторяются:

  • Провода и шнурки наматываются на щетки и колеса. Это самая частая причина остановки.
  • Мебель с низким просветом: робот заезжает под диван или шкаф, где щель чуть ниже лидарной башенки, и застревает, упершись в нее.
  • Пороги выше 1,5-2 см. Большинство роботов уверенно преодолевают препятствия высотой около 2 см, выше - уже не всегда.
  • Ножки стульев образуют «клетку», из которой робот долго ищет выход.
  • Бахрома ковров затягивается центральной щеткой.
  • Зеркала в пол и стеклянные двери сбивают лидар: он видит «вторую комнату» за отражением.
  • Перестановка мебели. Если сдвинуть диван, робот какое-то время сверяет новую обстановку со старой картой и может решить, что потерялся.
  • Грязные сенсоры. Пыль на клиф-датчиках или окне лидара заставляет робота видеть обрывы и стены там, где их нет. Их стоит протирать сухой тканью раз в несколько недель.

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

Интересные факты о роботах-пылесосах

  • Компания iRobot, выпустившая Roomba, до этого делала военных и исследовательских роботов, в том числе разведчика PackBot.
  • Многие владельцы дают роботу имя и относятся к нему как к питомцу. Исследователи взаимодействия человека и робота описывали случаи, когда люди отказывались менять сломанный робот на новый и хотели починить «своего».
  • Кошки и собаки быстро привыкают к роботу, а в интернете набрали миллионы просмотров ролики с котами, катающимися на Roomba.
  • Карта квартиры - это персональные данные: по ней видно планировку и размер жилья. Поэтому производители шифруют ее при передаче, а пользователю стоит проверить в приложении настройки облачного хранения.
  • Средний робот за одну уборку проезжает сотни метров: в квартире 60 квадратных метров при ширине полосы около 20 см только змейка дает порядка 300 метров пути.

Что еще спрашивают о роботах-пылесосах

Что лучше в роботе-пылесосе - лидар или камера

Лидар точнее строит карту и не зависит от освещения. Камера лучше распознает мелкие предметы на полу. В дорогих моделях эти системы часто сочетают: лидар отвечает за план квартиры, передняя камера - за обход носков и проводов.

Можно ли запускать робота в темноте

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

Почему робот не заезжает на черный ковер

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

Нужно ли заново строить карту после ремонта

Небольшие перестановки робот учтет сам за одну-две уборки. После серьезной перепланировки проще удалить старую карту и дать роботу пройти квартиру заново.