Технический форум по робототехнике.
		
	
		 
	
		
			
			
				
				 Aseris » 22 фев 2011, 13:32 
			
			
	
			Предлагаю в данной теме обсуждать работу mini2440 + CMOS/USB камерой
Прочитав представленные в разделе темы наткнулся на упоминание запаздывания кадров до 0.5С с камеры идущей как аксессуар, хотя процессор имеет аппаратную часть отвечающую за работу  видео тормозить не должен...
В данный момент хочу прицепить камеру от Samsung E700 и гарантированно обрабатывать под линуксом 7-10 кадров в секунду. Вот думаю или придется использовать RT linux, или это все возможно будет реализовать на том что идет в комплекте с платой.
			
	 
	
	
		
			
			
				
				 Weekend » 22 фев 2011, 20:13 
			
			
	
			А каким образов в данной ситуации поможет RT Linux? Думаю, что ни как не поможет.
			
	 
	
	
		
			
			
				
				 Aseris » 23 фев 2011, 15:32 
			
			
	
			Тем чтоб гарантированно отрабатывать нужное количество кадров, ибо если например строится лайн трейсер на основе камеры, то как то не интересно чтобы он с запозданием отрабатывал изменение трассы перед обьективом.
Плюс я хочу синхронно с захватом кадров включать выключать например подсветку для хитрой фильтрации помех.. 
Может мне на первое время хватит обычного ядра с подправленным драйвером.
Зачем здесь ОС... лень самому писать работу с памятью, сетью, etc.
			
	 
	
	
		
			
			
				
				 Weekend » 23 фев 2011, 16:23 
			
			
	
			Но скорость отработки RT ни как не увеличит.
			
	 
	
	
		
			
			
				
				 Aseris » 24 фев 2011, 02:20 
			
			
	
			RT даст гарантированное время реакции а не увеличение производительности.
Столько людей на форуме имеют mini2440 + CMOS camera, и никаких отзывов, неужели никто не пробовал ничего?
			
	 
	
	
		
			
			
				
				 serg_io » 24 фев 2011, 19:53 
			
			
	
			И что есть уже портирвоаный RTLinux для S3C2440? Я сам пытался разобраться в этом вопросе, но так ничего толком и не нашел. RTAI нет готового под этот проц, пробовал PREEMPT_RT патч - грузится, но такие драйвера как SD/USB рубят ось намертво.
			
	 
	
	
		
			
			
				
				 Palachzzz » 19 мар 2011, 13:01 
			
			
	
			mini2440 + CMOS camera, и никаких отзывов, неужели никто не пробовал ничего?
Эмм.. пробовал на обычных QTopia, Debian и Gentoo запаздывание одинаково велико (0,5С), и не важно какой метод просмотра- на экран или транслирование в сеть.
При использовании MINI без ОС (test2440), запаздывания нет при выводе на экран.
 
			
	 
	
	
		
			
			
				
				 Aseris » 07 май 2011, 23:36 
			
			
	
			Пришла камера, дошли руки поэкспериментировать.
Родные дрова и софта под линукс что идет в комплекте с платой ужасно тормознутые, как говорил народ запаздывание налицо. Порывшись в интернете наткнулся на проектик 
http://code.google.com/p/s3c2440camera/Пересобрав ядро 2.6.32.2 с поддержкой камеры как модуль, плюс попутно выкинул все что мне ненужно(usb, SCSI.. etc) и включив поддержку ex2, ex3, reiserfs, jafs. Как читаем здесь 
http://roboforum.ru/forum96/topic8415.html и в нете
		
			
 ulinux.zip 
			- кому лень, или не знает как собрать, вот образ для u-boot
 
			- (1.87 МиБ) Скачиваний: 0
 
		
		 Все собиралось на Calculate Linux Roboforum Build, берем тут  
http://roboforum.ru/forum10/topic8216.htmlСкачиваем сорсы нового драйвера отсюда 
http://code.google.com/p/s3c2440camera/downloads/list, правим мейкфайл под наш огород: прописываем путь к собранному ядру, прописываем компилятор.
- Код: Выделить всё • Развернуть
 СС=armv4tl-softfloat-linux-gnueabi-gcc
...
KERNELDIR ?=/home/minin2440/kernels/linux-2.6.23.2
затем
make
make test_capture
вот ленивым:
		
			
 pack.zip 
			- модуль и тестовая программа
 
			- (15.45 КиБ) Скачиваний: 0
 
		
		 переписываем на наш rootfs файлы s3c2440camera.ko, test_capture
запускаем mini2440
пишем 
  insmod /s3c2440camera.ko
проверяем
 ./test_capture /dev/video1 320 240 testimg 10
В первых 3х файлах окажется мусор, видимо буферы камеры не заполнены. Потом имеем на выходе пары файлов ..._CbCr.PPM ..._Y.PGM
фреймрейт ~60fps
Простой программкой, в моем случае простым скриптом на матлабе смотрим что получилось, конвертируя из YCbCr в RGB
		
			
 
			-  Результат (защитная пленка не снята)
 
		
		 Следующий шаг вывести поток с камеры на фреймбуффер.
 
			
	 
	
	
		
			
			
				
				 Strijar » 08 май 2011, 12:44 
			
			
	
			Запаздывание скорей всего из-за буферизации. Так точно сделано для at91sam9 - выделяется нужное количестко буферов (по умолчанию для 4 кадров) и по кругу в них пишется - "с головы". По кругу же, но "с хвоста" читается. Вот и считайте если у вaс 7 fps то буфер из 4 кадров как раз и дает 0.5 сек. Но это справедливо если пользовать stream способ у v4l, если брать покадрово (capture) то задержки не будет, но это слегка медленней.
			
	 
	
	
		
			
			
				
				 Aseris » 08 май 2011, 13:54 
			
			
	
			На счет родной софты не знаю, ее авторы делится исходниками не захотели, а буферизация там по ощущениям в кадров 10 - 20
			
	 
	
	
		
			
			
				
				 Aseris » 20 май 2011, 00:40 
			
			
	
			Дошли руки до приложения выводящего кадры на фреймбуфер
запускаем 
./fb_teset /dev/video0 320 240 9что это за параметры программа рассказывает если ее без них запустить
"наслаждаемся" картинкой. 
Все еще где-то есть вредные буферы.. ибо тормоза поменьше но в несколько кадров есть... штуки 2-3... подозреваю что они прячутся в прослойке v4l2 между камерой и приложением ... 
Кто нибудь знает вменяемую ссылку на инфу по работе с v4l2?
 
			
	 
	
	
		
			
			
				
				 UncleSam » 30 авг 2011, 05:44 
			
			
	
			День добрый.
А трансляцию через сеть не пробовали осуществить?
Сейчас появилось свободное время, разбираюсь. Первым делом хочется попробовать видео на большого брата гнать.
			
	 
	
	
		
			
			
				
				 Michael7 » 21 янв 2013, 19:56 
			
			
	
			у меня задержка изображения от USB камеры 3-4 сек.
камеру считываю средствами OpenCV.
Ктото сталкивался с подобной проблемой, как решить?
пробовал считывать камеру этой библиотекой 
http://code.google.com/p/libv4l2cam/ , но не получается данные подогнать для отображения в OpenCV.