roboforum.ru

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

Зачем автономному роботу видеокамера? :)

Зачем автономному роботу видеокамера? :)

Сообщение Michael_K » 19 янв 2011, 08:54

Да-да, я понимаю, как звучит вопрос, и давайте чуточку его раскроем :)

Насколько я понимаю, камера на роботе в подавляющем большинстве случаев стоит для удаленного контроля и управления человеком. Такое применение выходит за рамки этой темы. Речь не об этом.

Но... есть ли реально другие применения видеокамер?

На форуме в нескольких проектах мелькало применение камеры для поиска цветных маркеров (манипулятор ловил шарик, робот ездил за розовыми носками).
У АндреяСК, если не ошибаюсь, на камере ездил лайнтрейсер (и что-то про сумо-бота упоминалось, по-моему).
Еще есть замечательный проект EDVа...
И все?


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

Чем он должен заниматься? Какие результаты выдавать?
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Re: Зачем автономному роботу видеокамера? :)

Сообщение =DeaD= » 19 янв 2011, 08:56

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

Re: Зачем автономному роботу видеокамера? :)

Сообщение Michael_K » 19 янв 2011, 09:03

Да, этот тоже видел... уже кое-что...
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Re: Зачем автономному роботу видеокамера? :)

Сообщение =DeaD= » 19 янв 2011, 09:42

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

Re: Зачем автономному роботу видеокамера? :)

Сообщение Michael_K » 19 янв 2011, 09:49

=DeaD= писал(а):одних QCode должно хватать для объяснения...

эмм ... для чего?
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Re: Зачем автономному роботу видеокамера? :)

Сообщение =DeaD= » 19 янв 2011, 09:51

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

Re: Зачем автономному роботу видеокамера? :)

Сообщение Michael_K » 19 янв 2011, 09:59

ааа... ОК.
Тогда для этой задачи встает вопрос номер 2 (смотрите последний абзац первого сообщения)
Определить требования к камере (оптика, разрешение, скорострельность), системе обработки (производительность, объем памяти), каналу связи (пропускная способность).

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

А вот жестких требований, скажем, к скорострельности здесь, видимо, нет.

Правильно?
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Re: Зачем автономному роботу видеокамера? :)

Сообщение =DeaD= » 19 янв 2011, 10:17

Скорострельность камеры - пофиг;

Оптика - мне до 2 метров хватало обычной вебки;

Разрешение - тут сложнее, от соотношения разрешения камеры и размера маяка зависит максимальное расстояние на котором метод всё еще работает. У меня на картинке 640х480 сжатом до 320х240 и обратно разжатом пирамидой получалось работать на расстояния до 2.5 метров при маяках размером 10.5х10.5см, и камерой с углом обзора вроде порядка 50-60°.

Вычислительная сложность - на Pentium M 1.5GHz в 2006 году у меня при указанных выше параметрах при практически полном отсутствии оптимизации было порядка 3fps. На самом деле высокий fps некуда применять, пока не будет камеры не мажущей в движении.

Пропускная способность - ну чтобы пропускала разрешение на нужном нам fps. Тут вроде проблем пока нету при адекватных разрешениях порядка 640х480.

Цветной ковёр - ну да, так и под любой алгоритм можно в принципе придумать ситуацию, когда он начнет тупить, хотя именно для решения это проблемы я и хочу реанимировать проект в оптимизированном виде, вот с такими маяками: forum51/topic8585.html

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

Re: Зачем автономному роботу видеокамера? :)

Сообщение Michael_K » 19 янв 2011, 10:44

Ага. такое БМВ в центре явно проще ловить....

Пропускная способность - эмм... Боюсь что мы о разном говорим.

Я пытаюсь выяснить требования к модулю для обработки видео. Такое аппаратное стэнд-элоун решение. Как он с камерой будет общаться - это его личные трудности. Вопрос о канале связи во внешний мир. Ну например для этой задачи он мог бы говорить что "обнаружен маяк с номером 18 на 36 градусов вправо" то есть высокая пропускная способность канала в данном случае не требуется - хоть по уарту говори.

А что делать дальше - (моторы там включить или пушку туда навести или скорректировать свои координаты) - это не входит в обязанности видеообработчика.
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Re: Зачем автономному роботу видеокамера? :)

Сообщение =DeaD= » 19 янв 2011, 10:46

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

Re: Зачем автономному роботу видеокамера? :)

Сообщение Michael_K » 19 янв 2011, 10:59

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

(Хотя требования можно значительно упростить, если задаваться такой целью...)
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Re: Зачем автономному роботу видеокамера? :)

Сообщение Виталий » 19 янв 2011, 11:25

Попробую ответить на первый вопрос. Зачем же мобильному роботу видеокамера.
Существует несколько перспективных технологий, которые, как я считаю применимы в компьютерном зрении для робототехники.
1. Распознавание объектов с целью взаимодействия с ними (люди, цветные шарики, зарядные станции и т.д.)
2. Навигация по различным маякам с целью определения положения робота.
3. Различные задачи связанные с управлением движением (определение траектории движения робота, определение препятствий, составление карт).

Существует огромное количество алгоритмов для решения этих задач, но среди них нет ни одного устойчивого. По сути компьютерное зрение это такая точка роста, поэтому говорить об каких-то отдельных вычислялках кроме компьютера пока преждевременно. Но(!). Обычно зрение - это единственная часть которая требует компьютера, все остальное вмещается в АРМ7 с дополнительной памятью, именно поэтому я считаю идеальным вариантом иметь на роботе просто камеру с передатчиком.

Теперь о том, какой же я бы хотел модуль:
1. Оснащенный цифровой камерой с хорошей матрицей, с хорошим разрешением и сменной оптикой.
2. Оснащенный цифровым радиопередатчиком изображения (wifi или на ваш выбор).
3. С задержкой в передаче в 1 фрейм при 30 настоящих фреймах в секунду.
4. По возможности с встроенными цифровыми фильтрами (простейшими, типа гауссиана и т.д.)

Это было бы классно.
Все новости о моих проектах http://savethebest.ru
Аватара пользователя
Виталий
 
Сообщения: 2114
Зарегистрирован: 08 окт 2004, 16:43
Откуда: St. Petersburg
Skype: quark-bot
ФИО: Клебан Виталий

Re: Зачем автономному роботу видеокамера? :)

Сообщение =DeaD= » 19 янв 2011, 11:35

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

Re: Зачем автономному роботу видеокамера? :)

Сообщение Michael_K » 19 янв 2011, 11:43

А давайте не будем настолько прыгать хотя бы в этой теме.
Речь ведь в ней не идет об беспроводной камере и мощном компе за стенкой. Беспроводные и USB камеры продаются в магазинах. Компы - тоже. А законченного решения для простого роботостроителя - нет.

Добавлено спустя 3 минуты 16 секунд:
Виталий писал(а):1. Распознавание объектов с целью взаимодействия с ними (люди, цветные шарики, зарядные станции и т.д.)
2. Навигация по различным маякам с целью определения положения робота.
3. Различные задачи связанные с управлением движением (определение траектории движения робота, определение препятствий, составление карт).

Виталий, вы очертили ну ОЧЕНЬ общий круг задач. Можно чуть поконкретнее?
Хорошо бы с примерами использования и краткими, если не описаниями, то хотя бы оценками апараметров.
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Re: Зачем автономному роботу видеокамера? :)

Сообщение =DeaD= » 19 янв 2011, 11:45

Michael_K писал(а):А давайте не будем настолько прыгать хотя бы в этой теме.

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

След.

Вернуться в Сенсорика

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

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