1. Глаза и уши робота: всё о датчиках расстояния и линии для начинающих
Глаза и уши робота: всё о датчиках расстояния и линии для начинающих
Представьте, что вам завязали глаза, надели плотные наушники и попросили пройти из вашей комнаты на кухню. Скорее всего, вы будете двигаться очень медленно, выставив руки вперёд, чтобы не врезаться в шкаф, и нащупывая ногами дверные пороги. Без органов чувств — зрения, слуха, осязания — человек становится беспомощным.
Точно так же дела обстоят и с роботами. Когда инженер собирает робота из пластика, проводов и моторчиков, этот робот абсолютно «слеп» и «глух». Чтобы машина могла ориентироваться в пространстве, не врезаться в стены и выполнять полезную работу, ей нужны искусственные органы чувств. В робототехнике они называются датчиками.
> Датчик (или сенсор) — это электронное устройство, которое измеряет параметры окружающей среды (свет, звук, температуру, расстояние) и превращает их в электрический сигнал, понятный «мозгу» робота.
Сегодня мы разберёмся, как роботы понимают, что перед ними стена, и как они умудряются ездить строго по нарисованной линии на полу. Для этого мы изучим два самых популярных типа сенсоров: датчики расстояния и датчики линии.
Как роботы измеряют расстояние до препятствий
Чтобы робот-пылесос не бился со всего размаху о ножки стульев, а беспилотный автомобиль вовремя тормозил перед пешеходом, им нужно знать точное расстояние до объекта впереди. Для этого чаще всего используют два вида датчиков: ультразвуковые и инфракрасные. У каждого из них своя физика работы.
Ультразвуковой датчик: летучая мышь в мире роботов
Вы когда-нибудь кричали в горах или в пустом большом зале? Через секунду вы слышали, как ваш голос возвращается обратно. Это явление называется эхом. Звук отрывается от ваших губ, летит по воздуху, ударяется о скалу и отскакивает обратно к вашим ушам.
Именно этот принцип, который называется эхолокацией, используют летучие мыши, чтобы летать в полной темноте и ловить мелких насекомых.
Ультразвуковой датчик расстояния работает точно так же. Внешне он похож на два маленьких металлических цилиндра, напоминающих глаза робота из мультфильма ВАЛЛ-И. Один цилиндр — это динамик (излучатель), а второй — микрофон (приёмник).
Как же робот понимает, сколько метров до коробки? Здесь в дело вступает простая математика. Робот знает, что скорость звука в воздухе всегда примерно одинакова — около 340 метров в секунду. Датчик засекает время, которое прошло с момента «крика» до момента возвращения эха.
Для вычисления расстояния используется формула:
Где: * — расстояние до препятствия (в метрах). * — скорость звука (340 м/с). * — время, за которое звук слетал туда и обратно (в секундах).
Почему мы делим на 2? Это очень важный момент! Звук проделал двойной путь: сначала от робота до коробки, а потом от коробки обратно к роботу. Если не поделить результат пополам, робот будет думать, что препятствие находится в два раза дальше, чем на самом деле.
!Подвигайте ползунок времени — и посмотрите, как робот вычисляет расстояние до стены
Преимущества ультразвука: * Отлично работает в полной темноте. * Не зависит от цвета препятствия (чёрная стена или белая — звуку всё равно).
Недостатки ультразвука: * Плохо «видит» мягкие предметы. Если перед роботом окажется плюшевый медведь или пушистый ковёр, они поглотят звук, эхо не вернётся, и робот врежется в препятствие. * Звук расходится широким конусом, поэтому роботу сложно понять, где именно находится маленький предмет.
Инфракрасный датчик расстояния: невидимый фонарик
Второй способ измерить расстояние — использовать свет. Инфракрасный (ИК) датчик работает по принципу отражения света.
Вспомните пульт от телевизора. На его конце есть маленькая лампочка. Когда вы нажимаете кнопку, лампочка мигает, посылая телевизору сигнал. Этот свет называется инфракрасным светом. Мы его не видим, но камеры телефонов и специальные датчики отлично его различают.
Инфракрасный датчик расстояния тоже состоит из двух элементов:
Свет летит до препятствия, отражается от него и возвращается в фотодиод. Чем ближе препятствие, тем больше света возвращается и тем ярче он кажется датчику. По яркости этого отражённого пятна робот понимает: «Ага, стена уже близко!».
Особенности ИК-датчиков: * Они очень быстрые (ведь свет летит быстрее звука). * Они бьют узким лучом, как лазерная указка, поэтому могут заметить даже тонкую ножку стула. * Но у них есть огромный минус: они зависят от цвета поверхности и освещения.
Если вы вынесете робота с ИК-датчиком на улицу в солнечный день, солнечный свет (в котором очень много инфракрасных лучей) «ослепит» датчик. А если препятствие будет чёрного цвета, оно поглотит свет, и датчик решит, что впереди пустота.
Сравнение датчиков расстояния
| Характеристика | Ультразвуковой датчик | Инфракрасный датчик | | :--- | :--- | :--- | | Что излучает? | Невидимый звук | Невидимый свет | | Боится ли солнца? | Нет, работает идеально | Да, может «ослепнуть» | | Реакция на чёрный цвет | Видит отлично | Может не заметить (свет поглощается) | | Реакция на мягкие ткани | Плохая (звук поглощается) | Хорошая (свет отражается) |
Датчики линии: как роботы смотрят под ноги
Представьте огромный склад интернет-магазина. По нему снуют сотни роботов-тележек, которые развозят товары. Как они не сталкиваются и знают, куда ехать? На полу склада нарисованы специальные линии (обычно чёрные на светлом полу), и роботы ездят строго по ним, как поезда по рельсам.
Чтобы робот не сошёл с «рельсов», ему нужны датчики линии.
Датчик линии — это, по сути, тот же инфракрасный датчик, только он смотрит не вперёд, а строго вниз, на пол. Его главная задача — отличать белый цвет от чёрного.
Физика цвета: почему мы видим белое и чёрное
Чтобы понять, как работает датчик линии, нужно вспомнить простое правило из жизни. Летом в жаркий солнечный день в чёрной футболке гораздо жарче, чем в белой. Почему?
Белый цвет отражает почти весь свет, который на него падает. А чёрный цвет, наоборот, поглощает свет, превращая его в тепло.
Датчик линии использует именно это свойство:
!Схема работы датчика линии: почему робот 'видит' разницу между белым и чёрным.
Как робот принимает решения: знакомимся с микроконтроллером
Сами по себе датчики — это просто сборщики информации. Ультразвуковой датчик не может приказать колёсам остановиться. Ему нужен командир. Этим командиром в робототехнике выступает микроконтроллер.
> Микроконтроллер — это маленькая компьютерная плата, электронный «мозг» робота. Он принимает сигналы от датчиков, думает (обрабатывает их по программе, которую написал человек) и отдаёт приказы моторам.
Давайте посмотрим, как эта схема работает на практике в двух классических проектах для начинающих.
Пример 1: Робот, избегающий препятствий
У нас есть робот с двумя колёсами и ультразвуковым датчиком спереди. Мы хотим, чтобы он ездил по комнате и не врезался в стены.
Программа в микроконтроллере работает как бесконечный цикл вопросов и ответов:
Пример 2: Робот-следопыт (Line Follower)
Теперь у нас робот, который должен ехать по чёрной изоленте, наклеенной на белый пол. Для надёжности инженеры ставят на робота сразу два датчика линии — левый и правый. Они располагаются так, чтобы чёрная линия находилась ровно между ними.
Логика работы мозга здесь немного хитрее: * Ситуация А (Всё хорошо): Оба датчика видят белый пол. Значит, линия находится ровно между ними. Мозг командует: «Оба мотора вперёд!». Робот едет прямо. * Ситуация Б (Робот сместился вправо): Левый датчик наезжает на чёрную линию и перестаёт видеть свет. Правый всё ещё видит белое. Мозг понимает: «Мы уходим вправо! Надо повернуть налево, чтобы вернуться на линию». Он притормаживает левое колесо, и робот выруливает обратно. * Ситуация В (Робот сместился влево): Правый датчик наезжает на чёрное. Мозг командует: «Притормозить правое колесо, поворачиваем направо!».
Благодаря такой постоянной проверке (сотни раз в секунду), робот плавно виляет вдоль линии, никогда её не теряя.
Безопасность и типичные ошибки новичков
Когда вы начнёте собирать свои первые схемы с датчиками, вы неизбежно столкнётесь с ошибками. Это нормально! Вот главные правила, которые уберегут вашего робота от поломок:
Теперь вы знаете секрет того, как кусок пластика с проводами обретает способность «видеть» и «чувствовать» пространство. Датчики расстояния дают роботу понимание объёма комнаты, а датчики линии позволяют читать разметку на полу. Понимая физику звука и света, вы сможете запрограммировать микроконтроллер так, чтобы ваш робот стал по-настоящему умным и самостоятельным.