
Робот для обучения программированию — это ClicBot
12 июня, 2021
Как роботы видят
16 июня, 2021Бегая или наслаждаясь прогулкой человек не задумывается над своими передвижениями, для нас это обычное дело. Передвигаясь в плотном потоке людей мы можем одновременно совершать еще несколько дел одновременно, таких как, говорить по телефону и держать сумку. Для человека такие действия привычны и не вызывают трудностей, но не для роботов.
Давайте разберемся, как видит и передвигается робот. Для этого роботу требуется иметь две составляющие - это аппаратная часть и программная. И только в кооперации этих двух компонентов можно говорить о самостоятельном передвижении робота. Начнем свой рассказ с аппаратной части.
Аппаратная часть робота для передвижения
Не стоит говорить, что роботу требуются механизмы для передвижения - это колеса, как в промоботе или ноги, как у робота собаки. Тут все понятно и современный уровень техники уже давно справился с этими задачами.
От каждого колеса такого робота, как Промобот поступает информация одометрия (расстояние, которое проехал бот) для того, чтобы робот понимал, сколько он проехал в ту или иную сторону. Данные одометрии заносятся в его базу для ориентирования робота на 3D карте.Куда интереснее узнать как робот видит куда ехать можно, а куда нельзя. Люди думают, что встроив в робота цветную камеру задача будет решена, но к сожалению это не так. Ведь робот не человек и для него изображение с камеры всего лишь набор пикселов.
Роботу нужно устройство умеющее определять расстояние до окружающих предметов и лучше всего с этим справляется лидар. Он испускает свет в невидимом для человека спектре и засекает время, за которое свет дойдет до предмета и вернется, чем дальше предмет, тем дольше будет идти свет, таким образом прибор понимает на какой дистанции от него предмет.

Техническое зрение обходится недешево, поэтому есть альтернативы лидару и это получать информацию от сонаров, инфракрасных дальномеров и ToF-камер. Что экономит средства, но качество распознавания от этого падает. Что в итоге может привести к столкновению с предметом или человеком.
Теперь перейдем ко второй составляющей - программной.
Программная часть робота для передвижения
Получить информацию от лидара - это самая малая часть работы, ее еще нужно обработать и этим занимается компьютер. А как мы знаем для него нужны программы. Пока роботостроение только набирает обороты, каждому производителю приходится писать свое собственное программное обеспечение, поэтому и стоимость качественных роботов настолько высокая.
Приведем простой пример. Роботу требуется доехать до стены, следовательно, он использует информацию от лидара о расстоянии до стены и когда расстояние станет минимально он остановиться, но в реальной жизни нас ждут люди и движущиеся объекты, которые могут двигаться вместе и поперек роботу. По пути движения роботу потребуется смотреть во все стороны и оценивать как объезжать объекты спереди или сзади, вычислять скорости объектов и их размер. В памяти потребуется держать 3D-карту местности, объектов и их скорость передвижения, а все вычисления производить в режиме реального времени.
Роботам уже сейчас можно доверять, программисты и инженеры трудятся над созданием все совершенной техники, которые передвигаются самостоятельно без участия человека. Выбор роботов все время расширяется, а их качество растет и можно не сомневаться, что они достигнут самостоятельности в ближайшее время.