Перейти к содержанию
    

Скоростной АРМ - использование в качестве МК

Изображение обязательно обрабатывать ? Или в вашей задаче падают разные тела, и нужно обнаруживать тела определенного вида ? Простого пересечения телом светового лучика недостаточно ?

Да, нужно выделить объект, посчитать его размеры, найти степень поглощения ИК-излучения, а потом, в зависимости от размеров, формы и поглощения принять решение и "ловить" его или нет. А эти объекты будут сыпаться один за другим. А по пересечению светового лучика я начну фотографировать и отсчет времени для "ловли". Ну и надо, чтобы в кадр попал объект полностью, поэтому и думаю скоростную камеру и скоростной процессор, чтобы много кадров потоком обрабатывать, а среди них будут появляться нужные с объектом целиком.

 

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

И вопрос про подключение сенсора к АРМу я так и не понял - что кортекс М4, что А8 - у них "камера интерфейс", а у сенсоров LVDS - это одно и то же?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Линукс даже интересно бы запустить... ембеддед в смысле :) Я даже один раз пробовал отладочную плату запускать, даже скрипт писал на SH для общения с дисплейчиком по I2C, но это было давно и не считается. А вот как для линукса программу написать, в которой я буду с периферией общаться и как ее запустить при старте - я пока не понимаю.
работать с I2C в Linux не просто просто, а крайне просто, как раз на прошлой неделе этим занимался :)

запустить программу при старте? запросто... о какой периферии идет речь?

 

по любым вопросам на тему Embedded Linux ко мне в личку - подскажу всем чем смогу, я упоротый в этом плане :)

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Исходные данные. Нужно обрабатывать изображения падающего предмета раз 20 в сек. ...

А как это все делать для ARM Cortex-A8... И чтобы без всяких линуксов - принцип точно такой же, как обычный МК?

 

Я б на Вашем месте сначала реализовал это на большой машине с помощью готовых библиотек распознавания образов, затем, при положительном результате, разобрал и перенес нужные коды на микроконтроллер. Можно применить это: OpenCV (Open Source Computer Vision Library, библиотека компьютерного зрения с открытым исходным кодом).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я б на Вашем месте сначала реализовал это на большой машине с помощью готовых библиотек распознавания образов, затем, при положительном результате, разобрал и перенес нужные коды на микроконтроллер. Можно применить это: OpenCV (Open Source Computer Vision Library, библиотека компьютерного зрения с открытым исходным кодом).

 

Оно реализовано, но для Виндоуз и кажется не на сишных библиотеках...

 

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

...

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

Линукс ничего не делает "лишнего". Какие сервисы вы запустили на нём, те и будут работать. Не нужны никакие сервисы - отключайте их напрочь. Единственное что останется - 100 Раз в секунду будет вызываться планировщик. Если планировать нечего, то он никакого процессорного времени не сожрёт. Переключение контекста происходит достаточно быстро (десятки тактов). Итого мимо вашей программы пройдёт максимум 0,01%. Понятно, что драйвера периферии будут отжирать время. Но если без ОС, то всё-равно будут драйвера и будут жрать соизмеримое количество ресурсов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Линукс ничего не делает "лишнего". Какие сервисы вы запустили на нём, те и будут работать. Не нужны никакие сервисы - отключайте их напрочь. Единственное что останется - 100 Раз в секунду будет вызываться планировщик. Если планировать нечего, то он никакого процессорного времени не сожрёт. Переключение контекста происходит достаточно быстро (десятки тактов). Итого мимо вашей программы пройдёт максимум 0,01%. Понятно, что драйвера периферии будут отжирать время. Но если без ОС, то всё-равно будут драйвера и будут жрать соизмеримое количество ресурсов.
согласен с подобными оценками, но лишь частично, не могу поверить что там меньше процента кушается (хотя Linux известен тем что не кушает лишнего проца)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

согласен с подобными оценками, но лишь частично, не могу поверить что там меньше процента кушается (хотя Linux известен тем что не кушает лишнего проца)

Как раз на днях знакомился с подсистемой времени в Linux.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

не могу поверить что там меньше процента кушается (хотя Linux известен тем что не кушает лишнего проца)

 

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

Mem: 6964K used, 52984K free, 0K shrd, 0K buff, 1476K cached

CPU: 0% usr 0% sys 0% nic 99% idle 0% io 0% irq 0% sirq

Load average: 0.00 0.00 0.00 1/27 495

PID PPID USER STAT VSZ %VSZ %CPU COMMAND

494 486 root R 2216 4% 1% top

470 1 root S 2268 4% 0% /lib/udev/udevd -d

486 1 root S 2216 4% 0% -sh

1 0 root S 2136 4% 0% init

467 1 root S 2136 4% 0% /sbin/klogd

465 1 root S 2136 4% 0% /sbin/syslogd -m 0

5 2 root SW 0 0% 0% [khelper]

3 2 root SW 0 0% 0% [ksoftirqd/0]

2 0 root SW 0 0% 0% [kthreadd]

4 2 root SW 0 0% 0% [events/0]

8 2 root SW 0 0% 0% [async/mgr]

165 2 root SW 0 0% 0% [sync_supers]

167 2 root SW 0 0% 0% [bdi-default]

169 2 root SW 0 0% 0% [kblockd/0]

179 2 root SW 0 0% 0% [khubd]

200 2 root SW 0 0% 0% [rpciod/0]

233 2 root SW 0 0% 0% [kswapd0]

234 2 root SW 0 0% 0% [aio/0]

235 2 root SW 0 0% 0% [nfsiod]

236 2 root SW 0 0% 0% [crypto/0]

Изменено пользователем sasamy

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Оно реализовано, но для Виндоуз и кажется не на сишных библиотеках...

 

 

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

Надо начать на модели с обычным ПК, камерой и отладить (Отлаживать легче). А перенести это уже совсем другой менее итеративный процесс отладки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...