sned, есть радиоуправление или нет, никак не влияет это робот или нет. если вы в написаном умудрились дофантазировать обратное, могу вас только "поздравить".
Решил я, все таки, это дело делать на ардуино. Я конечно могу заблуждаться, и скорее всего так оно и есть, но такой серьезной системе как ROS тут просто будет нечего делать... Я понимаю, когда у робота много задач, сложная, не знакомая обстановка и т.д... У меня путь тележки известен и неизменен, за исключением небольших нюансов. Поэтому, попробую обойтись набором доступных датчиков из состава той же Ардуино. Например так: - курс движения будут задавать несколько последовательно расположенных вдоль пути следования ИК меток, - координация относительно стен возложу на УЗ датчики расстояния, расположенные спереди и по бокам тележки. Может в помощь добавить цифровой компас, который будет в нужный момент разворачивать телегу на поворотах, для "захвата" очередной ИК метки...
Плюсы этого пути для меня: научиться работать с ардуино и понять, стоит ли переходить на ROS.
elmot писал(а):наведение по ИК лучу, так те же румбы 600й и 700й серий заезжают на базу.
Тогда вам, по совету elmot, нужно с наведения по лучу начать. Я бы поступил следующим образом: Коль маршрут движения тележки к парковке не изменен, значит нужно с помощью ИК излучателей обозначить этот маршрут. Т.е. в узловых точках маршрута, там где направление движение тележки будет изменяться нужно ставить ИК метки, как показано на рисунке. Каждая метка должна передавать свой код. Круговой ИК приемник, расположенный на тележке, принимает излучение, определяет его направление и код, например, пусть это будет метка 1, производит разворот в нужном направлении и начинает движение в сторону метки 1. Затем при попадании в зону действия метки 2, определяет направление на метку 2, разворачивается в ее сторону и начинает двигаться к метке 2, и так далее: метка 3, метка 4, метка 5, база. Каждая следующая метка имеет больший приоритет перед предыдущей. Таким образом вы сможете добиться направленного, последовательного движения в нужном направлении. Поле излучение каждой следующей метки должно перекрывать поле предыдущей метки, для того чтобы тележка при подходе к предыдущей метке попадала в поле следующей. Тогда вы сможете реализовать последующее переключение приемника тележки между метками во время движения. Ну, и конечно нужно предусмотреть датчики и соответствующий алгоритм для обхода препятствий. Главное все это можно реализовать достаточно легко на ардуино.
путь.jpg (48.34 КиБ) Просмотров: 1980
Последний раз редактировалось lorry 23 сен 2015, 01:47, всего редактировалось 6 раз(а).
Спасибо за совет! Кстати, у меня дома живёт irobot 780 модель, и самое интересное, первые два маяка стоят именно там, году вы нарисовали свои маяки! Третий - почти там же. Может попробовать прочитать кодировку, на которой пылесос общается с маяками и задействовать их для корзинки?
Последний раз редактировалось Beer100 23 сен 2015, 12:53, всего редактировалось 1 раз.
Beer100 писал(а):Может попробовать прочитать кодировку, на которой пылесос общается с маяками и задействовать их для карзинки?
Можно попробовать, но маяки для пылесоса предназначены для работы в качестве виртуальной стены и они должны перекрывать только проход для пылесоса (дверной проем или какую то зону), а нам надо излучать луч в сторону помещения чтобы наша тележка двигалась вдоль него (луча).
lori Beer100 У иРобота в маяке три луча, два приводных один заградительный, можно было бы их использовать, но они включаются по команде робота при начале работы и команды эти по радиоканалу в диапазоне 2,4гГц, но можно поставить в каждой ИК метке по приёмнику, в корзинке излучатель ИК сигнала и тогда при попадании корзинки в зону видимости метки она бы включалась на излучения своего номера, примитивно так сделано в том же иРоботе в автоматических виртуальных стенах, они включаются на 2 часа при обнаружении ИК сигнала от датчиков приближения робота. и тогда конструкция совсем примитивна, приводные маяки передающие свой номер при приёме излучения от ИК датчиков касания корзинки, система из двух фотоприёмников позволяющая следовать в сторону излучения метки, парочка ик излучателей приёмников для исключения касания предметов корзинкой и датчик перемещения для реализации простого алгоритма что корзинка двигается, а не упёрлась в лежащего кота и простенький алгоритм для поиска излучения, объезда препятствий, возобновление поиска излучения и система беспроводной или контактной зарядки при парковке. это всё есть в обычном роботе.
Да, про три луча я в курсе. Но, не совсем понял мысль: в каждый маяк поставить по ИК приемнику, который будет принимать сигнал от корзинки, а затем включать маяк на излучение? Так?
то авм, на нём свет клином не сошелся. есть тот же opencv, простенькие либы для дополненой реальности и очень навороченные решения на подобии vuforia или metaio. у квалкома vuforia очень даже на высоком уровне. часть алгоритмов на не особо шустрых камушках вполне сносно будут работать. ~50$ сейчас уже не с такими уж и хилыми 1-2 ядерными камушками идут, как годика два-три назад. за >100$ так тем более железку с относительно шустрым армом или атомом можно взять. metaio не щупал, но хвалят. в нём кстати и слам есть и безмаркерный трекинг. да и не обязательно же с наворотами делать, в одном из вариантов вполне хватит и простенькой ардуинки. а вот кто и как будет реализовывать, уже другой момент.
Для Opencv все эти атомы - тем более несерьезно. Я, конечно, пробовал только самое простое распознавание на Rpi версии 1, но там все было мегапечально. Для нормальной работы opencv требуется производительность как минимум на порядок выше. а то и на 2.
ну да конечно, прям на порядки. смотря что вы пытались делать - может для тех задач можно было другие алгоритмы и библиотеки подыскать для тех железок, а может камушка и действительно для такого и не хватит. визуальные метки на подобии qr кодов тянет даже старенький a10. старенький mtk6589 уже мог сносно справлялся с поиском/распознованием и трекингом изображений и текста. допустим из того, что по быстрому вспомню, это вот эту программку от близарда курочал
из маркета подлагивало примерно на секунду при обнаружении, раздербаненое и перекомпиленое и с моими изображениями чуть тормозней работало, но это вопросы оптимизации. так это на mtk6589, а на более мощных камушках на подобии снапдрагонов или атомов люди вообще вытворяют чудеса в реалтайме. да даже если выбраная железка не сильно тянет и на каждое распознование уходи 1, 2 , 3 или даже 5 секунд. кто мешает сделать распознавание метки или облако точек/линий/... и потом ехать, ориентируясь по данным с гиро/акселя? форма и размеры той же метки известны? да. вычислили примерное расстояние до неё и относительное пространственное положение и дальше едет по карте.
Задача явно безумная и сложность её не соответствует целесообразности А раз так - предложу ещё одно безумное решение, зато простое Пусть тележка обходит квартиру по принципу обхода лабиринта постоянным касанием стены одной рукой. Рано или поздно (а ей спешить некуда ) она окажется рядом с точкой назначения (или прямо в ней, если эта точка у стены) Такими мелочами, как носки на полу или домашние животные и члены семьи на пути в данном случае пренебрегаем Может ещё за одно по дороге пропылесосить под плинтусом