roboforum.ru

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

Сваял макетик - Камера + AVR

Re: Сваял макетик - Камера + AVR

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

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

Re: Сваял макетик - Камера + AVR

Сообщение Michael_K » 12 окт 2009, 16:57

Много левого в кадр попадает?

Да - особенно на дальнем плане.

Камеру пришлось градусов под 45 в пол мордой наклонить и она стоит на высоте
сантиметров 10 от пола.

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

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

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

Re: Сваял макетик - Камера + AVR

Сообщение contr » 12 окт 2009, 18:50

Берем одну строку пусть это будет ряд столбиков -
где цвет больше похож на цвет линии - столбик выше,
где менее похож - столбик ниже.
Можно найти общий центр тяжести ряда таких столбиков
- это будет усредненное положение "похожих на линию" пикселей.

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

Она у Вас исходно уже такая – это огибающая уровней строки.
Я изменяю ширину и положение центра такого "колокола" в зависимости…

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

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

Re: Сваял макетик - Камера + AVR

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

Michael_K писал(а):
Много левого в кадр попадает?

Да - особенно на дальнем плане.

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

Re: Сваял макетик - Камера + AVR

Сообщение executer » 12 окт 2009, 19:03

жуть, как все запущенно.
С этим понятно, Вы берете средний уровень по строке и от него пляшете, если пояснять не так заумно.
Она у Вас исходно уже такая – это огибающая уровней строки.


Вы немного не поняли и перепутали результат и исходные данные. А если не пояснять "так заумно" то почему бы не просто "МК ищет направление линии по изображению с камеры."? Вам и такой заумности не хватило...

Что если МК передает только вычесленные координаты линии - а ПК их хоть в 3Д отображает - это тоже незачет автономности??

Добавлено спустя 4 минуты 7 секунд:
а что если попробовать контрастность пользовать. контрастыне края брать с весовым коэффициентом Х , а чередующиеся фронты / и \ например 2Х - тогда всякие плавные переходы, тени уйдут на второй план.
Аватара пользователя
executer
 
Сообщения: 784
Зарегистрирован: 30 янв 2009, 01:24
Откуда: Запорожье
прог. языки: Си, AvrASM, STL, САС, учу Си++
ФИО: Павел

Re: Сваял макетик - Камера + AVR

Сообщение Michael_K » 12 окт 2009, 19:05

а вот когда снизу кадра начинается с середины - немного странно

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

Ну вот на той комповой модели (картиночка, которую я показывал)
- там как раз каждый кадр считался ка первый - то есть предполагалось,
что линия примерно в середине. Тем не менее он ее находит довольно уверенно
и смещенную (см картинку). А вот зигзаг как раз и получился из-за того, что
алгоритм пытается "продолжить" линию - поэтому скакнул в ту же сторону
от центра - в следующей строке увидел, что "перелет" и, типа, "исправился".

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

Re: Сваял макетик - Камера + AVR

Сообщение =DeaD= » 12 окт 2009, 19:10

Зигзаг совершенно не ясно как удаётся получить - может просто отсечку делать в этом диапазоне, а не умножать на колокол? Колокол конкретно смещает центр линии там, где мы могли его найти точно.

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

Re: Сваял макетик - Камера + AVR

Сообщение executer » 12 окт 2009, 19:15

затем чтобы если гдето сбоку черная клякса стоит локально - чтобы он сканируя очередную строку не решил что линия теперь совсем не там где была.

другое дело что наверно нужно менять ширину колокола в зависимости от предыдушего направления линии, ширины и т.д.
Аватара пользователя
executer
 
Сообщения: 784
Зарегистрирован: 30 янв 2009, 01:24
Откуда: Запорожье
прог. языки: Си, AvrASM, STL, САС, учу Си++
ФИО: Павел

Re: Сваял макетик - Камера + AVR

Сообщение Michael_K » 12 окт 2009, 19:20

другое дело что наверно нужно менять ширину колокола в зависимости от предыдушего направления линии, ширины и т.д.

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

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

Re: Сваял макетик - Камера + AVR

Сообщение contr » 12 окт 2009, 19:23

Вы немного не поняли и перепутали результат и исходные данные.

Так я и пытаюсь выяснить почему результат не соответствует исходным данным.
Зачем введены коэффициенты я понял. Значительно проще сразу ткнуть МК в нужные места конкретной картинки. Если правильно ввести эти коэффициенты, то даже камера не понадобится :ROFL:
contr
 
Сообщения: 987
Зарегистрирован: 17 апр 2009, 15:09
Откуда: Rostov-Don
Предупреждения: -1

Re: Сваял макетик - Камера + AVR

Сообщение =DeaD= » 12 окт 2009, 19:25

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

Re: Сваял макетик - Камера + AVR

Сообщение executer » 12 окт 2009, 19:29

нужно использовать контрастность и чередование ее знака как дополнительную информацию.

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

Добавлено спустя 2 минуты 43 секунды:
=DeaD= писал(а):contr: Вы какую-то фигню несете.

наверно какую-то смешную фигню.
contr писал(а): :ROFL:
Аватара пользователя
executer
 
Сообщения: 784
Зарегистрирован: 30 янв 2009, 01:24
Откуда: Запорожье
прог. языки: Си, AvrASM, STL, САС, учу Си++
ФИО: Павел

Re: Сваял макетик - Камера + AVR

Сообщение contr » 12 окт 2009, 19:33

contr: Вы какую-то фигню несете.

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

Re: Сваял макетик - Камера + AVR

Сообщение =DeaD= » 12 окт 2009, 19:39

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

Re: Сваял макетик - Камера + AVR

Сообщение contr » 12 окт 2009, 20:02

Элементарно! Вы видимо в алгоритме не разобрались :) Михаил накладывает размытую картинку - "ожидание" на реальную строчку. Если накладывать более четкий трафарет строки или просто "ожидание" на серое поле, то поимеем картинку там, где ее отродясь не было 8)
contr
 
Сообщения: 987
Зарегистрирован: 17 апр 2009, 15:09
Откуда: Rostov-Don
Предупреждения: -1

Пред.След.

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

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

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