Indoor «GPS» с точностью +-2см

День добрый, коллеги!

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

Ролик ниже снят прямо на конференции Skolkovo Robotiсs 2015. Я просто установил стационарные маячки на колонны на первом этаже Гиперкуба (зеленые точки на карте), разбудил маячки, взял в руки мобильный маячок (голубая точка) и походил по этажу:



А так можно ходить с двумя маячками в руках:



Так выглядят сами маячки (и мобильные и стационарные):

image

Каждый день приносит какие-то улучшения в прошивке и софте. На данный момент максимальные расстояния между маяками — до 50 метров.

Спешу заметить, что точность — понятие очень тонкое и многозначное. Но с практической точки зрения имеет смысл отталкиваться от задач, чем мы и руководствовались. Например, роботу важно знать, где он находится; где находятся препятствия, которые он уже нашел; где путь, по которому он может пройти. Таким образом, когда скорость звука в воздухе меняется (температура, давление, влажность), изменяется измеренное расстояние и до маяков и до объектов. Карта как бы дышит. Но относительные расстояния никак не изменяются. Это позволяет роботу, как и раньше, находить препятствия, путь, двери и стены.

Почему же ультразвук?


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

  • Лидар:
    — Точно. Красиво. Дорого. Если не дорого, то не очень удобно. Нужно сканировать. А скан — это механика. Это куда сложнее и сразу менее надежно и еще дороже. Но в целом это очень хороший датчик, если он подходит для задач и если уметь им управляться. И не нужны маяки. Можно сразу отправляться в путь в неизвестность. Как вариант — простейшие измерители расстояния на ИК сенсорах. Или более сложные — с постоянными лазерами или сканирующими лазерами и камерами. Тоже варианты. Но свои ограничения, подобные ограничениям лидаров.
  • Ultra-wide band (UWB):
    — Очень круто. Скорее всего, рано или поздно будет хорошо работать. Подтянется полупроводниковая технология. Цены упадут. Как-то решится вопрос со стабильностью, фазовыми шумами, ограничением по спектральной плотности излучаемого сигнала в 41.3 dBm/MHz. Но пока как-то не очень получается заказать готовые компоненты. Они вот-вот где-то совсем близко, но как-то все еще ускользают. Но разработок много и они многообещающие. Ждем и внимаем.
  • Bluetooth and WiFi beacons
    — Потенциально очень хорошие варианты для телефонов и для точности до нескольких метров, потому что не требуют ничего дополнительно, кроме того, что уже есть в телефоне. Вкупе с инерциальными системами внутри телефонов и другими дополнительными данными, скорее всего, достигнут точности меньше метра на практике. Каждый год в Барселоне на MWC показывают разработки — и каждый год очень интересно. Для того, чтобы вести человека в торговом центре к полке с товаром — очень недурно. Для робота, пожалуй, маловато. Ему нужны сантиметры, чтобы не сшибать стены и створки дверей. Плюс чаще всего нужна предварительная калибровка помещения, размещения. И, конечно, радио не требует прямой видимости — это большой плюс. Ну а для роботов, как минимум, нужен телефон или его начинка… Но по факту целый телефон может быть дешевле.
  • Одометрия
    — Очень хорошая точность на малых расстояниях, пока нет препятствий, пока хорошее сцепление колес с полом. Один из основных источников информации для роботов. Но требует, время от времени, проверки текущего положения по дополнительному источнику данных, например, по Indoor «GPS». Без корректировки ошибка накапливается очень быстро и делает вычисление положения невозможным. Кроме того, одометрия хороша для вычисления положения робота относительно начальной точки робота. Но она ничего не говорит о положении робота в пространстве относительно прочих объектов — стен, коридоров, дверей.
  • Инерциальные системы
    — Так же, как и с одометрией, можно получать очень хорошие результаты и очень быстро — с частотой десятки Гц. Но ошибка накапливается и требуется корректировка по каким-то другим источникам информации. Также, как и одометрия, инерциальные системы хороши для измерения относительного изменения положения. Начальное положение должно быть задано каким-то другим способом.
  • Оптические системы
    — Сладкая мечта. Пока, не видел качественно работающих. Потенциал огромный. Но сложно и не надежно. А хочется просто и надежно.
  • Специальные оптические системы
    — Есть красивые специальные варианты, когда робот определяет свое положение с помощью вертикально смотрящей камеры, идентифицируя яркие объекты, например, лампы, и позиционируясь по ним, как по звездам. Выглядит красиво. Не требует маяков. В некоторых случаях — отлично будет работать.
  • GPS
    — Старый добрый GPS, к огромному сожалению, не работает, когда не видны спутники. Да и точность — метры. В общем, для роботов и помещений подходит не очень.
  • Магнитометрия
    — Что-то очень изысканное. Для особых и специальных случаев. И, возможно, скорее, в качестве дополнительного источника данных. Кроме того, требует предварительной калибровки помещения и слишком подвержена влиянию собственных магнитов на роботе, например, от моторов или спикеров.
  • Прочее
    — Есть много прочих изысканных вариантов. Например, можно оставлять невидимый след — печатать точки на полу, распылять химические вещества — оставлять метки. Это красиво. В некоторых случаях — удобно, надежно, и точно.
    — Движение по линии — ну, как бы, не совсем то, что хотелось бы. Но в специальных случаях — очень даже просто и надежно.
    — Усложненные варианты с оптическими метками, заранее установленных на стенах, потолках, объектах вокруг. Очень даже неплохой и относительно дешевый вариант для позиционирования именно в помещениях. Требует предварительной «разметки» территории. Но, если делать ее просто и автоматически или, даже, если позволить размечать территорию самому роботу, во время первых проездов территории, может оказаться очень дешевым и точным вариантом.

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

Результаты и следующие шаги


— Мы сделали систему навигации на основе ультразвуковых активных маяков, потому что этот подход работает уже сейчас и решает задачи, стоящие перед нашими и многими роботами. Среди пилотных клиентов — мобильные роботы из США, коптер команды испанских студентов, французский робот для развозки лекарств в госпитале и парочка российских рекламных роботов.

— Решает ли эта система все задачи навигации внутри помещения? Нет, не все. Например, когда прямая видимость на маяки затруднена или есть активные помехи в ультразвуке, система может показывать неоптимальные результаты. Но есть и решения — более частая установка маяков и использование ультразвуковых сенсоров для «чистых» диапазонов.

— Кроме того, по результатам Сколково, выяснилось, что «такое же, только на большее расстояние» нужно сразу нескольким другим типам роботов: чтобы парковаться на парковке; чтобы красиво убирать снег и не ломать чужие машины и стены. Так что мы поигрались немного и расширили радиус работы в ультразвуке до 50 метров и делаем вариант подходящего климатического исполнения.

— Оптимальное решение же для навигации — в использовании связки сразу нескольких систем, дополняющих друг друга. Конкретная комбинация зависит от стоящих перед роботом задач и существующих ограничений (точность, размеры, ток потребления, деньги, и так далее).
Share post

Comments 65

    +2
    Не обязательно радио, можно через ИК-сигналы: Infrared Ultrasonic Beacons.
      0
      По большому счету два базовых принципа — на звуковых волнах и э/м волнах (радио, ИК, и т.п.). Первый вариант даст значительно большую точность, т.к. скорость распространения значительно (на 6 порядков!) меньше, а значит меньше требования к точности измерения времени приемником. Но проблема расстояний.
        +1
        Да, согласен. На IR можно было бы сделать. Но, тогда, получается еще одно требование по прямой видимость. Если с ультразвуком его не обойти и оно не сильно ограничивает, то с IR было бы сложно.

        Мы, поэтому, и выбрали не WiFi, а низкочастотный 433 МГц ISM диапазон, что он отлично бьет через стены и в реальном офисе делает реальные 100 метров. На открытом воздухе и не тестировали на дальность и не оптимизировали радио никак, пока, потому что для наших задач.
        То есть, все маяки слышат центральный роутер издалека и прямая видимость между маяками не нужна. Так мы можем закрывать большие помещения в торговых центрах. Все маяки собираются в одну систему.

        Но в случаях, когда радио совсем никак нельзя, а жесткими ограничениями ограничениями от IR можно мириться, то это — неплохой вариант.

        Кстати! Спасибо за ссылку. Интересна. Не видел ранее. Внимательно почитаю.
      • UFO just landed and posted this here
          +1
          Вы чуть подробней спросите, чтобы было понятней, что именно ответить:
          — Маячки между собой измеряют расстояние по ультразвуку — задержка прихода сигнала
          — Всем этим руководит по радио центральный роутер: синхронизация, раздача команд, общее управление, связь с ноутбуком, чтобы подглядывать в систему и раздавать команды
          — На основании взаимных расстояний по трилатерации и с использованием небольшой магии, мы и измеряем положение мобильного маяка

          Мобильный маяк устанавливается на роботе/погрузчике/тележке/машине. Свои координаты робот может узнать прямо из мобильного маяка или из роутера.
          • UFO just landed and posted this here
              +2
              Тут я не могу поделиться. В таких деталях наша фишка и есть. Весь принцип работы предложенной системы — прост и известен много много-много лет. Но сделать все ровно, чтобы все работало на практике — это непросто. Синхронизация — одна из основных сложных тем. Но не единственная.
                0
                Да уж секрет… на ровном месте.

                Для своего робота похожее делал. Я правда делал маяки (4 маяка) на более дешевых приемниках 433Мгц. (дешевейшие брелки китайские на PT2262)
                А на робота пошел какой то китайский модуль RF RS232 (лениво смотреть).
                Базовая станция транслирует сигнал на робота, определяющий, какой маяк будет активирован и почти сразу же «жмет» на кнопку брелка.
                Робот однозначно определяет какой маяк будет «пищать» и зная расположение и расстояние до маяков позиционирует себя.
                Цикл по 4-м маякам — 1 сек. (можно и меньше, но тогда уже не «брелки» нужны).

                Точность правда не 2 см. но 5 см в идеале(медленно движется или стоит), в квартире с мебелью — получалась. Очень много ошибок за счет отражений, когда не в прямой видимости маяк. Но все решаемо за счет коррекции (по времени движения) и отбрасывания заведомо ложных расстояний от маяков с отраженным сигналом.

                В общем, конечно не просто, но и сказать, что ОЧЕНЬ сложно — нельзя.

                Хотя поигрался и надоело. Брелки пошли на автономные датчики сигнализации на дачу. Робот вначале получил манипулятор, камеру поворотную и удаленной управление, а теперь вообще стоит пылится.
                  +1
                  Да, все базовые основы просто и известны. Никаких особых секретов и нет, кроме того, чтобы все взять и аккуратно скрестить, чтобы работало гладко и ровно. А это непросто. Коррекции, шумы, фильтрация, синхонизация, управление маяками, управление питанием — там уйма чего сделано.

                  Мы изначально и делали готовую систему, которую просто можно взять и пользоваться уже прямо сейчас. В своих роботах, в чужих роботах. А для этого она должна просто работать. Взял, прикрепил на робота, USB подключил, и вот тебе координаты, как в GPS — готовая законченная система.
                    +1
                    У меня хорошо работало в пустой (почти как офисной) комнате.
                    В специально загроможденной препятствиями комнате (подушки на полу, одежда на спинках стульев) — не очень.
                    А уж если заслонить ногами (подойти к роботу), то вообще.
                    Понятно что 4-х маяков маловато.

                    Но, если честно, я забросил потому что не придумал «а зачем это может пригодится?». Поигрался с автономным движением робота и его ориентацией и забросил. Ну ездит, ну объезжает препятствия и приезжает в заданную точку.

                    Но, смысл…
                    Всякие промышленные решение (склад и пр.) я бы просто по другой технологии автоматизировал, чем свободно бродящий по маячкам робот. А вот навигация именно по такому принципу — только для игрушек. Как мне кажется.
                      +1
                      Да, универсального решение — one fit for all — нет. Оптимальное — одновременная комбинация между несколькими системами позиционирования: одометрия + инерциальная + Indoor «GPS». Они друг-друга дополняют.
                      Так делается на большинстве роботов.

                      Зачем сейчас люди используют — из тех, что уже купили:
                      — Вешают на крупных роботов и делают их автономными
                      — Доставка лекарств в госпиталях — пилот
                      — Коптер летает по восьмерке на европейском соревновании
                      — Рекламные роботы в России

                      Ездить по точкам — это очень круто! Как только ты можешь реально по ним ездить — применений очень много.

                      Коллеги из конторы, которая занимается автоматизацией складов, к нам на конференции в Сколково подходили. Им нужно ставить на крышу погрузчика мобильный маяк и просто знать, где именно он в данный момент, движется ли и куда. Все.
                      Возможно ли делать на чем-то другом? — да, скорее всего. Но, лучше, чтобы на нас.
                        0
                        От души желаю успехов.
                        Главное в таких вещах даже не сделать, а «продать». Как в прямом, так и переносном смысле.
                          0
                          За это — отдельное спасибо!
                          Точно так. Одно дело — академическое исследование и формулы в Excel и Matlab. И совсем другое — end-user experience и счастье.

                          Будем стараться.

                          Большое спасибо за ссылки и комментарии! Очень ценно, полезно, и интересно. Для этого и опубликовались.
                0
                Поищите в сети «синхронизация цепи стрелков». Может оно?
                • UFO just landed and posted this here
                    0
                      0
                      Спасибо большое! Чую, очень элегантная штука. Не слышал раньше. Но вы мне, пожалуйста, на пальцах объясните, почему вам это вспомнилось? Я не понял, как вещи связаны, но очень интересно.
                        0
                        Читал научно-популярную книгу Поспелова «Оркестр играет без дирижёра» (о децентрализованных системах и прочем подобном матане) и запомнилось решение синхронизации «без ведущего». Ну и тут синхронизация.
                          0
                          Да, интересная «задача», тоже раньше не слышал. Вероятно, она может быть полезна, когда нет возможности обеспечить связь между центральным роутером и каждым маяком, а есть только гарантированная связь между маяками по цепочке (например, тоннель метро).
                            0
                            Еще раз спасибо за наводку. Уверен, что пригодится.

                            В нашей задаче мы радио, а, значит, синхронизацией, пока, не ограничены. Мы ограничены по расстоянию радиусом ультразвукового покрытия от одного маяка. Но мы закрываем большие территории объединяя кластера маяков (4-6 штук в каждом кластере) в одну большую карту. Но с радио слышит все маяки.
                    +2
                    Как маяки идентифицируют друг друга? Не возникает ли коллизий? Связь с роутером по радио?
                      +1
                      Центральный роутер всем управляет. Что-то типа round robin вариант. Коллизий не возникает.
                      У каждого маяка есть свой номер.

                      Связь с роутером по радио. Он — центральный мозг.
                      Раньше был один из маяков — супер-маяк, но потом выделили в отдельное центральное устройство.
                  0
                  А какова, хотя бы примерно, стоимость получившегося решения? Как реагирует на перегородки, громкие звуки, шум? Можно ли ставить много стационарных маяков, чтобы окучить большое помещение?
                    0
                    Я не слишком знаком с правилами форума. Как бы не сочли за слишком прямую рекламу. Если буду нарушать, пожалуйста, укажите — удалю или скорректирую.

                    Стоимость есть на нашем сайте: 99 USD за маяк. За всю готовую систему из 4 стационарных маяков + 1 мобильный маяк + роутер + софт = 499 USD.
                      +1
                      Шум — никак не мешает. Обычный шум. Мешают парктроники и объемная ультразвуковая сигнализация в некоторых помещениях и некоторые типы люминисцентных ламп, когда они в непосредственной близи. От парктроников уходим, используя другую частоту ультразвука, а от ламп — правильным размещением маяков на стенах/потолках.

                      Перегородки, конечно, являются принципиальной помехой. Поэтому, маяки размещаются так, чтобы не было теней и везде мобильный маяк мог слышать, как минимум, 3 стационарных маяка. Для маленьких помещений у нас есть маленькие маяки — до 10 метров, вместо до 50 метров для больших маяков.

                      Да, конечно, можно ставить много стационарных маяков. Вот видео, где мы ставим 11 маяков в торговом центре:
                      youtu.be/LtMbmgaM7nU — там нет прямой видимости между крайними маяками. Система собирается из кластеров маяков. Можно закрыть помещение любых размеров, пока, есть связь по радио, а это — 100 метров в каждом направлении. То есть, до 200 метров. А это — очень-очень большие помещения.
                      +1
                      Off: Прямо в руку ваша статья) Только что на яндексе прочитал, что вчера в м-не Дикси в Москве вынесли банкомат с 9 млн. руб. внутри, погрузили в микроавтобус и уехали в неизвестном направлении. Вопрос вот в чем: неужели банкоматы не снабжены gps трекерами?
                        +2
                        Наверное, в цельнометаллический, заземленный.
                        Даже если он и писал трек, то что с того? Трек же нужно передать!
                        Но даже если и есть возможность передавать (полностью экранировать передачу на УКВ сложно — все равно в какую-нибудь щель, да пролезет), остается проблема — как определить свои координаты, ведь GPS спутники «не видны»? Если я не ошибаюсь, то банкоматы могут быть связаны с сетью через GPRS, но это двухсторонний протокол. И если рядом с приемником расположить передатчик, то он забьет приемную часть и вход в сеть не произойдет.
                        Тут могут помочь только или сверхмедленные виды связи(QRSS, DFCW), либо какие-нибудь широкополосные системы, которые не заглушить помехой на одной частоте (Варакин Л.Е. — Системы связи с шумоподобными сигналами.djvu).
                          +1
                          Спасибо за ссылку на книгу!
                          +5
                          Тут скорее проблема в том, что уже давно есть банкоматы, которые приводят деньги в негодность при попытке несанкционированного вскрытия. Просто они чуть дороже стоят.
                            0
                            Недавно на авто видел надпись «оборудовано системой самоуничтожения ценностей».
                              0
                              А каким образом сам банк затем эти деньги возмещает?
                                +1
                                Страховка.
                                  0
                                  Причём за счёт клиентов.
                            0
                            Можно не вращать, а переключать антенны pin-диодами.
                              0
                              А что именно можно не вращать?.. Тут я не очень понял.

                              С уважением,
                              Maxim
                              ex UA3LHB, ex RV3DOS
                                +1
                                Направленную антенну — радара.
                                UPD. Ой, тут про радар и не говорится.
                              +3
                              Пару лет назад писал WUI для человека с подобной задачей. Вот только маяки у него работали по принципу RFID (дабы не менять батарейки). И два приемопередатчика давали точность до миллиметров.
                              Он, правда, использовал какую-то свою патентованную технологию. Желающие могут подробнее прочитать, например, тут.
                              Но больше всего мне понравился его «web сервер» pic16+enc28j60.

                              Другие товарищи, для Канады, сочиняли подобную штуку на фазовращателях… Для них я писал GUI. И даже сейчас я просыпаюсь в холодном поту при воспоминаниях о параболических системах координат. Как сейчас помню, помехи фильтровались на самом верхнем уровне методом KRAB. Эх, великолепное было время.
                                0
                                Выглядит впечатляюще!
                                Да, забыл описать о таком варианте. Фаза от нескольких источников — это красиво. Если работает на практике — вообще прелесть. Нужно изучить подробней.

                                А у них RFID стояли в точках с известными координатами? Если да, то это заметное усложнение для разворачивание системы, в некоторых случаях. Но, если они сами друг друга измеряли — прелестно!

                                Большое спасибо за ссылку!

                                Кстати, а чем их история закончилась?
                                  +1
                                  RFID-like карта выдавалась наблюдаемому.
                                  Все, что требовалось от наблюдателя — это к стене прикрутить две небольших коробки приемопередатчиков, перейти на веб морду и там указать размеры комнаты и расстояние от угла комнаты до мест где прикручены приемопередатчики.
                                  Приемопередатчики в качестве результата своей работы давали азимут до наблюдаемого. JavaScript`ом считались координаты объекта по азимутам из известных точек…

                                  История «канадцев» закончилась тем, если я не ошибаюсь, что патент на подобного рода идеи принадлежит теперь одному ушлому г-ну из Канады. Ну после этого еще провели минимум 3 раунда разработки…
                                    +1
                                    Так они что-то коммерческое сделали или на чем-то все умерло? Обидно же!

                                    А! Так они угол считали из нескольких пар точек с известными координатами и точка пересечения — это и есть положение мобильного маяка? Круто! А мы от этого отказались. У нас точно не получалось. Получалось как-то, но совсем не так, как хотелось бы. Поэтому — трилатерация, а не триангуляция.
                                    Ну, и хотелось, обязательно, не вводить никаких расстояния. Система сама должна все измерять. От пользователя требуется только установить на стенах/потолках маяки и обеспечить видимость мобильному маяку трех стационарных маяков за раз. Что, в общем, и сделали, в конце концов.

                                    Но мне интересно продолжение канадской истории.
                                    Спасибо
                                  0
                                  Испытал deja vu при прочтении статьи, а потом вспомнил где видел подобное — Cricket MIT
                                    0
                                    Да, Cricket — известная система.
                                    Но есть между нами существенные отличия.
                                      0
                                      А как на точность позиционирования влияют отражения, интерференция, неоднородности в температуре воздуха и состава, ветер?
                                        0
                                        Отражения — никак. Мы их избегаем.
                                        Собственная интерференция — никак. Тоже избегаем.

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

                                        Сильный ветер «свистит» в ушах (сенсорах) повышает уровень шума. Но не убивает систему.

                                        Неоднородности влияют, конечно, но не измеряли еще как именно сильно — фокус был на помещениях. А там воздух стабилен и по температуре и по составу. Да и ветра нет.

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

                                            Вас сможет «убить» охранник, задремавший на посту, со случайно зажатой тангетой радиостанции (они у большинства, как раз на 433 Мгц).
                                              0
                                              С этим, как раз, проблема не большая. Там широкий диапазон, мы просто можем прыгнуть на другую частоту и все.
                                              Но, до сих пор, проблем с этим не было вообще.
                                          0
                                          Изменяется. Мы снаружи плотно не игрались еще. Фокусировались на indoor.
                                          Будет больше данных — с удовольствием, расскажу.

                                          Не стоит циклиться на абсолютной точности в сантиметрах или миллиметрах. Стоит смотреть на точность с точки зрения применительности к задачам: сможет ли он там проехать, не исказилась ли карта так, что все поменялось? Мягкие искажения, когда карта искривляется — это, на практике, и не помеха вообще. Все координаты меняются — и робота, и препятствий. Так что, это некий scale down и scale up на процент-другой.

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

                                          Имеет смысл смотреть на систему с практической, а не теоретической точки зрения. На практике, большинство описанных крайних случаев не оказывает такого серьезного влияния, как можно было бы предположить. Хотя, в теории, конечно, может влиять.
                                            0
                                            Давно ношусь с идеей системы локального оптического позиционирования: где-то выше зоны действия робота в помещении устанавливается маяк в виде разнесенных треугольником разноцветных диодов. У робота вверх глядит камера выского разрешения. По конфигурации и расположению треугольника можно подсчитать положение не только на плоскости но и на некотрой высоте. По-идее все реализуемо на готовых компонентах и не очень сложной системе распознавания. Но спектр применения конечно ограничен ситуациями с прямой видимостью и замкнутым пространством.
                                              0
                                              Да, очень хорошая тема. Простая и будет работать.
                                              Спектр применения ограничен. Но, коллеги, я всех призываю использовать смесь систем. Ни одна не будет работать во всех случаях. И не стоит пытаться. Но удачно объединять несколько под конкретные задачи и ограничения (деньги, размеры, потребление и т.д.) — в этом решение. Они друг друг дополняют, калибруют. Обеспечивают redundancy и resilience.

                                              Поэтому, не откладывайте, а делайте такой блочек, как сделали мы с ультразвуком.
                                              0
                                              А как получилось добиться точности в 2 сантиметра, когда ультразвуковые сенсоры дают большое количество ложных срабатываний за счет эха и не самой высокой точности измерения времени? Ошибочных данных так много, что обычно, чтобы хоть как-то померить дистанцию в прямой видимости — делают пять измерений подряд и берут медианное (не среднее). А тут такая точность, да еще и при наличии кучи сенсоров, которые должны бы мешать друг другу и сложном рельефе местности. Если же делается много измерений, то сколько времени занимает определение позиции?
                                                0
                                                Если выбирать правильную схему работы, нет никаких эхо, нет ложных срабатываний. С эхо мы не боремся. Таких проблем у нас просто нет.

                                                А на счет времени и синхронизации… Ну, как бы, в этом-то вся легкость с ультразвуком и есть. За 10 мкс звук пролетает 3мм, а радио — 3000 метров, то есть, в 1 миллион раз больше.
                                                Точность синхронизации в 10 мкс — не слишком сложная задача. А в 10 пикосекунд — крайне нетривиальная. Поэтому, мы свою точность уже имеем сейчас, а ultra-wide band, например, только подбирается.
                                                Но я за ultra-wide band всеми руками — как только технология будет готова.

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

                                                «Вам быстро, качественно, недорого? Выберите любые два» — в таком духе.
                                                • UFO just landed and posted this here
                                                    0
                                                    Многие и используют ультразвук для обнаружения препятствий. Это — классика. Но навигация по координатам и обнаружение препятствий — это две разные задачи. На основе идеально работающего обнаружения препятствий можно, нарисовав карту, со временем, начать обнаруживать, где ты находишься. Но это очень-очень-очень нетривиальная задача:

                                                    1) Отражений миллион! Обнаружить можно ли ехать или нет — это просто. Но сообразить какого рода препятствие, сколько их, как выглядят и так далее — крайне сложно. И это, если только вперед смотреть. А, если нужно больше данных — нужно сканировать. А, раз нужно сканировать, лидар для этих целей, хотя, и сложнее, но куда более полезную картинку рисует — там луч тонкий. А с широким лучом ультразвука разобрать что и где есть — ну, крайне сложно.

                                                    2) Наличие препятствий ничего не говорит о том, где робот сейчас. Распознать по картинке препятствий, что робот в конкретной точке пространства — это разновидность 2D распознавания образов. Учитывая сложность приходящего отраженного сигнала — не видел, чтобы кто-то сделал. Но не невозможно.

                                                    Приняв все это во внимание, мы и пошли путем, который работает. Сделали ультразвуковой «GPS» с радиосинхронизацией. Эта система ничего не говорит о препятствиях. Этим робот сам должен заниматься. Но система сообщает роботу его точные координаты в системе координат системы. А с этими данными он может очень многое! И обнаружить был ли он в этой точке или нет, и найти путь к точке назначения, и, даже, запомнить, что в этой точке препятствие и уже не ходить туда опять и опять.
                                                      0
                                                      Use case — мечта.
                                                      Задача: нужно убрать локальное загрязнение на полу.
                                                      Сценарий: запускается приложение на смартфоне, камера направляется в сторону нужного участка, он приблизительно обводится пальцем на экране, после чего приезжает робот-пылесос и убирает. Как вариант, вместо смартфона используется специальный пульт, проецирующий на пол, например, окружность, задающую область уборки.
                                                      Для реализации требуется точное (порядка сантиметров) позиционирование в пространстве помещения как пульта, так и пылесоса.

                                                      По теме, кажется перспективным оптический трекинг позиции робота, когда камеры установлены в маячках. С одной стороны, есть проблема окклюзии, но есть и большое преимущество в определении посторонних мобильных агентов, типа людей, возможности реконструировать 3D-модель контролируемой области пространства. Широкие возможности для неспецифического управления роботом, например, вместо использования специального устройства для задания области уборки, можно просто показать на пол пальцем и сказать, что нужно убрать область диаметром 1 метр.
                                                        0
                                                        Развивая тему оптики: если на маячках поставить камеры с хорошим разрешением, то они могут следить за направлением взгляда пользователя. Хотя, конечно, жест пальцем в пол более наглядный.
                                                        Ещё вариант — проецирование на пол лазерной сетки из квадратиков с номерами/координатами. Возможно, это будет полезно и в других вариантах «целеуказания», как обратная связь от системы — насколько хорошо она поняла задачу.

                                                        Спускаясь на землю — уже сейчас реален дешёвый и сердитый вариант: руками перетащить робот-пылесос в эпицентр бедствия и нажать кнопку «Поползай тут минут 5» :)

                                                        В любом случае, система локального позиционирования будет, как минимум, полезна.
                                                          0
                                                          :-))
                                                          Можно много делать. Вопрос — сделать :)
                                                          Сложно. Просто сложно и не работает сейчас.
                                                          А так — мысль очень хорошая!
                                                        0
                                                        Максим, что-то про этих товарищей знаете? www.pozyx.io
                                                          0
                                                          Большое спасибо за ссылку, milabs.
                                                          Нет, не видел до этого. Но очень интересно!

                                                          Я лично всеми руками за UWB. Как только появятся чипы. Если парни уже показывают, наверное, чипы появились. Приятно слышать.
                                                          Судя по тому, что чипы продаются на digikey.com, точно уже все хорошо с ними должно быть.

                                                          В UWB серьезные ограничения вызваны именно максимальной мощностью, которую можно излучать — -41.3dBm/MHz. И рабочие расстояния становятся малые метры в реальности с реальными антеннами. Хотя, много где утверждается, что достигнуты сотни метров… Если не соблюдать правила по мощности, то все становится значительно приятней.
                                                          Pozyx упоминают про 200м на открытом воздухе. Это впечатляющие цифры, если, в самом деле, работает.

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

                                                          Парни с pozyx все разумно пишут. И их система с точки зрения архитектуры — близнец нашей, насколько я могу судить, только не нуждается в ультразвуке, что есть серьезный плюс им. Достижимая точность у нас, конечно, значительно выше, чем у них, но, я бы ставил на их систему, потому что там только радио. Если она, в конце концов, работает, как заявлено. Это ключевой вопрос. UWB — это очень красивая технология, которую сложно сделать. Но рано или поздно, думаю, сделают.

                                                          Судя по комментариям, они пользуют чипы Decawave. Это самая яркая, если не единственная контора, которая активно пропагандирует UWB.

                                                          Будет интересно за ними следить.

                                                          Еще раз — спасибо за ссылку.
                                                            0
                                                            Интересно было бы сравнить. Мы заказываем у вас наборчик, но требуемая для наших задач точность у них не достигается, поэтому вряд ли сейчас будем смотреть. В любом случае: больше решений, хороших и разных!
                                                              +1
                                                              Спасибо, что заказываете. Будем вам помогать всячески.

                                                              Да, я тоже за многообразие вариантов. Мы сами, по факту, взялись делать именно потому, что не могли найти готовое решение для навигации с нужной точностью для наших роботов. Чтобы можно было взять и сразу пользовать, как готовый кирпичик.
                                                          0
                                                          500 долларов для хоббистов довольно дорого (или это только для меня? :))
                                                          Есть ли в планах более дешевые системы с какими-либо ограничениями?
                                                            0
                                                            Совершенно согласен. Дорого выходит. Правда, я не совсем понял почему 500 USD, стартовый набор стоит 299 USD. Хотя, конечно, дорого и это, если ставить на простого робота за 50 USD. Остаются большие и сложные роботы и роботы не для хоббистов. Эти уходят в 1..50kUSD диапазон.

                                                            Какие есть варианты с дополнительными ограничениями:
                                                            Сама простая конфигурация, которая может работать с минимальными изменениями уже сейчас это:
                                                            — 1xМодем + 1xМобильный маяк + 2xСтационарных маяка, вместо 4 маяков => ~4x49=199 USD

                                                            Ограничения:
                                                            — Нужно будет указать полуплоскость в которой расположен робот с мобильным маяком. То есть, стационарные маяки расположены на стене, а робот катается перед ними в помещении — не заходит «за спину» маякам. Ограничение не слишком сильное во многих случаях
                                                            — Можно будет измерять в XY, вместо XYZ. Z — высоту указывать ручками. Если установлено на мобильный робот, движущийся в одной плоскости и находится на одной высоте — не сильное ограничение тоже
                                                              0
                                                              500 отсюда — «За всю готовую систему из 4 стационарных маяков + 1 мобильный маяк + роутер + софт = 499 USD.»
                                                              Что то из этого комплекта лишнее для кэжуал применений?
                                                                0
                                                                То было в самом начале. Уже давно: "За всю готовую систему из 4 стационарных маяков + 1 мобильный маяк + роутер + софт = 299 USD"
                                                                Это Стартовый набор. Ничего лишнего нет.

                                                                Если примириться с ограниченями, описанными выше, можно уменьшить на два стационарных маяка.

                                                            Only users with full accounts can post comments. Log in, please.