Як зробити «невидиму лінію, що йде за роботом»?


10

Я хотів би створити робота, який слідує за віртуальним шляхом (Не видимий шлях, як "чорна лінія на білій поверхні" тощо).

Я просто в захваті, дивлячись кілька наукових фантастичних відеороликів, на яких видно, що роботи переносять товари та матеріали в людному місці. І вони насправді не дотримуються фізичної лінії. Вони відчувають перешкоди, глибину тощо.

Я хотів би побудувати одного такого робота, який слідує певному (віртуальному) шляху від точки A до B.

Я спробував пару речей:

  1. Використовуючи магнітний датчик "ефекту Холла" на робота і дріт, що проводять струм (під столом). Проблема тут полягала в тому, що близькість датчика ефекту Хола настільки мала (<2 см), що дуже важко судити про те, чи робот знаходиться на лінії чи поза лінією. Навіть за допомогою серій магнітів не вдалося вирішити цю проблему, оскільки мій стіл товщиною 1 дюйм. Тож ця ідея промайнула: P

  2. Використання ультрафіолетової фарби (на лінії) та використання ультрафіолетових світлодіодів на роботах як датчиків. Це дасть більше руху Zig-Zag для робота. І через потенційні загрози використання джерела ультрафіолетового світла навіть ця ідея провалилася: P

Нарешті я подумав мати камеру зверху і використовувати алгоритми обробки зображень, щоб побачити, чи робот знаходиться на лінії чи розходяться.

Чи є краще рішення, ніж це? По-справжньому шукайте якісь креативні та прості рішення. :)


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

Дякую за відповідь :) Так, я знайомий з ультразвуковими та сонарними датчиками ... насправді я хочу, щоб мій робот перемістився з точки А в точку В певним шляхом, і це теж на столі (3 фути вище рівень землі) ... І скласти карту в цьому середовищі - це справді складна річ ... Тож будь-які пропозиції ??
Нітін

4
Я був у середині відповіді на це запитання, але помітив, що ви запитуєте 2 суперечливі речі. Під "невидимою лінією" ви маєте на увазі "лінію, яку не видно неозброєним оком, наприклад, лінію, визначену магнітними або УФ-сигналами ", або ви маєте на увазі "лінію, яка існує практично - всередині робота - на основі куди вона хоче йти і перешкоди, які відчуває на шляху туди "? Якщо сказати це іншим способом, ви малюєте лінію, за якою буде слідувати робот, або робот малює його?
Ян

Привіт, я хочу автономного робота, який повинен самостійно переходити з однієї точки в іншу. Для цього йому потрібна опорна лінія або шлях. Робот з послідовних ліній - це найпростіше рішення, але я шукаю розширене і надійне рішення. І це може бути що-небудь, як лінія, яка не видно неозброєним оком, або віртуальна лінія, створена роботом. Робот не проводить лінію, це просто випливає. сказати це іншим чином, рядок (віртуальний) визначений мною. Принаймні, «Обробка зображень» може бути рішенням, якщо щось інше не працює. Але я шукаю кілька простих рішень :)
Нітін

@nitin, можливо, вам слід уникати використання таких термінів, як "навігація самостійно", оскільки це автоматично означає, що шлях не визначений і залишається роботові знайти його. Те, що ви хочете, здається, це робот, який слідує лінії і не має можливості знаходити свій власний шлях, якщо не дано вказівки.
Шахбаз

Відповіді:


3

Існує багато можливих способів наблизитись до цієї проблеми, і всі вони залежать від наявного матеріалу та кваліфікації роботобудівника.

Коротше кажучи, критерії такі:

  1. Робот повинен дістатися від точки А до В, пройшовши заздалегідь визначений шлях.
  2. Проведений шлях не повинен слідувати лінії, видимій людському оці.

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

Якщо відстань занадто велика для одометрії, варто розглянути використання датчика для вимірювання поворотів (наприклад, гіроскоп або компас ). Повороти, як правило, вводять найбільшу помилку в одометрії (вимірювання по прямій не має занадто великої помилки), тому використання датчика поворотів іноді може зробити одометрію життєздатним рішенням.

Якщо одометрія або одометрія + відчуття повороту не спрацьовують, ми можемо бути творчими. Якщо ви хочете, щоб робота пройшов шлях, що складається з переважно прямих сегментів, ви можете розмістити ІЧ-світлодіоди на заданих «точкових точках» на столі, і робот відчує ці світлодіоди і рухається до кожної послідовної точки.

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

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

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


Велике спасибі @anorton :) :) "Одометрія" + "датчики типу гіроскопа чи компаса": - Bulls-eye;) Я впевнена, це обов'язково тренування. І порівняно з технікою обробки зображень, це здається досить простим. Так, у мене є рішення, спасибі :) Буду інформувати вас про етапи проекту та інші проблеми, з якими стикаються.
Нітін

До речі, весь сенс зробити лінію невидимою полягав у тому, що "Чорна лінія на поверхні та робот, що слідує за лінією" - це тепер лише базовий матеріал на рівні навчання робототехніці. І я виявив, що на промисловому рівні це не цінується. Людям потрібен дуже складний та розумний робот, щоб виконувати свою роботу. Тому я працював над цим проектом, щоб створити робота з більш високою стійкістю та надійністю. Робота, який не так легко зламати. Якщо сказати інакше, звичайна людина не повинна знати технології, яка стоїть за роботом :)
Нітін

2

Anki використовує оптичні датчики у своїх іграшкових автомобілях для реалізації послідовників ліній. Оптичні датчики чутливі в ІЧ-діапазоні. Те, що лінії неможливо побачити, легко пояснити: лінії покриті чорним кольором, прозорим в ІЧ-діапазоні. Paliogen black L 86 або Paliogen black 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.