Как сделать «робота-невидимую линию следом»?


10

Я хотел бы построить робота, который следует виртуальному пути (а не видимому пути, подобному «черной линии на белой поверхности» и т. Д.).

Я просто в восторге, увидев несколько научно-фантастических видеороликов, на которых роботы несут товары и материалы в людном месте. И они действительно не следуют физической линии. Они чувствуют препятствия, глубину и т. Д.

Я хотел бы построить одного такого робота, который следует определенному (виртуальному) пути из точки А в Б.

Я попробовал пару вещей:

  1. Использование магнитного датчика «эффекта Холла» на роботе и проводе, проводящем ток (под столом). Проблема заключалась в том, что близость датчика Холла настолько мала (<2 см), что очень трудно судить, находится ли робот на линии или не на линии. Даже использование серии магнитов не может решить эту проблему, так как мой стол имеет толщину 1 дюйм. Так что эта идея провалилась: P

  2. Использование ультрафиолетовой краски (на линии) и использование ультрафиолетовых светодиодов на роботе в качестве датчиков. Это даст больше движения зигзага для робота. И из-за потенциальной угрозы использования источника ультрафиолетового света даже эта идея провалилась: P

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

Есть ли лучшее решение, чем это? Действительно ищу некоторые креативные и простые решения. :)


Вы знакомы с сонарными датчиками и SLAM и смежными предметами? Часто роботы не следуют по заранее определенному пути, и они «чувствуют» препятствия с помощью датчиков, таких как гидролокатор, строят карту и затем используют алгоритмы планирования пути, чтобы найти свой путь.
Шахбаз

Спасибо за ответ :) Да, я знаком с ультразвуковыми и сонарными датчиками ... на самом деле я хочу, чтобы мой робот двигался из точки A в точку B по определенному пути, и это тоже на столе (3 фута над уровень земли) ... И построение карты в этой среде действительно сложная вещь ... Так что, какие-либо предложения ??
Нитин

4
Я был в середине ответа на этот вопрос, но я заметил, что вы задаете две противоречивые вещи. Под «невидимой линией» вы подразумеваете «линию, которая не видна невооруженным глазом, например, линию, определяемую магнитными или ультрафиолетовыми сигналами », или вы подразумеваете «линию, которая фактически существует - внутри робота - на основе куда он хочет идти и какие препятствия он чувствует на пути туда? Другими словами, вы рисуете линию, которой должен следовать робот, или робот рисует это?
Ян

Привет, Лан, я хочу автономного робота, который должен самостоятельно перемещаться из одной точки в другую. Для этого ему нужна контрольная линия или путь. Робот-последователь - самое простое решение, но я ищу продвинутое и надежное решение. И это может быть что-то вроде линии, которая не видна невооруженным глазом, или виртуальная линия, созданная роботом. Робот не рисует линию, он просто следует. иными словами, линия (виртуальная) определена мной. По крайней мере, «Обработка изображений» может быть решением, если что-то еще не работает. Но я ищу несколько простых решений :)
Nitin

@nitin, возможно, вам следует избегать использования таких терминов, как «навигация самостоятельно», поскольку это автоматически означает, что путь не определен и оставлен роботу для его поиска. То, что вы хотите, похоже, робот, который следует за линией и не имеет возможности найти свой собственный путь, если не дать указания.
Шахбаз

Ответы:


3

Есть много возможных способов решения этой проблемы, и все они зависят от доступных материалов и опыта робота-строителя.

Короче говоря, критерии таковы:

  1. Робот должен добраться из пункта А в пункт B по заранее определенному пути.
  2. Выбранный путь не должен следовать линии, видимой человеческому глазу.

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

Если расстояние слишком велико только для одометрии, следует рассмотреть возможность использования какого-либо датчика для измерения поворотов (например, гироскоп или компас ). Повороты, как правило, вносят наибольшие ошибки в одометрию (измерение по прямой не приводит к большим ошибкам), поэтому использование датчика поворотов может иногда сделать одометрию жизнеспособным решением.

Если одометрия или одометрия + чувственное вращение не сработают, мы начинаем проявлять креативность. Если вы хотите, чтобы робот следовал по траектории, состоящей в основном из прямых сегментов, вы можете разместить ИК-светодиоды в заданных «путевых точках» на столе, и пусть робот распознает эти светодиоды и последовательно движется к каждой путевой точке.

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

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

Просто любопытно - почему вы хотите, чтобы линия была невидимой? Зная, почему может открыть еще несколько возможностей.


Большое спасибо @anorton :) :) "Одометрия" + "датчики, такие как гироскоп или компас": - Bulls-eye;) Я уверен, что это точно тренировки. И по сравнению с методами обработки изображений это кажется довольно простым. Да, у меня есть решение, спасибо :) Буду информировать вас о прогрессе проекта и других проблем, с которыми сталкиваются.
Нитин

Кстати, весь смысл сделать линию невидимой была: «Черная линия на поверхности и робот, следующий за ней» - теперь это просто базовый материал для обучения робототехнике. И я обнаружил, что на промышленном уровне это не ценится. Людям нужен очень сложный и умный робот, чтобы выполнять свою работу. Поэтому я работал над этим проектом, чтобы построить робота с более высокой стабильностью и надежностью. Робот, который нелегко взломать. Говоря иначе, обычный человек не должен знать технологию робота :)
Nitin

2

Anki использует оптические датчики в своих игрушечных автомобилях для реализации линейных последователей. Оптические датчики чувствительны в инфракрасном диапазоне. Тот факт, что линии не видны, легко объясним: линии покрыты черным цветом, который прозрачен в ИК-диапазоне. К таким цветам относятся палиоген черный L 86 или палиоген черный S 84 от BASF . Если вы размещаете штрих-коды вдоль линий, вы даже можете получить информацию об абсолютном позиционировании от оптических датчиков.


0

У меня есть короткий ответ на ваш вопрос. Это только для робота с поддержкой ROS. Есть много способов сделать это, но я так и сделал. Я использовал ROS и Kuka Youbot. Это может быть любой робот, использующий ROS. Очень полезно знать ROS, если вы планируете заниматься робототехникой.

Используйте ROS Затем используйте GMapping для отображения вашей среды. Пример комнаты или прихожей и сохранить карту. Затем, используя RVIZ, укажите целевую позицию на карте.


0

Ну, тебе не нужна никакая строка в этом отношении. Единственное, что вам, вероятно, понадобится, это глобальные координаты. если вы можете поместить своего робота в поле, определяемое глобальными координатами, и применить простые правила ньютоновской физики, робот может переходить из одной точки в другую. Основываясь на своем текущем местоположении, он узнает текущий угол поворота, желаемый угол поворота и координаты цели (также известные как «поза»). Как только вы обеспечите скорость робота, он начнет двигаться к координатам цели. На каждой итерации он пересчитывает свою позу и при необходимости вносит коррективы.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.