может ли робот ходить сквозь стены
Робот со сверхчеловеческим восприятием обнаруживает объекты сквозь стены
Инженеры из Массачусетского технологического института (MIT) разработали нового робота RF-Grasp. Он использует радиоволны, которые могут проходить сквозь стены, чтобы обнаруживать закрытые объекты.
Читайте «Хайтек» в
В последние годы роботы получили искусственное зрение, осязание и даже обоняние. «Исследователи придают роботам человеческое восприятие — говорит доцент MIT Фадель Адиб. В новой статье команда Адиба продвигает технологию еще дальше — Мы пытаемся дать роботам сверхчеловеческое восприятие».
Исследователи разработали робота, который использует радиоволны. Их особенность в том, они проходят сквозь стены для обнаружения спрятанных объектов. Робот RF-Grasp сочетает в себе мощное зондирование с более традиционным компьютерным зрением для обнаружения и захвата предметов, которые в противном случае могли бы быть заблокированы для просмотра. Прогресс может однажды упростить электронную коммерцию на складах.
Исследование будет представлено в мае на Международной конференции IEEE по робототехнике и автоматизации. Ведущим автором статьи является Тара Борушаки, научная сотрудница группы кинетики сигналов в MIT Media Lab.
Сфера электронной коммерции продолжает расти, однако работа на складах по-прежнему обычно является прерогативой людей, а не роботов, несмотря на иногда опасные условия труда. Отчасти это связано с тем, что роботам сложно найти и схватить объекты в такой многолюдной среде. Восприятие и выбор — вот два препятствия в отрасли сегодня, объясняют ученые. Используя только оптическое зрение, роботы не могут заметить присутствие предмета, упакованного в коробку или спрятанного за другим предметом на полке. Дело в том, что видимые световые волны не проходят сквозь стены.
При создании робота использовались системы радиочастотной (RF) идентификации. Это способ автоматической идентификации объектов, в котором посредством радиосигналов считываются или записываются данные, хранящиеся в так называемых транспондерах, или RFID-метках.
Любая RFID-система состоит из считывающего устройства (считыватель, ридер или интеррогатор) и транспондера (он же RFID-метка, иногда также применяется термин RFID-тег).
RF-Grasp использует камеру и RF-ридер для поиска и захвата помеченных объектов, даже если они полностью закрыты для обзора камеры. Камера находится на запястье роботизированной руки, прикрепленной к корпусу. При этом, RF-считыватель не зависит от робота и передает информацию в алгоритм управления. Таким образом, он постоянно собирает как данные радиочастотного отслеживания, так и визуальную картину своего окружения.
Подробная конструкция робота описана в пресс-релизе Массачусетского технологического института.
Может ли робот ходить сквозь стены
Запущенная программа Кумир выглядит так.
Первым делом мы должны раскомментировать первую строку нашей программы, убрав символ |
Таким образом, программа станет выглядеть так:
Удалив символ |, мы тем самым указали Кумиру на то, что будем работать с исполнителем Робот. Если этого не сделать, то при написании программы мы столкнемся с ошибкой «Нет такого алгоритма». Поэтому очень важно при создании новой программы раскомментировать первую строку. Теперь все готово для дальнейшей работы.
Но перед началом, нам необходимо задать стартовую обстановку Робота и познакомиться с простыми командами исполнителя Робот.
Стартовая обстановка Робота
Что такое стартовая обстановка?
Наш Робот находится в некой среде — это клетчатое поле, размер которого известен. Так же на этом поле могут находится стены и закрашенные клетки, а сам Робот может находится в любой клетке. Так вот — стартовая обстановка задает положение Робота на поле и расположение всех остальных элементов — стен, закрашенных клеток. И перед тем, как писать алгоритм для Робота необходимо задать стартовую обстановку. Насколько это важно давайте рассмотрим на примере. Пусть есть две стартовые обстановки:
Стартовая обстановка 1
Стартовая обстановка 2
Отличаются они только тем, что в стартовой обстановке 2 справа от Робота находится стена.
Если наша программа начнется с команды, которая переместит Робота на одну клетку вправо (о простых командах Робота), то в первом случае (стартовая обстановка 1) Робот выполнит эту команду, а во втором программа завершится аварийно, так как Робот не может ходить сквозь стены. Получается, что одна и та же программа в первом случае работает, а во втором приводит к ошибке. Именно поэтому так важно задавать стартовую обстановку для Робота.
Как задать стартовую обстановку?
Запустив среду Кумир в меню Инструменты выбираем пункт Редактировать стартовую обстановку Робота
Откроется окно с синим фоном. Это и есть стартовая обстановка Робота. И мы ее можем изменить.
Находим сохраненную ранее обстановку и загружаем ее. После этого убедимся, что загрузили правильную стартовую обстановку, щелкнув по кнопке Показать окно Робота
Если в окне с зеленым фоном (текущая обстановка Робота) вы увидите вашу обстановку, то можно переходить к написанию алгоритма, используя простые команды Робота.
Исполнитель Робот. Простые команды.
У нашего Робота тоже есть система команд. Сегодня мы рассмотрим простые команды Робота. Всего их 5:
Результат выполнения этих команд понятен из их названия:
вверх — переместить Робота на одну клетку вверх
вниз — переместить Робота на одну клетку вниз
влево — переместить Робота на одну клетку влево
вправо — переместить Робота на одну клетку вправо
закрасить — закрасить текущую клетку (клетку в которой находится Робот).
Эти команды можно писать с клавиатуры, а можно использовать горячие клавиши (нажав их команды будут вставляться автоматически):
вверх — Escape, Up (стрелка вверх)
вниз — Escape, Down (стрелка вниз)
влево — Escape, Left (стрелка влево)
вправо — Escape, Right (стрелка вправо)
закрасить — Escape, Space (пробел)
Обратите внимание, что набирать нужную комбинацию горячих клавиш нужно не привычным нам способом! Мы привыкли нажимать клавиши одновременно, а здесь их нужно нажимать последовательно.
Теперь мы готовы написать первый алгоритм для Робота. Предлагаю начать с простого — нарисуем квадрат со стороной 3 клетки. Поехали!
Запускаем Кумир, настраиваем его. Можно начинать писать программу? Конечно нет! Мы же не задали стартовую обстановку! Делаем это. Предлагаю использовать вот такую:
Вот теперь все готово. Начинаем писать программу. Пока она выглядит так
Удаляем символ «|» и называем наш алгоритм «Квадрат»
Предлагаю рисовать квадрат, двигаясь по часовой стрелке. Для начала закрасим текущую клетку, дав команду закрасить. Потом делаем шаг вправо и опять закрашиваем клетку. И еще раз шаг вправо и закрасить.
Попробуем запустить программу и посмотреть что же получилось. Для запуска нажимаем F9 или же кнопку на панели инструментов
В результате мы должны увидеть вот такую картину
Если такое окно Робота у вас не появилось, то на панели инструментов щелкните « Показать окно Робота» или в меню Робот выберите пункт » Показать окно Робота». Продолжаем дальше.
Теперь мы будем двигаться вниз и закрашивать правую сторону квадрата:
Потом пойдем влево, закрашивая нижнюю границу квадрата
У нас осталась одна незакрашенная клетка. Закрасим ее
Все готово! В итоге наша программа выглядит так:
А результат ее работы вот так
Итак, сегодня мы с вами написали программу, используя простые команды Робота. Рекомендую попрактиковаться самостоятельно — придумать себе задание и написать программу. Это могут быть самые различные фигуры, узоры, буквы. К примеру, попробуйте написать программу, рисующую букву П, Р, Ш, Щ, М. А если получится и захотите поделиться — комментируйте и прикрепляйте результат к комментарию.
Исполнитель Робот. Циклы.
Итак, что такое цикл? Представьте, что мы находимся на уроке физической культуры и перед нами стоит задача сделать 7 приседаний. Это задание можно оформить в виде линейного алгоритма и тогда оно будет выглядеть примерно так:
Т. е мы повторили команду сделай приседание 7 раз. А есть ли смысл писать 7 одинаковых команд? Может проще дать команду сделай 7 приседаний? Конечно проще и правильнее. Это и есть цикл. Вы можете сами вспомнить примеры циклов из жизни — их довольно много.
Таким образом линейный алгоритм, где повторяются одни и те же команды мы можем оформить в виде циклического алгоритма — примерно так:
Вот так, на придуманном нами языке мы оформили цикл. У исполнителя Робот тоже есть возможность записывать циклы. Причем, циклы бывают разные. Тот вариант, который мы только что рассмотрели называется цикл со счетчиком или цикл с параметром.
Виды циклов.
Цикл со счетчиком.
Цикл со счетчиком применяется когда заранее известно сколько повторений необходимо сделать. В примере выше с приседаниями именно такой случай.
Для того, чтобы написать цикл со счетчиком для исполнителя необходимо знать его синтаксис. А он такой:
нц количество повторений > раз
Давайте рассмотрим это на примере.
Закрасим 7 клеток, как на рисунке. Рекомендую почитать про стартовую обстановку Робота и про его простые команды.
Изначально Робот находился в левой верхней клетке.
Давайте для начала решим задачу линейно. В этом случае мы будет закрашивать текущую клетку и перемещаться на 1 клетку вправо и программа будет выглядеть так:
использовать Робот
алг
нач
Как видим, команды закрасить и вправо повторяются 7 раз. Давайте теперь перепишем программу с использованием цикла. Кстати, чтобы вставить цикл в свою программу можно в меню Вставка выбрать пункт нц-раз-кц или нажать одну из комбинаций клавиш Esc, Р (русская буква Р) или Esc, H (латинская буква H). Причем клавиши надо нажимать последовательно — сначала Esc, отпустить ее и только потом Р или H.
Так вот, наша программа с циклом будет выглядеть так:
Если мы ее запустим, то увидим, что в результате получится тоже самое — 7 закрашенных клеток. Однако программа стала короче и значительно грамотней с алгоритмической точки зрения!
В качестве разминки и закрепления предлагаю самостоятельно написать программу для Робота, которая нарисует квадрат со стороной 7 клеток. Естественно, используя цикл. Жду решения в комментариях.
Цикл с условием.
Вернемся к физкультуре и изменим задачу. Ведь кто-то может и не сделать 7 приседаний, а другой способен сделать 27. Можно ли учесть это при создании цикла? Конечно. Только теперь мы будем использовать не счетчик (количество повторений), а условие. К примеру, пока не устал, делай приседания. В этом случае человек будет делать не конкретное число приседаний, а приседать до тех пор, пока не устанет. И наш цикл на абстрактном языке примет такой вид:
Слова не устал в нашем случае — это условие. Когда оно истинно, цикл выполняется. Если же оно ложно (устал) тело цикла не будет выполнено. У исполнителя Робот есть несколько условий
Теперь давайте решим следующую задачу для Робота — нарисовать вертикальную линию от левой до правой границы поля использую цикл с условием. Изначально Робот находится в левом верхнем углу.
Давайте сначала сформулируем словесный алгоритм — т. е. опишем словами что нужно делать Роботу. Этот алгоритм будет звучать примерно так:
« Пока справа свободно делай шаг вправо и закрашивай клетку»
В результате Робот пробежит по всем клеткам вправо и будет их закрашивать до тех пор, пока справа не окажется стена.
Исходный код нашей программы для Робота будет примерно такой:
нц пока справа свободно
В результате выполнения этой программы мы увидим вот такую картину:
Как видим, не хватает только закрашенной первой клетки. Для этого перед циклом необходимо выполнить команду закрасить.
Для закрепления прошу написать программу, которая будет делать рамку вокруг рабочего поля Робота независимо от его размера. Конечно же с использованием циклов с условием. В итоге должно получиться так:
Мой дом уже не крепость: технологии, позволяющие смотреть сквозь стены
Раньше техника, позволяющая следить за людьми сквозь стены, была доступна лишь государственным службам, да и то не всем. Сейчас, благодаря совершенствованию технологий и сопутствующему снижению цен, ситуация меняется.
В начале 2015 года в прессе с подачи USA Today прокатилась волна публикаций о ручном радаре Range-R, применяемом американской полицией и другими государственными службами. Этот аппарат позволяет «видеть сквозь стены». А если точнее, фиксировать движение внутри закрытых помещений. Чувствительность прибора такова, что он способен почувствовать даже дыхание человека, притаившегося где-то в глубине здания за несколькими перегородками.
Существование подобного устройства для многих журналистов, описывающих возможности Range-R, оказалось сюрпризом. Между тем такие радары уже давно массово выпускаются для нужд военных и спецслужб. Они применяются ФБР в операциях по освобождению заложников, пожарными при поиске людей в завалах, Службой федеральных маршалов, отлавливающей беглых преступников, и так далее.
Поэтому не будет удивительным, если завтра подобное оборудование возьмут на вооружение преступники. Следовательно, самое время присмотреться поподробнее к этой технике и ее возможностям.
Есть кто живой?
Категория устройств, к которым относится Range-R, получила название through-thewall sensors (TTWS). Как и большинство других радаров, они «подсвечивают» поле зрения радиоволнами, а потом регистрируют отраженное излучение.
Легко это сделать только в теории. На практике создателям TTWS приходится комбинировать в одном устройстве сразу множество технологий и продвинутых методов обработки данных. А операторам приборов — долго учиться интерпретировать их показания.
Большинство TTWS-радаров работают на частотах от 1 до 10 ГГц — излучение в этом диапазоне относительно неплохо проникает через стены (бетон, дерево, пластик, стекло). Чтобы в этом убедиться, просто посмотрите на обширный список Wi-Fi-сетей, переполняющих эфир в вашем доме или офисе.
Чем выше частота, тем хуже излучение проходит через стены. Но зато тем точнее с его помощью получается оценить размеры и расстояния до объектов. Кроме того, некоторые материалы избирательно поглощают радиоволны в каком-то узком диапазоне. Поэтому продвинутые сканеры обычно умеют перебирать частоту на ходу или использовать сразу широкий участок спектра.
Работа с короткими импульсами позволяет оценить расстояние до объекта по времени прохождения волны туда-обратно. А для регистрации движений используется эффект Доплера: отраженная от движущегося объекта волна чуть-чуть меняет частоту, и это позволяет, например, обнаружить незначительное перемещение грудной клетки при дыхании.
Конечно, у TTWS-устройств есть много ограничений. Самое главное — радиоволны не проникают через металл. Поэтому почувствовать человека в закрытом автомобильном кузове или в доме, обшитом алюминиевым сайдингом, никак не получится. Похожими свойствами обладает и вода, так что мокрый пористый бетон будет довольно эффективной защитой.
Да и вообще, толстый слой бетона или кирпичной кладки здорово ослабляет сигнал. При суммарной толщине стен, разделяющих радар и объект, больше 30 сантиметров разглядеть обычно уже ничего не получается.
Дальность действия большинства устройств составляет 15–20 метров, хотя приборы с большими антеннами и мощным питанием могут «бить» и метров на 70. Двигаться внутри дома может не только человек, но и собака, штора на сквозняке — далеко не всегда объекты удается однозначно различить. Особенно в условиях нехватки времени — стандартный замер занимает примерно минуту.
Большинство радаров выпускают в ручном исполнении. Во время работы их прислоняют к стене дома, чтобы исключить ошибки от тремора рук оператора. Однако бывают ситуации, когда к стене не очень-то и подойдешь, — некоторые модели крепятся на штативах, роботизированных платформах и даже дронах.
Самые простые TTWS просто показывают, есть кто живой (движущийся) в помещении или нет. Более сложные устройства определяют расстояние и направление на объект или объекты в двух или трех измерениях, строят приближенную схему помещения и так далее.
Экспериментальные решения обещают уже намного больше, по крайней мере в лабораторных условиях. Например, подвижная радарная система на базе Wi-Fi-модулей, смонтированная на паре роботов, позволяет создать план неизвестного помещения аж с двухсантиметровой погрешностью. Для серийных устройств это пока фантастика.
Как защититься: лучшая защита от «TTWS-прослушки» — экранированное помещение. Если у вас в доме хорошие толстые железобетонные перекрытия, то и делать ничего не нужно. В противном случае хороши алюминиевый сайдинг или металлизированные обои. Еще можно держать дома нескольких догов — серийные устройства больше трех целей пока не различают.
Этот (не)страшный терагерц
Если вы следите за научно-популярными новостями, то наверняка что-нибудь слышали о терагерцовых детекторах, которые и сквозь стены видят, и бомбы издалека чуют. Публикации подобного рода периодически появляются в Сети после очередного бодрого пресс-релиза какой-нибудь научной лаборатории, в который раз сообщившей о «значительном успехе на пути к…».
Мой дом уже не крепость: технологии, позволяющие смотреть сквозь стены #шпионаж #безопасность
На самом деле терагерцевые радары сегодня успешно прижились только в устройствах для досмотра пассажиров в аэропортах. В этой роли они прославились на публике благодаря способности «раздевать людей», то есть создавать довольно подробную картинку человеческого тела, скрытого под одеждой.
Большинство прочих применений «терагерца» (диапазон 300 ГГц — 10 ТГц) остаются пока в разделе «Научная фантастика». В реальности остается слишком много нерешенных проблем — от затухания сигнала на препятствиях до конструирования компактных источников излучения высокой мощности.
Еще одна городская легенда — заглядывающие через стены инфракрасные камеры. Вопреки распространенному мнению ничего подобного тепловые детекторы не умеют. Даже слой матового стекла или фанерная перегородка непрозрачны для инфракрасного детектора.
Как защититься: снять шапочку из фольги. Или, наоборот, надеть — по вкусу.
И какие вам видятся голоса?
Все, кто хоть раз смотрел фильмы про шпионов, знают, что разговор можно подслушивать издалека, через комнатное стекло. Под действием звуковых колебаний стекло вибрирует, и эти движения можно считывать лазером. В ответ придумали недорогие и эффективные «глушилки», которые крепятся на стекло и генерируют случайные помехи.
Современным шпионам жить становится проще. Они могут узнать содержание разговора в помещении, проанализировав беззвучную видеозапись со случайным фрагментом комнаты в кадре. Общий принцип работы здесь тот же, только в роли мембраны выступает любой восприимчивый к вибрациям объект внутри помещения — пакетик чипсов, поверхность воды в стакане или листья домашнего фикуса.
Стандартные оконные глушилки подобной «звукосъемке» не помешают. Правда, для того, чтобы расшифровать разговор, съемка должна проводиться специальной камерой — со скоростью записи несколько тысяч кадров в секунду (она должна быть выше, чем частота тона голоса).
Впрочем, скоростные камеры проникают в нашу жизнь быстро. Многие современные смартфоны уже умеют снимать видео с повышенной скоростью кадров, позволяющей извлекать ценную информацию (например, могут помочь идентифицировать личности участников разговора).
А в окно заглянуть в наше время совершенно не проблема — благо дроны с каждым днем становятся все дешевле и круче.
Как защититься: штора или жалюзи надежно закроют возможность «видеопрослушивания». Важно только, чтобы занавеска не могла сама выступить в качестве звуковой мембраны. Так что лучше выбирать что-нибудь потяжелее — или закрепить на шторе вышеупомянутую «глушилку».
Может ли робот ходить сквозь стены
Выберите ОДНО из предложенных ниже заданий: 15.1 или 15.2.
15.1 Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может. У Робота есть девять команд. Четыре команды — это команды-приказы:
вверх вниз влево вправо
Ещё четыре команды — это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:
сверху свободно снизу свободно слева свободно справа свободно
Эти команды можно использовать вместе с условием «если», имеющим следующий вид:
Здесь условие — одна из команд проверки условия. Последовательность команд — это одна или несколько любых команд-приказов. Например, для передвижения на одну клетку вправо, если справа нет стенки, и закрашивания клетки можно использовать такой алгоритм:
если справа свободно то
В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:
если (справа свободно) и (не снизу свободно) то
Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:
Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:
нц пока справа свободно
На бесконечном поле есть горизонтальная и вертикальная стены. Правый конец горизонтальной стены соединён с верхним концом вертикальной стены. Длины стен неизвестны. В каждой стене есть ровно один проход, точное место прохода и его ширина неизвестны. Робот находится в клетке, расположенной непосредственно под горизонтальной стеной у её левого конца. На рисунке указан один из возможных способов расположения стен и Робота (Робот обозначен буквой «Р»).
Напишите для Робота алгоритм, закрашивающий все клетки, расположенные непосредственно ниже горизонтальной стены и левее вертикальной стены. Проходы должны остаться незакрашенными. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок).
При исполнении алгоритма Робот не должен разрушиться, выполнение алгоритма должно завершиться. Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для любого допустимого расположения стен и любого расположения и размера проходов внутри стен. Алгоритм может быть выполнен в среде формального исполнителя или записан в текстовом редакторе. Сохраните алгоритм в текстовом файле.
15.2 Напишите программу, которая в последовательности натуральных чисел определяет максимальное число, кратное 5. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, кратное 5. Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число — максимальное число, кратное 5.
Пример работы программы:
Входные данные | Выходные данные |
3 10 25 12 | 25 |
15.1 Следующий алгоритм выполнит требуемую задачу.