roboforum.ru

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

Что можно "выжать" из видеокамеры с помощью МК?

Re: Что можно "выжать" из видеокамеры с помощью МК?

Сообщение =DeaD= » 18 окт 2009, 09:35

Да я никак не могу собраться и прочитать этот поток неструктурированного текста :pardon:

Для всего этого надо неплохой МК с неплохим же объемом оперативки.

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

Re: Что можно "выжать" из видеокамеры с помощью МК?

Сообщение TrashVigor » 18 окт 2009, 14:41

DeaD, ты обещал, про нахождение розового пятнышка секрет открыть? :roll:
GIRUGAMESH!
Аватара пользователя
TrashVigor
 
Сообщения: 134
Зарегистрирован: 11 июл 2008, 22:43
Откуда: Воронежск
прог. языки: С, Delphi, Asm

Re: Что можно "выжать" из видеокамеры с помощью МК?

Сообщение contr » 18 окт 2009, 15:25

Самый большой секрет – истинный автор проекта. :lol:
А алгоритм там простой:
картинка поступает в РС,
РС анализирует массив и выхватывает пиксели по уровню,
прикидывает положения пятна относительно центра,
дает команду боту на поворот и ход.
На МК тоже так сделать можно, особенно с небольшим сенсором типа мышиного.
А самый простой вариант с парой диодов недавно демонстрировали в достижениях.
contr
 
Сообщения: 987
Зарегистрирован: 17 апр 2009, 15:09
Откуда: Rostov-Don
Предупреждения: -1

Re: Что можно "выжать" из видеокамеры с помощью МК?

Сообщение =DeaD= » 18 окт 2009, 16:40

TrashVigor писал(а):DeaD, ты обещал, про нахождение розового пятнышка секрет открыть? :roll:

Так я его давно вроде открыл? Вот же оно:
viewtopic.php?p=83752#p83752

Добавлено спустя 56 секунд:
contr писал(а):Самый большой секрет – истинный автор проекта. :lol:

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

Re: Что можно "выжать" из видеокамеры с помощью МК?

Сообщение contr » 18 окт 2009, 16:55

а можно вместо анектодов ответы на поставленные еще в феврале вопросы? :ROFL:
contr
 
Сообщения: 987
Зарегистрирован: 17 апр 2009, 15:09
Откуда: Rostov-Don
Предупреждения: -1

Re: Что можно "выжать" из видеокамеры с помощью МК?

Сообщение =DeaD= » 18 окт 2009, 16:56

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

Re: Что можно "выжать" из видеокамеры с помощью МК?

Сообщение Michael_K » 18 окт 2009, 17:04

:)

Не-а, самые большие секреты - это:

1. Создать мир, который легко обсчитывается, а не решать задачи в общем виде.
-----------------------------------------------------------------------------
(например расстояние до препятствия можно определить чисто геометрически, зная,
что оно стоит на полу, плоскость которого заранее известна и задана).

2. Не портировать код из библиотек компа - там совсем другие принципы и приоритеты.
-----------------------------------------------------------------------------------
Функции на компе расчитаны на "общий случай", в каждом конкретном случае код можно
оптимизировать. Типичный случай - перемножение матриц, когда одна из матриц содержит
много нулей, единиц, минус единиц - можно реализовать очень эффективно, минимизировав
операции умножения. В этом случае использование функций, которые пусть даже безумно
эффективным алгоритмом перемножает "любые матрицы в общем виде" - глупо.

3. Оптимизировать скорость выполнения кода, а не процесс программирования.
--------------------------------------------------------------------------
При оценке сложности алгоритмов, часто забывают об операциях пересылки данных,
вызова функций и т.д. На микроконтроллере об этом забывать нельзя: сравним для Хmega
MUL+ADD = 3 такта, LDS+STS = 4 такта, RCALL+RET = 6 тактов. Вывод -
перекладывать в буфер, доставать оттуда, делать всякие "перестановки бабочкой",
вызывать функции - это операции, которых по возможности нужно избегать.
Поэтому я - за обработку на лету, развернутые циклы, сосчитанные такты и т.п.
Это не очень весело писать и отлаживать, зато это весело работает.

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

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

Re: Что можно "выжать" из видеокамеры с помощью МК?

Сообщение blindman » 18 окт 2009, 17:07

Не-а :) самый большой вопрос, ответ на который впрочем всем известен - кто здесь самый большой *** болтобол
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

Re: Что можно "выжать" из видеокамеры с помощью МК?

Сообщение =DeaD= » 18 окт 2009, 17:13

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

Re: Что можно "выжать" из видеокамеры с помощью МК?

Сообщение Michael_K » 18 окт 2009, 17:30

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

Под ходовые - есть конечно (например обнаружение краев, типовые фильтры и т.д.)
А вот под пользовательский паттерн (тот же поиск маяка) - вряд ли.
Это всё хорошо звучит, вот только надо бы цель поставить, потом МК под это выбрать

Я выбрал Xmegа за его скоростной АЦП и детерминизм.
Кроме того, у меня неплохой опыт в оптимизации AVR-кода для реал-тайм обработки сигналов.
Из поставленной задачи будет ясно - что есть, а чего нет.

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

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

Re: Что можно "выжать" из видеокамеры с помощью МК?

Сообщение =DeaD= » 18 окт 2009, 17:43

Подсветка плоха по нескольким причинам:
1. В движении мы получим 2 разных кадра, которые нет смысла накладывать.
2. На ярком солнце один фиг ничего хорошего не получить.
Т.е. работать будет только в затененном помещении и только после остановки.

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

Re: Что можно "выжать" из видеокамеры с помощью МК?

Сообщение Michael_K » 18 окт 2009, 18:07

Подсветка плоха по нескольким причинам:
1. В движении мы получим 2 разных кадра, которые нет смысла накладывать.

Это зависит от скорости кадров. Я нацеливаюсь на 60 герц.
ТСОПы же работают :)
На ярком солнце один фиг ничего хорошего не получить.


Надо пробовать, в конце концов - это просто еще одно ограничение в наш ограниченный "мир"...

(Если я дождусь в Питере солнца, я вряд ли захочу провести такое событие в компании с роботом :)))

Т.е. работать будет только в затененном помещении и только после остановки.

А еще ничего хорошего не получится под водой или при температуре 200 градусов...
Ну и что?

XMega не будет проигрывать ARM7 по производительности?

Будет. Попытаюсь вылезти за счет детерминизма и "налетушности".
Если бы это был коммерческий продукт - выбрал бы платформу
с заведомым запасом по производительности (в зависимости от задачи).

Но поскольку это хобби - здесь самое место попробовать поизвращаться.
Пауки из скрепок, датчик на ИК-приемнике от телевизора, драйвер мосфета на максе232... :)
ВАЗ-2101 в топгир...

Ну и видео - на АВРке... Почему бы нет - по-моему, логично :))
Последний раз редактировалось Michael_K 18 окт 2009, 22:10, всего редактировалось 1 раз.
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Re: Что можно "выжать" из видеокамеры с помощью МК?

Сообщение EdGull » 18 окт 2009, 20:19

Michael_K полностью тебея поддерживаю! :good:
но вот если бы ты на ARM7 делал, цены тебе небыло бы!!!
Аватара пользователя
EdGull
 
Сообщения: 10211
Зарегистрирован: 28 дек 2004, 20:33
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович

Re: Что можно "выжать" из видеокамеры с помощью МК?

Сообщение wanderer » 18 окт 2009, 21:16

Увы и ах - ARM7 для полноценной обработки реального видео не хватает. :cry:
Нужен ARM9 или выше. Можно смотреть на гигагерцовый Intel Atom...
wanderer
 
Сообщения: 43
Зарегистрирован: 07 окт 2007, 22:05
Откуда: Москва
прог. языки: C, Pascal, Lisp, Simple ;)

Re: Что можно "выжать" из видеокамеры с помощью МК?

Сообщение EdGull » 18 окт 2009, 21:39

wanderer ты всё пропустил, у Michael_K обычная мега успевает
кури поиск
Аватара пользователя
EdGull
 
Сообщения: 10211
Зарегистрирован: 28 дек 2004, 20:33
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович

Пред.След.

Вернуться в Алгоритмы

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

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

cron