roboforum.ru

Технический форум по робототехнике.

Навигация по кафельному полу

Навигация по кафельному полу

Scorpio » 24 май 2011, 03:11

Так уж вышло, что в доме, где я сейчас проживаю, пол кафельный. Т.е. не то, что в ванной или на кухне, а прям везде одинаковый такой кафель 25х25. Пятки не мерзнут, т.к. за окном меньше +25 никогда не бывает. Было бы неразумно не попытаться использовать это обстоятельство (в смысле кафель а не пятки) в качестве готовой координатной сетки помещения. Т.е. использовать межкафельные линии в качестве направляющих для робота.
Вот так выглядит пол в статике:
Cafel 1.jpg
Cafel 1.jpg (58.28 КиБ) Просмотров: 2924

А так при движении робота:

Линия хорошо различима глазом и я не думал, что возникнут проблемы при определении ее координат при движении. Попробовал в RoboRealm, макрос вот:
cafel1.zip
(609 байт) Скачиваний: 0

Макрос пытается выделить формы близкие к линейным, похожей ориентации и передает их координаты пользовательской программе для корректировки курса. Однако линия периодически теряется, возникают паразитные линии и т.д.
Понимаю, что задача специфичная и врядли у кого возникнет. Но, может чего посоветуете?

Re: Навигация по кафельному полу

=DeaD= » 24 май 2011, 06:50

Скорее всего есть смысл использовать информацию с предыдущих кадров + команды шасси, тогда будет примерно известно где примерно в следующем кадре искать линии. Только я не в курсе как это в RoboRealm можно ли реализовать, но вообще должна быть возможность, только может свой плагин придется писать.

Re: Навигация по кафельному полу

Scorpio » 24 май 2011, 07:10

это уже свежая мысль! спасибо.

Re: Навигация по кафельному полу

=DeaD= » 24 май 2011, 08:31

И фильтрацию надо сделать:
1. Нормировать изображение к чернобелому, чтобы устранить эффекты освещения
2. Примерно по ширине линии в стиле 1 0 1 сделать корреляционный фильтр под углами -67,5°, -45°, -22.5°, 0°, 22.5°, 45°, 67.5°, 90°. Какой то из них даст хорошую картинку вертикальных прямых, а какой-то горизонтальных.

Re: Навигация по кафельному полу

Scorpio » 24 май 2011, 17:46

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

Re: Навигация по кафельному полу

=DeaD= » 24 май 2011, 19:53

Ну это тебе решать что сложно, а что просто :) я могу по зрению чего-нибудь посоветовать :)

Re: Навигация по кафельному полу

Pirate » 24 май 2011, 20:23

Столько всего нового по зрению для роботов уже люди освоили за зиму, я прям счастлив ))

Оффтоп, мой любимый раздел форума )) где всегда можно найти собеседника и плавно перейти с темы зрения робота на тему ИИ робота, а потом выслушивать от всех пользователей что мы не в той теме обсуждения на пару страниц развели ))

Re: Навигация по кафельному полу

RootAdmin » 24 май 2011, 22:46

Подсветка камере не помешает в любом случае. А если подсветить под углом - швы будут контрастней.

Re: Навигация по кафельному полу

Scorpio » 25 май 2011, 19:27

Ага, я уже думаю линейку ярких светиков поставить. На статическом изображении нужная прямая выделяется легко. Чем больше скорость, тем хуже. Может камера не успевает перестроится под изменения освещения. С подсветкой д.б. лучше. Хорошо бы, чтобы знатоки обработки изображения попробовали бы на "реалме" выделить линию на моем видео. Может я не те фильтры применяю. Там их великое множество. Чтобы знать, что применить надо иметь большой опыт работы с изображениями. А я тыкаю без понятия. Пробный RR месяц работает в полном объеме.

Добавлено спустя 2 часа 43 минуты 21 секунду:
Вот для затравки, как сейчас сделано:
Grayscale+Contrast.jpg
После преобразования к градациям серого и нормализации контраста
Grayscale+Contrast.jpg (39.85 КиБ) Просмотров: 2737

Background Removal.jpg
Удаление однотонного фона
Background Removal.jpg (88.83 КиБ) Просмотров: 2759

Clean.jpg
Очистка от мелкого мусора
Clean.jpg (15.63 КиБ) Просмотров: 2734

Max Filter.jpg
Укрупнение деталей
Max Filter.jpg (16.21 КиБ) Просмотров: 2731

Hough Lines.jpg
Определение линий
Hough Lines.jpg (57.78 КиБ) Просмотров: 2746

Re: Навигация по кафельному полу

Myp » 25 май 2011, 21:37

Scorpio писал(а):Например, какой-нибудь датчик неровностей пола в местах стыка кафелин?

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

Re: Навигация по кафельному полу

Scorpio » 25 май 2011, 23:28

Канавка конечно не равномерной глубины и сами кафелины, естественно, слегка гуляют по высоте. Больно уж прецезионный датчик нужен. Да и по полу его тащить не хочется. Там все-таки попадается и мусор и всякие предметы. Вот и получается, что глазом видишь - отличная координатная сетка, а на практике не так легко применить. Разве что черными полосками все кафелины разделить.

Re: Навигация по кафельному полу

boez » 26 май 2011, 10:11

А мне вот, судя по видео, кажется что просто нужна другая камера. Эта мажет страшно при движении, вот и не получается детектировать линии.

Re: Навигация по кафельному полу

=DeaD= » 26 май 2011, 10:28

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

Re: Навигация по кафельному полу

Myp » 28 май 2011, 22:31

кстати да
в такой ситуации достаточно светодиодами подсвечивать пятно 20х20 см для камеры
это совсем немного мощности.
можно даже инфракрасные взять :)

Re: Навигация по кафельному полу

Eruman » 30 май 2011, 11:14

Идея: При движении ролика по кафелю на желобках будет характерный подскок. Если слушать пару-тройку роликов пьезами, можно вычислять ориентацию тележки. Ну, или не роликов, а упругих усов.


cron
Rambler\'s Top100 Mail.ru counter