roboforum.ru

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

Как из дешевого китайского танчика сделать робоплатформу

Re: Как из дешевого китайского танчика сделать робоплатформу

EDV » 27 апр 2009, 11:24

=DeaD= писал(а):В общем мне кажется, что при попытке рулить на ходу мы столкнёмся с проблемой качественного видео.
Поэтом надо начинать решать эту проблему уже сейчас.


Технология распознавания AVM адекватно воспринимает размытее изображения, и способна прослеживать объекты, даже если они находятся в движении. Так что это не проблема.

Кто не верит, может убедиться сам:

Демо-версия AVM, с пользовательским интерфейсом, инсталляция под Windows:
http://edv-detail.narod.ru/Recognition.zip

Подробную информацию об алгоритме AVM можно посмотреть здесь:
http://edv-detail.narod.ru/AVM_main.html

Re: Как из дешевого китайского танчика сделать робоплатформу

Vorral » 27 апр 2009, 11:55

Ну что же, подождём результата. Может к этому моменту и я успею дописать свою систему распознавания, как раз для этих же целей. :)

Re: Как из дешевого китайского танчика сделать робоплатформу

D1mcon » 27 апр 2009, 18:03

Фигасе, купил недавно такой же танк только в зеленом камуфляже, так там вся электроника другая :shock: ,жаль только что уже успел распаять :( так бы фото выложил

Re: Как из дешевого китайского танчика сделать робоплатформу

EDV » 28 апр 2009, 09:26

Вчера поставил на танчик самую убитую web-камеру, которая была у меня в наличии (Genius look ... ни помню номер, такая в виде мячика). Тормозная до неприличия, да ещё и болталась на проволоке (которой я её привязал к башне) как бубончик на шапке. Ну и несмотря на все эти затруднения, AVM удалось даже чего то рассмотреть. Я тут видео добавил, можете поглядеть. Так что есть надежда, что всё у нас получится :)

Из за того что web-камера тормозила, а параметры записи видео, были установлены 25 кадров в секунду, запись получилась ускоренной.
Вложения
robot_demo1.zip
(1.19 МиБ) Скачиваний: 33

Re: Как из дешевого китайского танчика сделать робоплатформу

=DeaD= » 28 апр 2009, 09:35

2EDV: В стоячем положении понятно что работает, а что там в движении происходит - не ясно - почему-то рамки двоятся, это что?

Re: Как из дешевого китайского танчика сделать робоплатформу

EDV » 28 апр 2009, 09:47

Ну от такой тряски у любого в глазах двоится будет. Ну а если серьёзно, то это проблемы в прослеживании объекта, объект резко (прыжком) перемещается, а трекер ищет его в окрестности той точки, где он был в прошлом кадре. Пороговое расстояние превышено, и трекер решает что это не тот же самый объект, а другой (и отмечает его как новый объект для прослеживания).

Вся суть в том, что в принципе объекты распознаются, даже если сильно трясёт.

Re: Как из дешевого китайского танчика сделать робоплатформу

=DeaD= » 28 апр 2009, 09:52

А нельзя чтобы оно показывало только актуальные объекты на кадре, а следы старых не показывало? А то вообще не ясно что и как :) и где-то еще показать сами объекты которые ищем на кадре...

Re: Как из дешевого китайского танчика сделать робоплатформу

EDV » 28 апр 2009, 10:00

Можно, нужно вместо метода CvAssociativeMemory32S::ObjectTracking использовать метод CvAssociativeMemory32S::ObjectRecognition (набор параметров одинаковый). Вечером, возможно повторю эксперементы.

Re: Как из дешевого китайского танчика сделать робоплатформу

=DeaD= » 28 апр 2009, 10:10

2EDV: Есть какая-то технология выхватывания из кадра "хороших образов"? Т.е. какие-то хорошо различимые объекты, к которым можно осуществить привязку? Есть идея поставить на робота такого еще и указку и тогда можно будет выхватить хорошие объекты, определить указкой расстояние до них, проехать вперёд, проверить какие объекты остались целыми (т.е. это не оказались 2 разных объекта на разных расстояниях) и принять их за маяки.

Re: Как из дешевого китайского танчика сделать робоплатформу

EDV » 28 апр 2009, 10:36

Да есть тут одна мысль, можно попробовать обучить AVM на контрастные пятна (которые выделяются на общем фоне по контрасту) и использовать их как маяки. Я добавил ниже пример такого детектора, можно скачать и глянуть (бинарник).
Вложения
Feature_Detection_11_03_09.zip
(2.98 МиБ) Скачиваний: 17

Re: Как из дешевого китайского танчика сделать робоплатформу

=DeaD= » 28 апр 2009, 23:39

Надо бы интерфейсы объявить, желательно не привязанные к твоей разработке, тогда можно будет писать код в котором твоя разработка будет конкретным модулем. Чтобы если появится другой вариант детекторов - его тоже можно было бы подцепить и прогнать на тестах. Как считаешь?

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

Re: Как из дешевого китайского танчика сделать робоплатформу

EDV » 29 апр 2009, 10:53

В проекте «Навигатора» все исходные тексты программ (кроме технологии AVM) будут открытыми. Детектор я выложил в бинарном виде, потому что у меня не было на тот момент красиво оформленного примера. Если есть необходимость в исходном тексте программы «Детектора контрастных пятен» то я могу подготовить и выложить.

Re: Как из дешевого китайского танчика сделать робоплатформу

Vorral » 29 апр 2009, 11:11

Я например считаю, что неважно, есть у библиотеки исходный код или нет. Главное, чтобы она была полезна. Пусть хоть все компоненты будут закрытыми.

Re: Как из дешевого китайского танчика сделать робоплатформу

=DeaD= » 29 апр 2009, 11:28

EDV писал(а):В проекте «Навигатора» все исходные тексты программ (кроме технологии AVM) будут открытыми. Детектор я выложил в бинарном виде, потому что у меня не было на тот момент красиво оформленного примера. Если есть необходимость в исходном тексте программы «Детектора контрастных пятен» то я могу подготовить и выложить.

Это всё гуд, вопрос в том - готов ли ты (кстати, ничего что я на ты? я тут на форуме уже потерялся, тыкать вроде неприлично, выкать тоже не все переваривают :)) сделать шаг вбок и согласовать интерфейсы не связанные напрямую с твоими библиотеками по которым они (твои библиотеки) будут цепляться к программе навигатору, например?

Добавлено спустя 1 минуту 10 секунд:
Vorral писал(а):Я например считаю, что неважно, есть у библиотеки исходный код или нет. Главное, чтобы она была полезна. Пусть хоть все компоненты будут закрытыми.

А я не про исходный код всего подряд сейчас даже, а про интерфейс, чтобы потом можно было вместо детектора EDV'а подцепить другой детектор или еще чего сотворить. И не понадобилось перекраивать всю библиотеку для навигации, т.к. там явно на его структуры ссылки будут.

Re: Как из дешевого китайского танчика сделать робоплатформу

EDV » 29 апр 2009, 11:48

=DeaD= писал(а):Это всё гуд, вопрос в том - готов ли ты (кстати, ничего что я на ты? я тут на форуме уже потерялся, тыкать вроде неприлично, выкать тоже не все переваривают :)) ...


Я не против, можно и на «ты», если так общаться удобнее. В этом отношении в английском языке хорошо, там у них личное местоимение «you» и «ты» и «вы» заменяет (а ещё там нет падежных окончаний, и непонятно с кем ты общаешься по почте с женщиной или с мужчиной, пока тебе сам собеседник не ответит).

=DeaD= писал(а):Это всё гуд, вопрос в том - готов ли ты сделать шаг вбок и согласовать интерфейсы не связанные напрямую с твоими библиотеками по которым они (твои библиотеки) будут цепляться к программе навигатору, например?


Да, конечно готов, как только появятся первые наработки программы «Навигатор» я опубликую исходные тексты, и мы предметно пообщаемся по интерфейсам.

Да, кстати, насчёт интерфейсов, для общения с пользователем использовать MFC (VC6) или wxWidgets-2.6.2?
Как лучше?


Rambler\'s Top100 Mail.ru counter