[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 390: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
LabVIEW Portal • View topic - Определение координат снимаемых объектов.

Определение координат снимаемых объектов.

Делись идеей, получай поддержку и критику!

Определение координат снимаемых объектов.

Postby Sergey Ivanov on 03 May 2013, 13:47



Это небольшая система, которая позволяет определить координаты и «скорость» снимаего объекта на веб камеру.
Узнал, что существуют подобные системы и решил сделать нечто своё. Но так так бюджет у меня ограничен и делается исключительно ради интереса, то и реализация крайне простая и бюджетная .
Идея крайне простая: зная свои координаты (географические), высоту, откуда ведётся съемка, угол наклона оси объектива в вертикальной плоскости (тангаж), угол поворота оси объектива в вертикальной плоскости (курс).
Откуда же мы возмём все эти данные ? Тут не всё так сложно, но давайте разберёмся по порядку.


координаты. Их можно получить, подключив GPS приёмник. но ввиду лени подключения и постоянного нахождения на одном месте, я отказался от этой затеи, а просто взял координаты из яндекс карт и использовал их;
высота. Тут немного было сложнее. Для определения высоты я использовал датчик давления (абсолютного);
угол наклона в вертикальной плоскости (тангаж). Для этого я использовал ранее испытанный алгоритм. Но о нём ниже;
угол поворота в горизонтальной плоскости (курс). см. пункт выше

Географические координаты.
По первому тут всё понятно, останавливаться на нём не буду.

Высота.
Для определения высоты использован аналоговый датчик давления MPX4115A. Он подключен к 16-ти битному АЦП. Данные с АЦП я пересчитываю сначала в кПа, а потом в высоту (считая, что температура 20 градусов).
На видео ниже на дисплее отображаются данные с АЦП, в зависимости от высоты. Чем больше высота, тем меньше напряжение с датчика давления и тем меньше отображаемое число.



Вот второе видео. Здесь уже я провёл пересчёт данных с АЦП в высоту (в метрах). При этом, параллельно соединил воздушные магистрали механического (со стрелкой) и своего самодельного электронного высотомера. number – значение высоты в единицах АЦП (АЦП 16 бит), alt – высота в метрах.



Углы ориентации.

С углами тоже вроде не сложно. Тем более что алгоритм был у меня уже ранее реализован (данную [url=http://ru.wikipedia.org/wiki/Инерциальная_навигация]ИНС[/url] использовал в другом проекте ). Исходными данными для определения углов есть данные с 3-х осевого гироскопа L3G4200 и свомещённого датчика (акселерометр + магнетометр) LSM303DL. В общем, после некоторых манипуляций можно получить 3 угла ориентации платы или объекта, куда установлена плата, относительно земли – курс (0-360 градусов), крен (-180 – +180 градусов), тангаж (-90 – +90 градусов).
2.png


В динамике всё это выглядит примерно так:


Комплексирование исходных данных.

Когда все данные есть они поступают в ЭВМ ( в персональный компьютер). Там я написал небольшую программку, которая берёт изображение с веб камеры, накладывает на него некоторые исходные данные и вычисленные данные. И сохраняет такое изображение раз в две секунде.

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

1. Зная высоту и угол относительно осью веб камеры и горизонтом можем определить дальность до снимаемого объекта на «нулевой» высоте. a – угол, h – высота, D – дальность «по земле».
1.png

2. Зная дальность «по земле» и направление оси камеры относительно географического севера определяем «проекции» этой дальности на широту и долготу;
3.Зная широту узнаём насколько проекция на долготу сместит начальную координату по долготе;
4. Зная широту узнаём насколько проекция на широту сместит начальную координату по широте;
5.Прибавляем пересчитанные проекции в градусы к соответствующим координатам начальной точки (от куда ведётся съёмка);
6. Опеделение скорости. Я сделал следующим образом: брал соседние по времени ( с разницей 1 секунда) вычисленные координаты снимаемого объекта. Вычислял расстояние между этих координат и,с оответственно, определял скорсоть между этими точками. НО время надо было больше брать 2-3 секунды. НО можно было вычислять скорость используя другие данные. Возожно, точность определения скорости была бы выше. Может, кто-нибудь напишет в комментариях что я имел в виду ? ;)

Внешний вид устройства
webcamera-INS.jpg

webcamera-INS-2.jpg
Добро пожаловать на http://rk-stud.ru/
User avatar
Sergey Ivanov
expert
expert
 
Posts: 1174
Joined: 01 Mar 2009, 20:54
Location: Санкт-Петербург, Кронштадт
Medals: 5
Activity (1) Professionalism (1) Gold (2) Автор (1)
LabVIEW Version: 2013
Karma: 117
hardware VIP

Re: Определение координат снимаемых объектов.

Postby Sergey Ivanov on 03 May 2013, 13:55

Результаты

На снимке ниже отображены координаты места от куда велась съемка (координаты метки), на последующих кадрах центр карты – координаты снимаемого объекта. К скрину карты из яндекс карт прилагается фотка снимаемого объекта.
11.png


Первая точка.
3.png

2013-04-14_13-43-38.png


Вторая точка.

4.png

2013-04-14_13-46-02.png


Третья точка.
6.png

2013-04-14_13-44-07.png


вы можете скачать остальные фотографии.(45,9 Мб).

Из всех фотографий смонтировал видеоролик:


Выводы

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


Спасибо форуму, а также griffinru . :thank:
Добро пожаловать на http://rk-stud.ru/
User avatar
Sergey Ivanov
expert
expert
 
Posts: 1174
Joined: 01 Mar 2009, 20:54
Location: Санкт-Петербург, Кронштадт
Medals: 5
Activity (1) Professionalism (1) Gold (2) Автор (1)
LabVIEW Version: 2013
Karma: 117
hardware VIP

Re: Определение координат снимаемых объектов.

Postby Evgenykov on 07 Nov 2016, 23:28

Сергей, добрый день:)
У меня в университете преподаватель поставил похожую задачу с Вашей работой...
Моя курсовая работа: "Определение скорости движения объекта при помощи NI Vision".
Сказали, что пользоваться будем обычной веб-камерой ноутбука, объектом для измерения скорости может быть, что угодно, хоть игрушечная машинка.
Поможете с этим? Готов дать небольшое вознаграждение за эту работу, т.к. сам полный чайник в этом :suicide: )))
Буду рад даже если Вы дадите посмотреть хоть как составлена Ваша схема :help: :help: :help:
Evgenykov
interested
interested
 
Posts: 2
Joined: 07 Nov 2016, 23:09
LabVIEW Version: 5.1
Karma: 0

Re: Определение координат снимаемых объектов.

Postby Sergey Ivanov on 08 Nov 2016, 23:10

Здравствуйте.
А что за объект и на каком расстоянии от камеры находится ? В версии 5.1. есть NI Vision ? Обязательно ли его использовать , или можно без него ?
----------
И да, могу сделать, но вознаграждение понадобится большое, т.к время я своё ценю.
Или можете тему завести , в которой я, или другие форумчане вам помогут. Бесплатно будет и знаний приобретёте :wink:
Добро пожаловать на http://rk-stud.ru/
User avatar
Sergey Ivanov
expert
expert
 
Posts: 1174
Joined: 01 Mar 2009, 20:54
Location: Санкт-Петербург, Кронштадт
Medals: 5
Activity (1) Professionalism (1) Gold (2) Автор (1)
LabVIEW Version: 2013
Karma: 117
hardware VIP

Re: Определение координат снимаемых объектов.

Postby Evgenykov on 09 Nov 2016, 00:13

Сергей, добрый вечер)
Вроде дополнительно установился NI Vision
О какой сумме вознаграждения идет речь?)

Объект будет находится максимум в полуметре от камеры
Evgenykov
interested
interested
 
Posts: 2
Joined: 07 Nov 2016, 23:09
LabVIEW Version: 5.1
Karma: 0

Re: Определение координат снимаемых объектов.

Postby Sergey Ivanov on 09 Nov 2016, 06:15

Добро пожаловать на http://rk-stud.ru/
User avatar
Sergey Ivanov
expert
expert
 
Posts: 1174
Joined: 01 Mar 2009, 20:54
Location: Санкт-Петербург, Кронштадт
Medals: 5
Activity (1) Professionalism (1) Gold (2) Автор (1)
LabVIEW Version: 2013
Karma: 117
hardware VIP

Re: Определение координат снимаемых объектов.

Postby dadreamer on 09 Nov 2016, 09:44

User avatar
dadreamer
doctor
doctor
 
Posts: 2924
Joined: 17 Feb 2013, 16:33
Medals: 4
Activity (1) Professionalism (1) Автор (2)
LabVIEW Version: 2.5 — 2017
Karma: 711
I/O VIP vision internet


Return to Проекты

Who is online

Users browsing this forum: No registered users and 1 guest

cron