Карта движения по трассе

Тема в разделе "Моторы, сервоприводы, робототехника", создана пользователем DIYMan, 24 сен 2017.

  1. Zander

    Zander Нерд

    Думается мне, перво-наперво двигающийся где бы то ни было робот, должен понимать "где я".
    Если оставить за кадром сценарий скидывания видео-картинки оператору-человеку "пущай он рулит"
    И оставить за кадром сценарий с как минимум двумя камерами, реализующими бинокулярный обзор местности, самостоятельный анализ ландшафта и принятие решения "а можем ли мы тут проехать?"
    То остаются сценарии навигации по местности с помощью так или иначе расположенных на этой местности маяков, опорных точек, на полу/потолке/стенах, оптических/радио/акустических каких угодно, но они должны быть в определенных местах, и робот должен знать где. Чтобы по ним ориентироваться а где собственно он сам находится.
    Если робот знает где находится он сам - тогда он может логически решать задачи из разряда "попасть в пункт Б". С произвольными пунктами в пределах размеченной территории.
    Если внешнюю навигацию оставить за кадром, то стабильного решения задач "попасть в пункт Б", не будет. соринка попала под колесо, изменив курс. На повороте робот двигался с большой скоростью и его занесло, угол поворота оказался не тот. Просто пробуксовки колес на скользкой поверхности, а вдруг кто-то машинное масло на пол пролил? И все, все внутренние средства робота, по которым он может знать сколько оборотов совершили колеса, в сумме даже с акселерометрами и гироскопами, не дадут ему стопроцентно правильной информации о том, где он. А если информация "где я" не надежна, то и решения о перемещении куда то не будут надежными, будут иногда ошибки. часто или не очень - в зависимости от ровности/скользкости/замусоренности пола и т.п. помех.
     
    DIYMan нравится это.
  2. DIYMan

    DIYMan Гуру

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

    Ещё раз спасибо за анализ ;)
     
  3. Arkad_snz

    Arkad_snz Гик

    Вы описываете робота, действующего в пространстве (мире) маяков. Что это за мир такой? Сами его придумаете?
    Кому нужна машина (успешно) решающая выдуманные задачи в выдуманном мире маяков!?
    Люди живут не в мире маяков, а ищут себе подспорье в мире стен, камней, ям, соринок на дороге, масла на дороге, поворотов не тех углов...
    Или вы пытаетесь обосновать отрицание задачи движения по линии?
    Не понятно только чем, и как? Задача не нерешаема, или не имеет практической ценности?
     
    Последнее редактирование: 6 окт 2017
  4. ИгорьК

    ИгорьК Победитель модулей

    На полу в определенном месте - металлические пластины. Они же контактные площадки. Робот приблизительно подъезжает к ним, делает несколько перемещений чтобы замкнуть контакт, и, следовательно, исправить собственное позиционирование.

    Синийзуб у робота. Едет в "направлении"... Два лазерный луч, включаются если недалеко синий зуб. Пересечение луча - одна кордината, передается на робота.

    Это так, безумная мысль в направлении...
     
    DIYMan нравится это.
  5. ИгорьК

    ИгорьК Победитель модулей

    Пылесос идет на базу на зарядку. Именно по ИК маяку.
     
    DIYMan нравится это.
  6. Arkad_snz

    Arkad_snz Гик

    Чего так сложно - пластины, контакты, несколько перемещений!?
    Сделать пластины из двутавра, а колеса робота - определенной формы, чтобы не было никаких "приблизительно", и не надо было ничего исправлять!
    Называется трамвай.
     
  7. sslobodyan

    sslobodyan Гик

    Поражаюсь людям, которым по делу ответить нечего именно на вопрос ТС, но сильно хочется набрать количество постов.
    Теперь по сути вопроса. АП (автономная платформа) может ориентироваться в пространстве двумя методами:
    1 - с помощью маяков или другой четко зафиксированной привязки
    2 - с помощью "карты местности" или маршрута и блока датчиков, отслеживающих перемещение (одометры, акселерометры, гироскопы, GPS)
    То есть либо внешняя привязка, либо внутренняя. Четкого описания задачи я не увидел, но учитывая желание уйти от линии на полу, предположу что нужно прохождение заданного заранее маршрута внутри помещения. Лично я бы постарался отбросить одометры и акселерометры с гироскопами (или использовать их как вспомогательные датчики), а попробовал бы решать задачу с помощью маяков.
    Маяками могут быть световые и звуковые излучатели. Свет желательно инфракрасный, звук - ультразвук. Световые датчики расположить на местности и пускай каждый из них передает свой номер. На АП поместить два качающихся в горизонтальной плоскости на 180 градусов фотодатчика (передняя полусфера и задняя полусфера). И по тому, на каком угле поворота фотодатчика видим определенный маяк, по триангуляции определяем свое местоположение.
    Ультразвуковые датчики надо четко засинхронизировать между собой и АП по таймслоту, то есть момент излучения должен приходиться строго на начало таймслота. Излучают по очереди. АП ловит ультразвук с задержкой, пропорциональной расстоянию до УЗ-маяка. Приняв не менее трех таких сигналов, можно построить в пространстве точку на пересечении трех окружностей с заданными радиусами (расстояниями до маяков). Примерно как GPS, только в меньшем масштабе.
    Ну и еще идея - расставленные по периметру плакатики со штрихкодом и сканирующий в горизонтальной плоскости лазер. Также по азимуту на считанные коды и известное их месторасположение можно триангулировать свое собственное местоположение.
    И на последок, КМК, самая простая реализация. Как уже предлагали, повесить к потолку фонарики с ИФ излучателями, каждый из которых светит своим кодом. Период посылки кода должен быть намного больше длительности самой посылки и желательно разный для близко расположенных излучателей. С помощью оптики задать угол излучения таким, чтобы на полу пятна излучения перекрывались между собой. На крыше АП ставим единственный фотоприемник. Если он словит только один сигнал - то находимся строго под конкретным излучателем, если несколько - то соответственно находимся между этими излучателями. А дальше по истории прохождения под излучателями можно построить пройденный маршрут и текущий азимут.
     
    Igor68 и DIYMan нравится это.
  8. Zander

    Zander Нерд

    очень приблизительное представление о своем положении. Хотя, ТС точность не указал, может быть там плюс-минус три метра не страшно...

    Это наш мир и есть, и в нем не только роботы, люди так же перемещаются.
    В средние века мореплаватели пользовались навигацией по солнцу и по звездам. Это что? внешние маяки.
    В наше время используют например GPS. А это что? опять внешние маяки. :)
    Или вот вам задача. Вы в море/поле/тундре/лесу/пустыне. Не пользуясь внешними ориентирами т.е. солнце, звезды, gps, мобильную связь, "спросить у ближайшей бабушки", определите где вы находитесь. Можно взять с собой гироскопы, акселерометры, и т.п. "внутренние средства" и попробовать спросить у них. Получится?
     
    DIYMan нравится это.
  9. Arkad_snz

    Arkad_snz Гик

    Средневековые мореплаватели двигались как ваш робот-АП - от звезды, к звезде!?
     
  10. Zander

    Zander Нерд

    А где я сказал, что робот обязан двигаться от маяка к маяку?
    маяком может быть нечто расположенное далеко за пределами интересующей области. Магнитное поле земли, к примеру, тоже внешний "маяк". Разве нам чтобы узнать где север, обязательно надо ехать к северному магнитному полюсу?

    А вообще, вам бы почитать как вообще осуществляется навигация по звездам. Ощущение что нету понимания о чем речь.
     
    Последнее редактирование: 8 окт 2017
  11. Arkad_snz

    Arkad_snz Гик

    Да, все больше про "может...".
    Да, и робот у вас - некая абстрактная "автоматическая платформа" (АП) - ни состава, ни конструкции.
    Потом пространные рассуждения про то, что эта АП может, и не может.
    Попутно введено понятие "маяк" посредством все того же пресловутого "может" - "Маяками могут быть...".
    Судя по обилию рассуждений посредством модальности степени "может" - степени "обязан", конечно, быть не могло.
    Ваш АП, худо-бедно, может двигаться от маяка к маяку, и этой гипотетической эмпирикой вы намерены доказать... - что!? Нет АП не обязана двигаться от маяка к маяку, она, всего-то, может это!
    К чему это нагромождение гипотетических экспериментов "На АП поместить..."...?
     
    Последнее редактирование: 11 окт 2017
  12. Arkad_snz

    Arkad_snz Гик

    зачем?
    Я не собирался в дальнее плавание, и мне нет необходимости решать задачу навигации, да еще и в вашей интерпретации - "перемещение от маяка к маяку", и стоя под одним из маяков гордо и со знанием дела заявить - "Я знаю где я!".
     
  13. Arkad_snz

    Arkad_snz Гик

    Глупостью может быть любое утверждение, даже непонятное.
    Бред сумасшедшего, к примеру, тоже глупость.
    Примечательно, что, чтобы понять, что утверждение - глупость, его совершенно необязательно понимать!
     
  14. ANV

    ANV Оракул

    А если вернуться к теме, то есть еще такая система: https://www.pozyx.io/
     
    CYITEP_BAC9I, DIYMan и sslobodyan нравится это.
  15. Arkad_snz

    Arkad_snz Гик

    GPS в отдельновзятой квартире на своих "микроспутниках".
    Хотя, интегрированная карта акселерометры+гироскопы+компас+высотомер - все в одном - интересна.
     
    Последнее редактирование: 11 окт 2017
  16. Arkad_snz

    Arkad_snz Гик

    Пытаетесь наспех на ходу придумать постановку задачи ориентации/навигации?
    Второпях проскакиваете определение "заданного заранее маршрута". А, чего там - "состыковал слова по теме, сойду за умного и в теме!".
    ----- Часть 1 (Определенния) (Как предложение)
    Итак, про определенния: Под Навигацией подразумевают комплекс (набор) алгоритмов, операций, выполняемых робосистемой (РС) или человеком.
    Операции могут выполняться с картой или без оной (что такой карта, и откуда она берется - отдельный вопрос - ниже.).
    Операции (Навигация) с картой называются ориентирование, и включают в себя Две классические задачи ориентирования:
    1. Указать на карте свое местоположение (собственно, ориентирование);
    2. Перемещение в указанную на карте точку (навигация);
    Каким образом указывается точка на карте зависит от природы карты (система координат, проекция...).
    Важная задача ориентирования - построение карты (Трекинг) - Произвольно двигаясь по территории на копить пары (направление, дистанция) своих перемещений.
    Последовательность таких пар (Легенда) позволяет построить схему пройденного маршрута на чистом листе в виде ломаной линии. Если маршрут проходил через все значимые точки территории (камень, куст, столб...), то есть неплохой шанс построить полноценную карту с указанием всех объектов.
    Если на территории имеется объект по какой-то причине недоступный непосредственно (скала на острове реки), то на такой объект берется пара пеленгов (азимутов) с точек маршрута, и потом при отрисовке карты наносятся соотв лучи, и в их пересечении обозначается наша "недоступная" скала..
    Легенда никак не связана с картой (если она есть). Произвольно перемещаться и фиксировать (направление, дистанция) можно и без карты. Компас, и рулетка (шагомер..), вот и все, что нужно для построения легенды маршрута, а потом и его (маршрута) схемы.
    А, вот если нам необходимо направить кого-то в определенную точку, то здесь - два варианта:
    Прямое, непосредственное указание направления (в..., на..., на север..., к...), или полноценная легенда (n кварталов прямо, m кварталов направо/налево...)
     
    Последнее редактирование: 11 окт 2017
  17. Arkad_snz

    Arkad_snz Гик

    ----- Часть 2 (Навигация в робототехнике)
    Применительно к робототехнике копья ломаются в основном вокруг задач ориентирования (ориентирование, навигация) - ("Где я?" и "Как пройти в библиотеку?").
    Задача ориентирования имеет смысл по-стольку, по-скольку ее решение есть отправная точка для решения вопроса "Как пройти...?".
    Итак, есть робоплатформа (РП), и "сцена" - территория деятельности для АП - (квартира, двор...).
    Перво-наперво попробуем посредством нашей РП построить карту сцены:
    Вариант1: Ведем РП произвольно по сцене посредством ПДУ, попутно проходя все значимые точки сцены.
    Вариант2: Строим алгоритм автоматического исследования сцены - РП последовательно обходит "по стеночке" все объекты сцены.
    В обоих вариантах копим и запоминаем легенду маршрута. Легенду перекачиваем в ББ, и там специальной программой строим схему маршрута, которая будет основой будущей карты.
    Ничего не мешает попутно копить массив высот (над УМ), что позволит построить полноценные изолинии рельефа.
    Навигация РП: "Как РП проехать в заданную точку?" заданная точка - целевая точка (ЦТ): Или задаем азимут на точку, и расстояние до, или, если предстоят непреодолимые препятствия, то составляем легенду маршрута обхода препятствий, и достижения цели.
    Понятно, что исправная РП способна выполнить предписания любой легенды (если АКБ заряжены)
    Попутно проявилась весьма нетривиальная задача - построение маршрута (легенды) обхода препятствий. Ее решение будет, главным образом, зависеть от способа кодирования карты и препятствий.
     
  18. sslobodyan

    sslobodyan Гик

    Умный вы наш! Я ничего не пытаюсь придумать. Я просто внимательно читаю первый пост топикстартера и отвечаю по существу на его вопросы. Без лишнего словопоносия. Вы, осмелюсь спросить, сколько вариантов решения вопросов предложили? А количество постов прям зашкаливает. Каким образом перечисленные вами выше выкладки могут помочь топикстартеру? Коллега ANV написал пару коротких постов в теме - но там есть ссылки с решением обсуждаемого вопроса. Так вот его посты приносят пользу. А ваши - нет. Так что присоединяюсь к коллегам с просьбой:
     
  19. Arkad_snz

    Arkad_snz Гик

    Внимательно гляжу в книгу (в первый пост), и вижу...
    , но "уверенно отвечаю на вопросы, которых не увидел", так, что ли?
     
  20. CYITEP_BAC9I

    CYITEP_BAC9I Гик

    в порядке бреда. То же очень интересует эта тема. правда я отказался от нее как нерешаемой средствами Дуни. Но была идея. с маячками, лень рисовать попробую словами передать. не примере 2х смежных комнат с дверным проемом между ними. на противоположных стенах столь предполагаемой трассы разместить ИК маячки с разной рабочей частотой. на самом роботе предполагалась 4 приемника по 1 на каждую сторону( предполагается что платформа будет прямоугольной) + на самой платформе УЗ дальномеры, что бы не натыкаться на внезапные препятствия. в районе дверного проема еще 2 ИК маячка ,1 в комнате напротив проема, в другой так же напротив двери, + в противоположной комнате также вдоль трассы ИК маячки, каждый и со своей индивидуальной частотой работы.

    Код видится такой. допустим пришла команда роботу переместится из точки А 1 комнаты, в точку В во второй.

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

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

    этот так как выше написал в порядке технического бреда. Но если б у меня стояла подобная задача и условие что решать ее нужно именно силами Ардуин, скорее всего сделал бы так как написал выше.
    (получается что то вроде домашнего GPSа:)
     
    Последнее редактирование: 11 окт 2017