roboforum.ru

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

Автономная навигация робота

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

Re: Автономная навигация робота

Сообщение Snable » 21 авг 2009, 11:47

*Видео в качестве HD можно поставить на паузу - похоже на фотки :D
Аватара пользователя
Snable
 
Сообщения: 395
Зарегистрирован: 21 мар 2009, 20:06
Откуда: Город на Неве
прог. языки: GNU C++ with Qt / C# via .NET
ФИО: Александр

Re: Автономная навигация робота

Сообщение =DeaD= » 21 авг 2009, 11:54

В общем коротко если - надо чтобы фрагмент, который мы принимаем за маяк не был смещаемым без особых изменений в структуре ни по какой оси. Для этого надо взять и попробовать этот маяк сместить по скажем 16 направлениям, скажем на 3-5 пикселей и проверить - если изменения незначительные, тогда это не маяк, т.к. мы сможем его в дальнейшем распознать с крайне низкой гарантией того, что это именно тот же фрагмент.
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Автономная навигация робота

Сообщение EDV » 21 авг 2009, 12:09

Там используется следующий алгоритм:
Сканируем входное изображение окном 80x80 с шагом 32 пикселя. По каждой области подсчитываем оценку возможности обучения (EstimateOpportunityForTraining) и если она больше 0.15, тогда проверяем, назначен ли этой области идентификатор, если нет, то обучаем AVM на эту область и назначаем для неё идентификатор.

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

Тут всё похоже на фильм «Матрица» когда вместо изображений мы видим символы, которые ассоциируются с тем или иным фрагментом изображения.
Вложения
b1.jpg
Аватара пользователя
EDV
 
Сообщения: 1016
Зарегистрирован: 06 июн 2007, 15:19
Откуда: Украина, Лисичанск
ФИО: Дмитрий Еремеев

Re: Автономная навигация робота

Сообщение =DeaD= » 21 авг 2009, 12:18

2EDV: Так что насчет проблемы на которую я указал? Ведь если у нас на изображении только вертикальная "зебра", то можно взять любой фрагмент 10%х10% изображения, включающий и черные и белые полосы хоть в какой части и ему пытаться обучиться, вот только как их между собой отличать?
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Автономная навигация робота

Сообщение EDV » 21 авг 2009, 12:30

А может и не нужно их (чёрно-белые линии) пытаться отличать друг от друга, достаточно знать, что определённая зона входного изображения заполнена маяками, которые ассоциируются с чёрно-белыми полосами.

Тут, скорее всего, нужно придумать ещё один способ распознавания соотношений центров и размеров маяков относительно друг друга, что бы суметь идентифицировать текущую привязку к месту, на которое смотрит камера.
Аватара пользователя
EDV
 
Сообщения: 1016
Зарегистрирован: 06 июн 2007, 15:19
Откуда: Украина, Лисичанск
ФИО: Дмитрий Еремеев

Re: Автономная навигация робота

Сообщение =DeaD= » 21 авг 2009, 12:38

2EDV: Нужно еще как! Нам нужно координаты относительные этих маяков, иначе теряется возможность SLAM делать.

Вообще при снятии маяков я предполагал делать так:
1. Снимаем картинку, проезжаем вперед 10см (примерно!), снимаем еще раз, проезжаем еще 10см (примерно!), снимаем еще раз.

2. Находим маяки (в т.ч. они чуть изменятся по масштабу, главное что не рассыпятся).

3. Из изменения масштаба определяем примерное расстояние до них (с некоторой погрешностью) и т.к. мы проехали 20см неточно (не ровно прямо) то определяем так же направления на них с некоторой погрешностью;

4. все это сваливаем в SLAM и радуемся получаемой и постоянно уточняемой карте местности и нашим в ней координатам :)
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Автономная навигация робота

Сообщение EDV » 21 авг 2009, 13:33

Это хорошо бы работало с «искусственными» (уникальными) маяками. А на практике получатся, что если поставить высокий уровень точности распознавания (3-х уровневое AVM дерево с ключём 80x80), то получим слишком много уникальных маяков и громадное дерево поиска, что убьёт быстродействие. Напротив, если использовать менее качественное распознавание (2-х уровневое AVM дерево, ключ 80x80), то в этом случае будут допускаться «ложные» срабатывания, что позволит обобщать большее количество изображений в один класс (символ), который закрепится за этой группой изображений.

Эти классифицированные символы изображения местами будут образовывать скопления (кластеры). Так вот кластеры, в этом случае, и можно принимать за маяки. То есть маяк – это не отдельный распознанный участок изображения, а группа распознанных участков объединённых по некому признаку.

Вот такое моё предложение :)

Добавлено спустя 12 минут 51 секунду:
Если маяк – это один распознанный фрагмент, то он может быть не очень устойчив (немого условия поменялись, и он не распознаётся). А вот если маяк – это группа распознанных изображений, то тут уже статистика, и если пару фрагментов и выпадет из распознавания, то не страшно.
Аватара пользователя
EDV
 
Сообщения: 1016
Зарегистрирован: 06 июн 2007, 15:19
Откуда: Украина, Лисичанск
ФИО: Дмитрий Еремеев

Re: Автономная навигация робота

Сообщение =DeaD= » 21 авг 2009, 15:51

2EDV: Не понял мысли - пофиг что будет считаться маяком, главное чтобы его координаты были стабильными, а не прыгали от кадра к кадру вверх-низ, потому что маяком мы посчитали фрагмент 5х5см с зебры :)

Добавлено спустя 1 минуту 45 секунд:
при этом группа таких фрагментов на зебре по моему критерию так же нестабильна, т.к. при смещении всей группы вверх-вниз - она будет замечательно опознаваться как "та же группа".

А вот если в один фрагмент группы войдёт верхняя граница зебры - тогда он будет стабилен по смещению по вертикали и группа отлична.
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Автономная навигация робота

Сообщение Duhas » 21 авг 2009, 17:03

я вам вот что скажу.. вам нада то что я видел на видео чуть выше соединить с картой глубины, и выделять объекты отталкиваясь от нее... тогда гладкая зебра могет вообще не подойти под объект, если она большая.. со стену...
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Аватара пользователя
Duhas
 
Сообщения: 6338
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович

Re: Автономная навигация робота

Сообщение =DeaD= » 21 авг 2009, 17:44

В топку пока карту глубины.
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Автономная навигация робота

Сообщение Duhas » 21 авг 2009, 19:44

имхо - зря...
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Аватара пользователя
Duhas
 
Сообщения: 6338
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович

Re: Автономная навигация робота

Сообщение =DeaD= » 21 авг 2009, 19:45

Зря - это когда мы не доделав одной простой вещи начинаем наворачивать проект :)
Ключевое слово в моём предыдущем сообщении - "пока".
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Автономная навигация робота

Сообщение EDV » 25 авг 2009, 09:03

Я тут на выходных ещё раз попробовал возможности управлять роботом, используя при этом входное видео с разрешением 320x240. Вдобавок я немного изменил алгоритм управления роботом (модуль Navigator.cpp) и результат получился просто замечательный. Итак, если у кого-то ещё нет электронного питомца, советую завести, так как алгоритм преследования для электронной «собачки» уже разработан, и лежит тут:
http://edv-detail.narod.ru/Navigator_src.zip

Всё оборудование, которое нужно для экспериментов, а именно: радиоуправляемая модель, видеокамера с радиопередатчиком и приёмником, аккумулятор (для видеокамеры), USB TV тюнер (для оцифровки сигнала от видеокамеры) общей стоимостью всего 150$. Так что если у кого то после просмотра видео появится желание присоединится к экспериментам по навигации, тогда бегом в ближайший магазин электроники и будем развивать идею дальше. Вместе веселее, а всё самое интересное ещё впереди.



Я обратил внимание на то, что у AVM на разрешении 320x240 достаточно большой запас по быстродействию, и у меня появилась достаточно интересная идея. Назовем это пока что «Location tree». Более подробно поговорим об этой идее, когда я проведу некоторые эксперименты, и у меня появятся первые результаты.
Вложения
c1.JPG
c1.JPG (8.15 КиБ) Просмотров: 2095
Аватара пользователя
EDV
 
Сообщения: 1016
Зарегистрирован: 06 июн 2007, 15:19
Откуда: Украина, Лисичанск
ФИО: Дмитрий Еремеев

Re: Автономная навигация робота

Сообщение Duhas » 25 авг 2009, 12:01

сделать бы еще ведение цели камерой и движение шасси в нужную сторону одновремененно, чтоб на терять цель.. как танки )
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Аватара пользователя
Duhas
 
Сообщения: 6338
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович

Re: Автономная навигация робота

Сообщение EDV » 25 авг 2009, 12:31

А это как раз и есть танк :)

Добавлено спустя 3 минуты:
И ведение «цели» приблизительно так и сделано (поворот башни/корпуса).
Аватара пользователя
EDV
 
Сообщения: 1016
Зарегистрирован: 06 июн 2007, 15:19
Откуда: Украина, Лисичанск
ФИО: Дмитрий Еремеев

Пред.След.

Вернуться в Золотой фонд

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3

cron