Pull to refresh

Comments 26

А если робот не грузчик, а фрезеровщик — нужно ли ему менять ориентацию? )
Станет грузчиком после смены )
Медианная фильтрация в таких случаях обычно нужна как вспомогательная, чтобы проредить сильный высокочастотный шум, а в данном случае, как мне кажется, проще и удобнее было бы сразу использовать операции математической морфологии(opening/closing) и получить нужный прямоугольник. Но это технические мелочи.

А с Robot Operating System не приходилось иметь дел? Сам просто как раз с подобной задачей столкнулся, поэтому интересно.
Сам я с ROS не работал, но слышал весьма хвалебные отзывы, по сравнению с MRDS, которой я остался в целом недоволен.

А как вы через opening/closing получите из белого пятна — прямоугольник? Там же чётких углов нет.
ROS — занятная штука , хоть немного и монстрообразная, на первый взгляд.
А не проще ли для корректировки направления использовать гироскоп, а на потолке лишь изредка поцеплять какие-то маркеры для устранения накопившейся погрешности?
Прошлая статья как раз заканчивалась фразой «Лобовым решением было бы установить гироскоп; но готового гироскопа для Eddie не существует, а таинств с паяльником и написанием прошивки мне хотелось бы избежать.»
Даже зимой, когда рассветает поздно и темнеет рано? :)
Да. Тестировалось в конце ноября, окна на потолке различимы до 16 часов. По удивительному совпадению, как раз в 16 часов склад и закрывается.
UFO just landed and posted this here
Компасу, скорее всего, не понравятся массивные стальные полки и проезжающие рядом огромные погрузчики.

Полосы на полу — во-первых, уязвимы в складских условиях (затопчут, обдерут), во-вторых, их трудоёмко переносить, если придётся перемещать стеллажи (что происходит несколько раз в году).
Ну, на самом деле, вы несколько предвзяты к компасам. Сейчас доступны достаточно дешёвые модели (недавно работал с Freescale Xtrinsic, например, очень доволен; у них к тому же ещё и акселлерометр встроен) — можно купить несколько, поставить по окружности и фильтровать любые сильные помехи на раз-два (с которыми столкнуться достаточно сложно, на самом деле; стальные балки точно не будут источником проблем, только моторы погруздчиков, I guess).
Звучит заманчиво. Можете подробнее про фильтрацию помех?
Ну, я это выдвигаю как теорию, сам я их использовал для несколько другой задачи (ставил по углам фанерного листа, водил магнитом по нему и определял позицию in real-time), но так как вам не нужно знать идеальную ориентацию робота в любой момент, а только изредка калиброваться — задача сводится просто к отбрасыванию выделяющихся результатов считывания датчиков (если будет какая-то помеха — они будут показывать сильно различающиеся значения, так как магнитный поток ослабевает по экспоненте в зависимости от расстояния до источника; могу выражаться неправильно, не бейте сильно :)).
UFO just landed and posted this here
«Rocket science» — не ракетостроение. Это устойчивое фразеологическое выражение, означающее «нечто, весьма сложное для понимания».
UFO just landed and posted this here
Как видно из первого видео, на потолке видны еще и балки. Они присутствуют на изображении практически всегда. Может попробовать дополнительно ориентироваться и по ним?
Они намного менее контрастные, и вдобавок их от полок отличать сложнее.
Имхо, можно попробовать без медианного фильтра и прочих наворотов немного модернизировать классический алгоритм заливки, чтобы он заглядывал не только в соседние точки, а чуть дальше. И попутно, помимо площади, вычислял координаты самой нижней, верхней, левой и правой точек. По полученному четырехугольнику не составит труда определить ориентацию.
И попутно, помимо площади, вычислял координаты самой нижней, верхней, левой и правой точек.
Обратите внимание на изображение ещё раз. Самых левых точек — четыре, самых правых — пять. От того, которую из них принять за угол, получающаяся ориентация зависит достаточно сильно. Тем более, что в моём случае ни одна из «крайних» точек в действительности не в угле — все углы «скруглились» фильтром.
Hough Transform есть в openCV
docs.opencv.org/doc/tutorials/imgproc/imgtrans/hough_lines/hough_lines.html
соответственно можно выделить все прямые линии, которые видны роботу, а по их гистограмме (кроме окон попадут и предметы интерьера) — корректировать направление.

Но оно затратно достаточно.

Если есть видеокамера ориентированная на потолок и неравномерный рисунок на потолке (полосы какие-то), я бы попробовал обойтись без колесного датчика и вычислять перемещение примерно как делает оптическая мышь, т.е. через автокорреляцию изображений через малые промежутки времени.
Вопрос, возможно, дилетантский, но нельзя ли сделать ориентацию по визуальным маркерам, которые легко бы распознавались? Наклеить на стене или потолке узор типа того, что используется в системах дополненной реальности и, если робот его засёк, то однозначно определил свою позицию по тому, что за узор и своем относительному положению.
Sign up to leave a comment.

Articles