Easyelectronics.ru

Электроника для всех
Текущее время: 24 янв 2021, 11:45

Часовой пояс: UTC + 5 часов



JLCPCB – Прототипы печатных плат за $2/5шт. два слоя. $5/5шт. четыре слоя
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 13 ] 
Автор Сообщение
 Заголовок сообщения: Обработка жестов с помощью ультра звукового дальномера
СообщениеДобавлено: 21 апр 2016, 23:16 
Старожил
Аватара пользователя

Зарегистрирован: 15 мар 2010, 00:39
Сообщения: 249
Откуда: Украина, Львов
Есть задача обработать несколько жестов, даже не жестов, а взмахов руками, перед китайским ультразвуковым дальномером.
Дальномер серии HC-SR04
Микроконтролер Atmega328
Язик Си.

Конкретно задача такова. Машу раз возле дальномера, виходить одно событие. Машу два раза, тоесть туда - обратно, ето другое событие. Дальность дальномера ограничел до пол метра. То есть в диапазоне 50 см нужно ловить взмахи. Проблема в том что немогу четко обработать взмахи туда - обратно.
Частота опроса дальномера примерно 20Гц. Время за которое нужно обработать жесты 1 сек.
У кого какиу идеи?

_________________
Изображение


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обработка жестов с помощью ультра звукового дальномера
СообщениеДобавлено: 21 апр 2016, 23:46 
Старожил
Аватара пользователя

Зарегистрирован: 27 мар 2015, 04:10
Сообщения: 1931
Откуда: Харьков
Я бы делал такое примерно так - один "поток" постоянно отслеживает расстояние с достаточно большой периодичностью и обновляет текущее состояние (выставляет соответствующее значение переменной). При этом, если датчик глюкавый, то нужно делать аппроксимацию нескольких последних измерений чтоб было все гладко.
Второй "поток" это конечные автоматы. По набору правил проходим цепочку и если все условия одного из КА удовлетворяются, то профит - мы поймали действие.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обработка жестов с помощью ультра звукового дальномера
СообщениеДобавлено: 22 апр 2016, 10:36 
Старожил
Аватара пользователя

Зарегистрирован: 29 янв 2010, 15:41
Сообщения: 1127
Откуда: Германия
alexsam писал(а):
...с достаточно большой периодичностью...

Эта фраза не подходит к HC-SR04. Сам производитель рекомендует не чаще чем через 60 мс давать импульс измерения.

_________________
Мои поделки
http://www.fun-electronic.net/


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обработка жестов с помощью ультра звукового дальномера
СообщениеДобавлено: 22 апр 2016, 12:39 
Старожил
Аватара пользователя

Зарегистрирован: 27 мар 2015, 04:10
Сообщения: 1931
Откуда: Харьков
MasterAlexei писал(а):
alexsam писал(а):
...с достаточно большой периодичностью...

Эта фраза не подходит к HC-SR04. Сам производитель рекомендует не чаще чем через 60 мс давать импульс измерения.

Ну 16 раз в сек. вполне для жестов. 4-5 последних выборок для аппроксимации.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обработка жестов с помощью ультра звукового дальномера
СообщениеДобавлено: 22 апр 2016, 12:52 
Старожил
Аватара пользователя

Зарегистрирован: 15 мар 2010, 00:39
Сообщения: 249
Откуда: Украина, Львов
MasterAlexei писал(а):
alexsam писал(а):
...с достаточно большой периодичностью...

Эта фраза не подходит к HC-SR04. Сам производитель рекомендует не чаще чем через 60 мс давать импульс измерения.

MasterAlexei привет! Я когда то давно-давно из вашего сайта делал схему ламинатора для лута ))
Да, я запустил датчик на 20Гц. Даже если чаще запускать, данние вроде норм.

_________________
Изображение


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обработка жестов с помощью ультра звукового дальномера
СообщениеДобавлено: 22 апр 2016, 12:55 
Старожил
Аватара пользователя

Зарегистрирован: 15 мар 2010, 00:39
Сообщения: 249
Откуда: Украина, Львов
alexsam писал(а):
MasterAlexei писал(а):
alexsam писал(а):
...с достаточно большой периодичностью...

Эта фраза не подходит к HC-SR04. Сам производитель рекомендует не чаще чем через 60 мс давать импульс измерения.

Ну 16 раз в сек. вполне для жестов. 4-5 последних выборок для аппроксимации.


А можна вас попросить нарисовать что ли, или описать поподробней ваш алгоритм. Воображение не работает совсем.

_________________
Изображение


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обработка жестов с помощью ультра звукового дальномера
СообщениеДобавлено: 22 апр 2016, 14:31 
Старожил
Аватара пользователя

Зарегистрирован: 03 сен 2010, 22:46
Сообщения: 6158
Откуда: Москва
Если у кого-то получится с данным датчиком распознавать жесты - дайте знать. Это интересно, поскольку датчик вообще для этого не предназначен.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обработка жестов с помощью ультра звукового дальномера
СообщениеДобавлено: 22 апр 2016, 15:11 
Старожил
Аватара пользователя

Зарегистрирован: 27 мар 2015, 04:10
Сообщения: 1931
Откуда: Харьков
Leon11t писал(а):
А можна вас попросить нарисовать что ли, или описать поподробней ваш алгоритм. Воображение не работает совсем.

Блок схему рисовать лень, поэтому опишу.
Я с датчиками этими не работал и всех тонкостей не знаю, но алгоритм подойдет для любого датчика. В теории:
поток 1 (опрос датчика):
1) запрос датчика
2) запись результата в FIFO
3) если в FIFO больше 2х значений то аппроксимируем их (гру можно вычислить среднее).
4) запись результата в переменную distance.
5) goto 1)

поток 2 (распознавание жеста)
0) инициализация Tgesture1 = 0, startTime = 0, gesture1Complete = false, Tgesture1Complete = 0
1) если distance находится в заданном диапазоне (в той области измерений где должна быть рука) и startTime = 0
1.1) засекаем "время" в переменной startTime
1.2) выставляем Tgesture1 = 0
2) если distance находится в заданном диапазоне и startTime != 0
2.1) увеличиваем Tgesture1
2.2) если Tgesture1 > N (рука сильно долго находится над датчиком) то Tgesture1 = 0, startTime = 0.
3) если distance = бесконечность (ну или что там вернет датчик когда руку уберут) И startTime != 0 И Tgesture1 < N
3.1) считаем что рукой провели за отведенное время, устанавливаем startTime = 0, gesture1Complete = true, Tgesture1Complete = 0
4) если gesture1Complete = true
4.1) увеличиваем Tgesture1Complete
4.2) если Tgesture1Complete > отведенного таймаута между жестами, то
4.3) считаем что был только один жест, выполняем сброс Tgesture1Complete = 0, gesture1Complete =false выполняем наши действия для жеста 1.
5) если gesture1Complete И Tgesture1Complete < таймаута между жестами, то
5.1) тут примерно такой же алгоритм для второго жеста.
...........................
5.х) выполняем действия для жеста №2
нужно добавить еще жестов в цепочке? добавляем еще переменных gestureXComplete и таймаутов.

Это конечно не совсем КА, но близко к нему.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обработка жестов с помощью ультра звукового дальномера
СообщениеДобавлено: 22 апр 2016, 15:50 
Старожил
Аватара пользователя

Зарегистрирован: 15 мар 2010, 00:39
Сообщения: 249
Откуда: Украина, Львов
akatenev писал(а):
Если у кого-то получится с данным датчиком распознавать жесты - дайте знать. Это интересно, поскольку датчик вообще для этого не предназначен.

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


Как их гуглить?

_________________
Изображение


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обработка жестов с помощью ультра звукового дальномера
СообщениеДобавлено: 22 апр 2016, 16:31 
Старожил
Аватара пользователя

Зарегистрирован: 26 янв 2010, 21:48
Сообщения: 3965
Откуда: Звенигород
VL6180X, TMG399x

_________________
От Парижа до Находки с водкой лучше, чем без водки!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обработка жестов с помощью ультра звукового дальномера
СообщениеДобавлено: 07 июл 2016, 14:51 
Заглядывает иногда

Зарегистрирован: 11 окт 2011, 15:52
Сообщения: 131
Диаграму направленности посмотрите.
Жесты ловить им не так-то просто.
Буду с интересом следить за темой.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обработка жестов с помощью ультра звукового дальномера
СообщениеДобавлено: 11 июл 2016, 10:10 
Старожил

Зарегистрирован: 26 июл 2015, 12:24
Сообщения: 660
Leon11t писал(а):
Есть задача обработать несколько жестов, даже не жестов, а взмахов руками, перед китайским ультразвуковым дальномером.
Дальномер серии HC-SR04
Микроконтролер Atmega328
Язик Си.

Конкретно задача такова. Машу раз возле дальномера, виходить одно событие. Машу два раза, тоесть туда - обратно, ето другое событие. Дальность дальномера ограничел до пол метра. То есть в диапазоне 50 см нужно ловить взмахи. Проблема в том что немогу четко обработать взмахи туда - обратно.
Частота опроса дальномера примерно 20Гц. Время за которое нужно обработать жесты 1 сек.
У кого какиу идеи?

Если используется только один датчик ультразвука,то Вы имеете возможность иметь только график изменения дальности до цели во времени.Если предположить,что между рукой и датчиком нет препятствий-помех,и рука повёрнута к излучению в лучшем ракурсе,то можно определить
1 есть рука в кадре или нет.
2 на каком удалении рука от датчика.
3 плотность и размеры, в сечении излучения ,руки,если мерить амплитуду отражённых импульсов(это нам не надо).
Если вывести на график сигнал от руки,которвя будет приближаться и удаляться от датчика,на графике одна ось-дальность,другая-время,то получится что то вроде пилы или кривой синусоиды.По вашей задумке с подсчётом количества движений,получается что возможно.Но чтобы например измерить скорость движения,то уже надо подключать "Доплера" ))),а это уже-более сложное железо.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обработка жестов с помощью ультра звукового дальномера
СообщениеДобавлено: 18 июл 2016, 01:55 
Заглядывает иногда

Зарегистрирован: 11 окт 2011, 15:52
Сообщения: 131
Leon11t писал(а):
У кого какиу идеи?


Идеи-подсказки по gesture detection:
1) У мух мозгов почти нет, но они прекрасно летают. Зрение у них фасеточное. Можно покопать в сторону arrays простых сенсоров.
2) Взять МК чуть помощнее атмеги328 (тот же stm32f103), к нему подключить аналоговую камеру, считывать в фреймбуффер не всё (50x50x8bit - это 2,5кб - такие кадры сможет анализировать и МК даже), ну и применить немного "матемагии" ;-)


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 13 ] 


Часовой пояс: UTC + 5 часов


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

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB