• Добро пожаловать на Черная дыра.
 

ОКБ "ПионЭр"

Автор Александр Геннадьевич Шлядинский, 24.11.2008 23:06:13

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

чайник17

Цитировать
Цитировать
ЦитироватьВозьмем видео камеру 640х480, расстояние 200м. Грубо так поле зрения 320х240м, каждый пиксел получается размером 0.5х0.5м.
И зачем это ? Что мешает уменьшить расстояние до 100 м, или увеличить фокусное расстояние в два раза? Пиксел будет 0.25 м.
По многим причинам желательно чтобы вся траектория - от старта до апогея и обратно - т.е. 200м+  должна влезать в кадр.

А откуда 200 м? Вот что заказчик писал:

ЦитироватьУточняю данные для проектирования: Высота траектории с запасом до 100 м. Ширина зоны обзора из правила, что полет считается успешным, если отклонение от вертикали не превышает 15 градусов. Точность устроит +- 0,5 м (если лучше, то лучше  :D ) Размеры модели 40х500 мм + площадь стабилизаторов порядка 20 см2. Возможна установка светоотражающих маркеров (наклейки из светоотражающей пленки).

Камеру естественно повернуть длинной стороной кадра вертикально.

Даже при формате 9:16 atan(4.5/16)=15.7 град что больше заказанных 15 град. Ну может чуть надо запас взять отодвинув камеру.

Конечно, заказчики обычно путаются в показаниях, но уж уточнил так уточнил.

ДмитрийК

ЦитироватьА откуда 200 м? Вот что заказчик писал:
Виноват, ошибся. Действительно 100м. Заказчик всегда прав :)

Но это не спасает отца русской демократии. Пиксел у нас теперь 25см, ну пусть даже 15. По высоте допустим перекрывает ракету целиком с запасом, но по ширине - какой у нас там диаметр ракеты - 4см? Соответственно покрывается 1/4 площади пиксела. А если она на границу между пикселами попадет - еще надо делить на два. Ну может в лабораторных условиях, когда все остальные факторы сведены на нет, ну может быть. А тут - "война в крыму, все в дыму" - нее, такую "цель" я бы ловить не хотел.

чайник17

ЦитироватьДаже если скромно взять 1280x1024x8бит 4:2:2 = 2МБ * 25fps = 50МБ/сек * 30 сек = 1.5ГБ :(

И что же скромного в 25fps ? Если мы возьмём 10fps - 10 кадров в секунду, то при полном невезении мы получим кадр, отстоящий от апогея на 0.05 ceк. Соответственно, ошибка будет примерно gt^2/2 ~= 12 мм. Это при запрошеной точности 0.5 м и размере пиксела около 8 см и полном отсутствии динамической модели полёта.

А при 10 кадрах в секунду и размере кадра 2 MB поток будет только 20 MB/s. Сейчас продаётся flash со скоростью записи 45 MB/s (300x).

Настрел

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

чайник17

Цитироватьда еще одна из 3-х камер наверняка будет смотреть против солнца - это увы фантастика.

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

Две камеры под углом 90 гр. - все что нужно. Солнце примерно на биссектрисе угла камера - старт - камера.

чайник17

Цитировать
ЦитироватьА откуда 200 м? Вот что заказчик писал:
Виноват, ошибся. Действительно 100м. Заказчик всегда прав :)

Но это не спасает отца русской демократии. Пиксел у нас теперь 25см, ну пусть даже 15. По высоте допустим перекрывает ракету целиком с запасом, но по ширине - какой у нас там диаметр ракеты - 4см? Соответственно покрывается 1/4 площади пиксела. А если она на границу между пикселами попадет - еще надо делить на два. Ну может в лабораторных условиях, когда все остальные факторы сведены на нет, ну может быть. А тут - "война в крыму, все в дыму" - нее, такую "цель" я бы ловить не хотел.

Ну я же раньше писал:

ЦитироватьРакета у нас 0.04 м на 0.5 м и разглядеть её можно будет только огромным трудом. С учётом сжатия в обычных web-cam днём без дыма вообще нереально.
Можно ночью с подсветкой прожектором или со светодиодным фонариком или магний жечь. Красиво, но не практично.

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

Эх, поздно я спохватился. В воскресенье будут соревнования. В принципе можно будет поснимать запуски моделей ка камеру, мол что видно. Только нужна некоторая подготовка, а время упущено. На дурачка конечно может прокатить...
При сопровождении объекта отследить полет на видео вполне возможно, а вот в полный рост пока не пробовали, задача такая не стояла.
КАКТОТАК
----------------------------
Моделью ракеты можно достичь модели Марса

Bell

CC1000
Простейший ультрамаломощный приемопередатчик, ориентированный для применения в беспроводных системах близкого расстояния в диапазонах частот: 315/433/868/915 МГц

http://www.trt.ru/products/chipcon/cc2400.htm

ОДНОЧИПОВЫЙ.
Стоит 140 баксов.


Даташит
http://focus.ti.com/lit/ds/symlink/cc1000.pdf


Остальные аналоги:
http://www.trt.ru/products/chipcon/chipcon.htm
Иногда мне кажется что мы черти, которые штурмуют небеса (с) фон Браун

ДмитрийК

Да, вы правы. Признаю свою ошибку. Отстал от жизни. Динозавр. :)

Всего-то было надо посмотреть в инструкцию от своей камеры Canon EOS 400D.
Или вот здесь, результаты тестирования на скорость непрерывной съемки:
http://www.kate-harris.co.uk/continuous-shooting-on-the-canon-eos-400d-10
ЦитироватьOne Shot Mode
    * Max duration of continuous shooting - approx 14 secs
    * Number of photos taken - 34 photos
    * Photos per sec - 2.42 photos per sec
Последние пол-метра ракета пролетает вверх и вниз за 0.6 сек. Т.е. в требования укладываемся.  14 секунд тоже достаточно (впритык).
Разрешение 3,888 x 2,592 т.е. на 100м по длинной стороне получаем пиксел со стороной 2.5 см. С этим уже вполне можно работать.
Камеры поновее и подороже в которых есть UDMA (EOS 50D например) могут и лучше.

К сожалению, если камера находится в 100м от места старта, т.е. верхнюю точку траектории мы видим под углом 45гр, то отклонение +/- 15м от траектории вызовет такую же погрешность определения высоты. Погрешность снижается по мере удаления камеры от места старта, но все равно остается неприемлимо большой. Проблему можно решить съемкой 2мя камерами одновременно с разных углов. Поскольку камеры не синхронизированы (и непонятно получится ли это сделать) то всю траекторию не восстановить, но точку апогея можно идентифицировать на каждой камере отдельно и потом свести воедино. Нужно только чтобы каждая камера видела по крайней мере 2 метки с известными координатами (плюс координаты самой камеры). Должно работать. Не в реал-тиме конечно но можно провернуть достаточно быстро чтобы в конце огласить результаты. Хммм. Любопытно...

Vadim

Существует ПДУ для Canon, как ИК, так и проводные ими можно синхронизировать две камеры.

чайник17

ЦитироватьПоскольку камеры не синхронизированы (и непонятно получится ли это сделать)

RTFM ещё немного. Точнее, google Canon SDK remote shooting или что-нибудь похожее. Большинство сколь-нибудь серьёзных камер могут снимать по команде от компьютера, через USB. Включая Canon 400D.

Ну уж а компьютеры синхронизовать можно. Вопрос только в точности синхронизации.

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

ДмитрийК

ЦитироватьСуществует ПДУ для Canon, как ИК, так и проводные ими можно синхронизировать две камеры.
Логично. Я тоже сначала написал а потом о том же самом подумал :)
Еще надо посмотреть наскольо точно выдерживается период между кадрами. Он силньно зависит от настроек (если верить тому что пишут) что дает основания предполагать что он определяется загрузкой CPU.  Может это и не проблемаб не знаю. Потом в EXIFе есть дата/время, если они там с достаточной точностью, то по первому кадру можно привязать все остальные. Правда провод придется тянуть через толпу метров на 300 :) или какие-то радиопередатчики/приемники мудрить. Но это все решаемо при желании.

PS: Я по натуре оптимистичный пессимист и всегда пытаюсь найти как можно больше проблем сразу, чтобы потом об них не спотыкаться.
И в своих идеях и в чужих, что иногда людей напрягает. :)

А вообще я согласен - работать должно и не так все сложно.

чайник17

ЦитироватьЕще надо посмотреть наскольо точно выдерживается период между кадрами. Он силньно зависит от настроек (если верить тому что пишут) что дает основания предполагать что он определяется загрузкой CPU.  Может это и не проблемаб не знаю.
При внешнем запуске это не проблема. Главное, чтобы предыдущий кадр успел обработаться.
Цитироватькакие-то радиопередатчики/приемники мудрить.
WiFi обычный поставить. Если 802.11g, то ещё один компьютер посередине нужен. Если 802.11n, то так должен дотянуть.

Заодно обмен данными будет обеспечивать.

чайник17

ЦитироватьПоскольку камеры не синхронизированы (и непонятно получится ли это сделать) то всю траекторию не восстановить...

Попытаюсь объяснить, почему это в первом приближении неверно.

Для первой камеры, каждый кадр задаёт луч в пространстве, выходящий из точки расположения камеры.

Если мы не можем точно синхронизовать вторую камеру, мы имеем набор лучей, выходящих из точки расположения второй камеры (упорядоченых во времени). Если мы их интерполируем, получим некую поверхность (обобщённый конус). Это поверхность пересекается с лучём от первой камеры, давая координаты ракеты для каждого кадра первой камеры. Пересечений обычно будет два, но легко определить, какое их них даёт реальную точку нахождения ракеты.

чайник17

ЦитироватьЭх, поздно я спохватился. В воскресенье будут соревнования. В принципе можно будет поснимать запуски моделей ка камеру, мол что видно. Только нужна некоторая подготовка, а время упущено. На дурачка конечно может прокатить...
При сопровождении объекта отследить полет на видео вполне возможно, а вот в полный рост пока не пробовали, задача такая не стояла.

Непонятно, какая такая особая подготовка нужна. Обычная видео камера не подойдёт, нужен разумный фотоаппарат или HD видеокамера. Обязательна ручная фокусировка или удержание автофокусировки при сдвиге кадра.

Снимать удерживая точку старта всё время в кадре (внизу посередине). Расстояние подобрать, чтобы ракета не вылетала из кадра.

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

STS

ЦитироватьЕще раз про лазерные дальномеры:
Лазерный луч модулирован достаточно высокой частотой. На входе после фотоприемника стоит фильтр на эту же частоту. Только за счет этого получается отделить мух от котлет[/size] сигнал от шума. Камера лазерный зайчик с 200м не разглядит, НННШ. Сравните размер пихела с размером зайчика и вам все станет ясно. Минимальная цель - размером с зайчик от лазера, да только хрен в нее попадешь :(

Не пойму в чем проблема. Когда дешевые китайские лазерные указки появились у нас, я естественно захотел посмотреть расхождение луча. Пятно от лазера размером с блюдце спокойно видно на расстоянии метров 300та в детский бинокль с пластмассовыми линзами образца 75 года, и заметьте, без всяких фильтров. Я же предлагал оный фильтр поставить (на камеру), что существенно упростит выделение данных из кадра.
Но, лазеры видимого диапазона, лучше не использовать, остаются инфракрасные, они дешевле, но менее точные и камеру для них еще поискать.
!

ДмитрийК

ЦитироватьПопытаюсь объяснить, почему это в первом приближении неверно.
А знаете,  Чайник,  со мной спорить неинтересно потому что я опять с вами соглашусь :) Все верно. То есть верно что неверно в первом приближении. :) В смысле работать будет. :)

ДмитрийК

ЦитироватьНе пойму в чем проблема.
Я извиняюсь, может не очень хорошо понял изначальную идею.
Т.е. камера у нас движется или нет? Если нет, то это уже обсуждалось, даже с случае камеры с высоким разрешением 4000х3000 ракета на максимальном удалении будет выглядеть такой черточкой 2-3 пиксела в ширину. Какую сетку на ней можно углядеть - непонятно.

С другой стороны, если камера подвижная, то можно взять объектив с хорошим зумом, и ракета будет видна хорошо. Но: если камера движется вместе с лазером (лазер жестко привинчен сверху), то сетка в кадре будет неподвижной, никакой пользы от нее не будет. Если же камера и лазер движутся независимо (типа камера наводится грубо и затем по результатам распознавания сетки лазер наводится точно) - то это уже на мой взгляд через край.

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

Или я совсем ничего не понял (такое бывает) и лазер закреплен неподвижно и формирует в пространстве сетку с шагом 1 метр от 0 до 100м в высоту и +/-сколько-то метров по горизонтали, а камера крутится? Но тогда лазер не заработает как дальномер...

Поясните пожалуйста если не затруднит.

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

ДмитрийК

Цитировать
ЦитироватьЭх, поздно я спохватился. В воскресенье будут соревнования. В принципе можно будет поснимать запуски моделей ка камеру, мол что видно. Только нужна некоторая подготовка, а время упущено. На дурачка конечно может прокатить...
При сопровождении объекта отследить полет на видео вполне возможно, а вот в полный рост пока не пробовали, задача такая не стояла.

Непонятно, какая такая особая подготовка нужна. Обычная видео камера не подойдёт, нужен разумный фотоаппарат или HD видеокамера. Обязательна ручная фокусировка или удержание автофокусировки при сдвиге кадра.

Снимать удерживая точку старта всё время в кадре (внизу посередине). Расстояние подобрать, чтобы ракета не вылетала из кадра.

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

STS

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

Повтор:
1. Лазер закреплен на камере
2. Камера подвижная
3. И зуум тоже используется

Зачем сетка? для увеличения пятна, желательно 1м на 1м (имхо)
И все же зачем?
Ситуация - Без сетки - с малым пятном от лазера, т.е., например 3 см корпуса ракеты "освещено" лазером - камера смотрит на ракету - на ракете пятно лазера - на камере фильтр на частоте лазера - камера видит черточку в 3 см - так? - далее - ракета стартует - корпус движется вверх - лазер "смотрит" в тоже место - черточка "бежит" по корпусу ракеты - камера видит черточку в томже месте кадра - ОНА НЕ ЧУЕТ ЧТО РАКЕТА ДВИЖЕТСЯ!!!.
Че делать? надо увеличить пятно до размера больше чем ракета, желательно с запасом ибо ракета стартует так что глазами сложно уследить. т.е. чтобы при максимальном ускорении ракеты за время между кадрами не успела вылететь из пятна и при обработке следующего кадра камера успела заметить что ракета летит и в какую сторону.

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

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

кароче полный анрил для ракетомодельного кружка.

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

хотя на тему лидар надо посмотреть.
!