roboforum.ru

Технический форум по робототехнике.
Текущее время: 07 апр 2025, 20:00

Часовой пояс: UTC + 4 часа


Правила форума


В этом форуме новые темы не создаются, однако обсуждение допустимо.



Начать новую тему Ответить на тему  [ Сообщений: 93 ]  На страницу Пред.  1, 2, 3, 4, 5 ... 7  След.
Автор Сообщение
 Заголовок сообщения: Как оцифровать видео AVR-кой. Схема макетика и исходники.
СообщениеДобавлено: 19 окт 2009, 23:43 
Не в сети
Аватара пользователя

Зарегистрирован: 07 окт 2009, 00:29
Сообщения: 6028
Откуда: СПб
По просьбе EdGull выкладываю для желающих поизгаляться...

Исходники и хекс для AVR на GCC (пользуюсь версией 20080512) - тупая хваталка с камеры 80х60 пикселей.
Посылает данные через FTDI на комп.
Исходники и экзешник для компа на VB - ловит данные и показывает.

Картинка:
Вложение:
6f377835e4a8.jpg
6f377835e4a8.jpg [ 20.29 КиБ | Просмотров: 115348 ]

Схема:
Вложение:
sch.GIF
sch.GIF [ 15.91 КиБ | Просмотров: 127123 ]


Питание 5 вольт.
Кварцы: на меге - 20Мгц, на FTDI - 6МГц.
Все конденсаторы - 0.1мкф
Резисторы слева направо 1.5к, 470, 470...
два делителя справа - у меня стоят подстроечники на 4к7

ОФФТОПИКОМ в этой теме будет считаться:
- зачем это надо автору,
- на чем и как это сделать будет лучше,
- обсуждение кривизны схемотехники и кода.
( Это я и так знаю :) - делал быстрый макет. )


Частота проца 20МГц, предделитель АЦП - 4.
Получаем оцифровку с периодом 2.6 микросекунды.
Строка видеосигнала - 64 микросекунды (видеоданных меньше)
Строк 252.
Получается порядка 20 точек на строку растра.
То есть, если подходить тупо, то можно получить разрешение
20(ширина кадра)x280(высота) - это неудобно.

Поэтому я делаю выборки по принципу "шахматной доски":
Выборки из строк выбираются со смещением относительно строба.

Вложение:
images.jpg
images.jpg [ 12.03 КиБ | Просмотров: 128063 ]


AVR-ка может выделить на обработку порядка пятидесяти тактов на каждый пиксель.

А вот узнать хотелось бы следующее:
- Что в эти 50 тактов хочется поместить и что туда удастся поместить?


На вопросы по схеме и исходникам отвечу.




Вложения:
Комментарий к файлу: Исходники
Send_to_comp_80x60.zip [72.68 КиБ]
Скачиваний: 323


Последний раз редактировалось Michael_K 13 янв 2010, 16:31, всего редактировалось 2 раз(а).
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как поймать видео на AVR-ке. Схема макетика и исходники.
СообщениеДобавлено: 20 окт 2009, 10:31 
Не в сети
скрытый хозяин вселенной :)
Аватара пользователя

Зарегистрирован: 18 сен 2006, 12:26
Сообщения: 18018
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич
если линия прерывается то выдавать на каждый огрызок линии свой прямоугольник
тогда хоть сквозь строй табуреток проедем :)
после сканирвоания кадра ищем смежные пикселы (тож самое как в лайнтрейсере тока линий может быть несколько)
каждая группа смежных пикселов даст нам 4 максимальных значения:
2 координаты Х (самая верхняя строка принадлежащая группе точек и самая нижняя строка принадлежащая группе точек)
и 2 координаты У (аналогично макс и мин)
из них получаем 2 координаты притивоположных вершин прямоугольника "препятствия"
соответственно меньшую координату Х прямоугольника используем как длинну до препятствия (если изначально померить линеечкой на натуре)

_________________
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как поймать видео на AVR-ке. Схема макетика и исходники.
СообщениеДобавлено: 20 окт 2009, 10:34 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
2Myp: А зачем? Если можно выдать 80 значений расстояний по всему сектору? Нафига урезать информацию и делать непредсказуемым её объем?

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как поймать видео на AVR-ке. Схема макетика и исходники.
СообщениеДобавлено: 20 окт 2009, 10:40 
Не в сети
скрытый хозяин вселенной :)
Аватара пользователя

Зарегистрирован: 18 сен 2006, 12:26
Сообщения: 18018
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич
а можно вобще сразу всю картинку гнать в робота и там уже обрабатывать
тока зачем, если можно прям сразу в модуле получить упрощённую схему препятствий :)

для движения по квартире в сущности не наплевать какой формы там препятствие?
кубик игрушечный там стоит или ножка от табуретки круглая.

_________________
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как поймать видео на AVR-ке. Схема макетика и исходники.
СообщениеДобавлено: 20 окт 2009, 10:43 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
2Myp: Если форма препятствия не важна - пользуют сонар ;) в общем - твоё предложение надо обставлять кучей "если", и в итоге получим навороченное урезание данных :) которое по приему в другой вычислительный модуль еще и расшифровывать надо будет. Пример - если карта расстояний такая:


-,-,-,10,-,-,-,10,-,-,- это понятно два препятствия

если
-,-,-,10,10,10,10,10,-,-,- это понятно одно препятствие

если
-,-,-,10,12,14,12,10,-,-,- это понятно тоже одно препятствие

а если
-,-,-,10,42,64,42,10,-,-,- это одно или два или три?

а если
-,-,-,10,72,64,72,10,-,-,- это одно или два или три?

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как поймать видео на AVR-ке. Схема макетика и исходники.
СообщениеДобавлено: 20 окт 2009, 11:41 
Не в сети
Аватара пользователя

Зарегистрирован: 07 окт 2009, 00:29
Сообщения: 6028
Откуда: СПб
Ребята, лазерную линию уже на рпсстоянии 200-300 миллиметров
ЭТА фитюлинка НЕ УВИДИТ просто. Пробовал на ТОЧКЕ (которая ярче в сто раз).
В шумах теряется.

Кондер "антиалиасинговый" на ногу АЦП ставил (потом выпаял, ибо пользы - ноль)

---------------------------------------------------
И еще, я хотел бы, чтобы была понятна такая вешь:
ЭТА картинка - убогая. Никто не спорит.
ЭТОТ проц слабый. Безусловно.

Но даже если мы возьмем камеру покруче, проц помощнее, то...
картинка-то будет получше...
а вот ТАКТОВ НА ПИКСЕЛЬ принципиально больше НЕ станет.

Возьмите камеру 320x240 c кадровой частотой "всего" 30 Гц,
возьмите проц стомегагерцовый, пусть даже картинка забирается в буфер
независимо от проца (просто появляется там неожиданно)... И что?
100МГц/(30*320*240) = 43. 43 такта!!!
Ну допустим команды помощнее - ну будет чуть полегче, но не кардинально.

Поэтому проблема "что запихать в эти такты" так или иначе будет вставать,
хоть на арме, хоть на блэкфине, хоть на чем...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как поймать видео на AVR-ке. Схема макетика и исходники.
СообщениеДобавлено: 20 окт 2009, 11:54 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
2Michael_K: Дык с лазерной линией на более мощном проце и четкой камере - вполне вариант. Так что возможно не надо отметать? ;) Кстати, а что если взять не лазерную линию, а сделать полосу ИК-освещения прожектором? ;) и глаза целые будут и не потеряется в шумах :)

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как поймать видео на AVR-ке. Схема макетика и исходники.
СообщениеДобавлено: 20 окт 2009, 11:58 
Не в сети
Аватара пользователя

Зарегистрирован: 07 окт 2009, 00:29
Сообщения: 6028
Откуда: СПб
Цитата:
на более мощном проце и четкой камере - вполне вариант.

Согласен, но опыты с телефоном тоже не радуют, хотя лучше безусловно.
Я и не отметаю - я пробую.

Цитата:
а что если взять не лазерную линию, а сделать полосу ИК-освещения прожектором?

Вот это мне больше нравится.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как поймать видео на AVR-ке. Схема макетика и исходники.
СообщениеДобавлено: 20 окт 2009, 12:04 
Не в сети
Аватара пользователя

Зарегистрирован: 28 дек 2004, 20:33
Сообщения: 10211
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович
=DeaD= писал(а):
Кстати, а что если взять не лазерную линию, а сделать полосу ИК-освещения прожектором? ;) и глаза целые будут и не потеряется в шумах :)

помоему очень хорошая идея! :good:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как поймать видео на AVR-ке. Схема макетика и исходники.
СообщениеДобавлено: 20 окт 2009, 12:18 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
И пол тёплый будет :ROFL:

Добавлено спустя 9 минут 20 секунд:
По поводу ИК-прожектора для полосы - взять ИК-диоды L-7113F3BT с углом 20° завернуть их 2 зеркалами в 7°, на расстоянии 40см это будет полоса шириной примерно 5см, соотв. на расстоянии 100см это будет полоса 10см, а на расстоянии 10см полоса ~ 1см. Вполне обнаружаемая вроде вещь при любых не особо безумных помехах.

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как поймать видео на AVR-ке. Схема макетика и исходники.
СообщениеДобавлено: 20 окт 2009, 12:19 
Не в сети
Аватара пользователя

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как поймать видео на AVR-ке. Схема макетика и исходники.
СообщениеДобавлено: 20 окт 2009, 12:20 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Помню :)

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как поймать видео на AVR-ке. Схема макетика и исходники.
СообщениеДобавлено: 20 окт 2009, 12:32 
Не в сети
Аватара пользователя

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как поймать видео на AVR-ке. Схема макетика и исходники.
СообщениеДобавлено: 20 окт 2009, 12:40 
Не в сети
скрытый хозяин вселенной :)
Аватара пользователя

Зарегистрирован: 18 сен 2006, 12:26
Сообщения: 18018
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич
=DeaD= писал(а):
2Myp: Если форма препятствия не важна - пользуют сонар ;) в общем - твоё предложение надо обставлять кучей "если", и в итоге получим навороченное урезание данных :) которое по приему в другой вычислительный модуль еще и расшифровывать надо будет. Пример - если карта расстояний такая:

а если
-,-,-,10,72,64,72,10,-,-,- это одно или два или три?

это какойто бред из цифр :shock:

каждый непрерывный отрезок лазерной линии(белая линия на чёрном фоне) окружаем виртуальным зелёным прямоугольником и получаем что нижняя грань прямоугольника
это наше "препятствие" и плевать что препятствие под углом, нам всё равно туда не проехать строго вперёд.
Вложение:
6f377835e4a8.jpg
6f377835e4a8.jpg [ 10.3 КиБ | Просмотров: 16340 ]


данные на выходе достаточны и просты
на выходе имеем просто список препятствий с координатами
например строка 10 15 8
это отрезок с началом в точке X10Y15 и длинной 8 пикселов

если 2 препятствия имеем:
X10Y15L8
X20Y35L20


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

ЗЫ
моя цветная минирадиокамера в разрешении 640х480 отлично видит пятно лазера по всей квартире включая ковёр диван и мебель.
беда в том что пятно от лазера гораздо меньше пиксела на конечной картинке которая получится в меге после АЦП кадра. тем более в ЧБ виде оно вобще будет как шум или любой другой блик.
вот красный воздушный шарик в таком разрешении было бы запросто определять :)
очень хочется цвет распознавать.

_________________
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как поймать видео на AVR-ке. Схема макетика и исходники.
СообщениеДобавлено: 20 окт 2009, 12:54 
Не в сети
Аватара пользователя

Зарегистрирован: 07 окт 2009, 00:29
Сообщения: 6028
Откуда: СПб
Цитата:
И пол тёплый будет

Это вы зря. Вы лазер больше 5 милливатт вряд ли поставили бы.
Ну вкачайте в светодиод(ы) - не пять, а 250 милливатт
- это не так уж много.

И... все же неясным остается алгоритм с линией или ИК-полосой
в условиях естественного окружения.

Добавлено спустя 9 минут 4 секунды:
Цитата:
моя цветная минирадиокамера в разрешении 640х480 отлично видит пятно лазера по всей квартире

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

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как поймать видео на AVR-ке. Схема макетика и исходники.
СообщениеДобавлено: 20 окт 2009, 13:00 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
EdGull писал(а):
значит я всё таки тогда был прав! :Yahoo!:

Ээээ.... в чем? :) там был поиск мусора, а тут сканирование местности на тему препятствий :)

Myp писал(а):
это какойто бред из цифр :shock:

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

Myp писал(а):
каждый непрерывный отрезок лазерной линии(белая линия на чёрном фоне) окружаем виртуальным зелёным прямоугольником

Очень хочется увидеть быстрый алгоритм для этой задачи :oops:
Не использующий мой подход с набором чисел :oops:

Добавлено спустя 1 минуту 58 секунд:
Michael_K писал(а):
И... все же неясным остается алгоритм с линией или ИК-полосой
в условиях естественного окружения.

А в чем именно проблема? В естественном окружении нету полновесной ИК-засветки (иначе бы телевизор от пульта фигово работал ;)), поэтому создавая ИК-полосу мы её легко обнаружим в кадре. И по тому какой она формы, поймём, где перед нами препятствия и на каком примерно расстоянии.

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 93 ]  На страницу Пред.  1, 2, 3, 4, 5 ... 7  След.

Часовой пояс: UTC + 4 часа


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

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO