roboforum.ru

Технический форум по робототехнике.

Как найти человека?

Как найти человека?

ThousandDevils » 24 янв 2017, 17:10

Доброго дня. Задача такая: как бы научить ардуину определять расстояние до человека и положение оного относительно датчика(группы датчиков) в пространстве комнаты.
Есть идея понимать наличие человека по температуре(ИК-датчик), а расстояние до него измерять ультразвуковым датчиком, но как понять где человек расположен, т.е. куда именно повернуть УЗ датчик?

Re: Как найти человека?

Myp » 24 янв 2017, 17:49

если в радиусе действия устройства не предполагается появление крупных животных или техники, то можно любой движущийся объект априори считать человеком =)

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

Re: Как найти человека?

ThousandDevils » 24 янв 2017, 18:03

А что будет если в эталонном пространстве передвинуть стул? Ту надо бы что-то типа узконаправленного ИК-датчика постоянно сканирующего пространство на предмет нагретых объектов(и как найдет - замеряет угол поворота платформы с датчиком), только есть ли такие в принципе и ардуиносовместимые в частности?

Re: Как найти человека?

Medtech » 24 янв 2017, 21:17

Тепловизор расположенный сверху.

Re: Как найти человека?

ThousandDevils » 24 янв 2017, 21:28

Medtech писал(а):Тепловизор расположенный сверху.

Можно немного конкретнее? Я на данный момент располагаю вот этим датчиком, но его вроде как двигать(вращать) нельзя во время работы, или можно не вращая датчик определить направление на объект?

Re: Как найти человека?

SkyStorm » 24 янв 2017, 21:30

Это PIR он срабатывает на движение теплового объекта в зоне обнаружения и больше ничего.

Re: Как найти человека?

ThousandDevils » 24 янв 2017, 21:44

SkyStorm писал(а):Это PIR он срабатывает на движение теплового объекта в зоне обнаружения и больше ничего.

Ясно, а если ему заузить рабочий сектор градусов до 5, поместить на поворотную платформу(если все-таки можно его вращать), и крутить сервомотором в поисках нагретых объектов?

Re: Как найти человека?

Scorpio » 24 янв 2017, 23:23

Я вот такой датчик юзал. Делал вертикальный скан и анализировал форму. Но, действует на пару метров.

Re: Как найти человека?

RootAdmin » 25 янв 2017, 00:42

Надо погуглить проект "тепловизор на ардуино". Там модель датчика, что применяется в дистанционных термометрах. И пример кода.

Re: Как найти человека?

ThousandDevils » 25 янв 2017, 06:55

RootAdmin писал(а):Надо погуглить проект "тепловизор на ардуино"

Спасибо, нашел. В связи с прочитанным родилось следующее:
1. Ставлю дальномер и термодатчик на поворотную платформу.
2. В результате 1 проходки платформы от 0 до 180 градусов имею на выходе 2 массива - с температурами
и с расстояниями.
3. Неким колдовством с кодом довожу массивы до равного числа итемов с наименьшей потерей точности,
после чего ищу наибольшую температуру и узнаю расстояние. Затем сопоставляю полученное значение
с углом поворота платформы.
В результате получаю направление и расстояние до человека.
Как думаете, сработает? :oops:

Re: Как найти человека?

Medtech » 25 янв 2017, 10:18

У вас объект перемещается в объёме или по плоскости?

Re: Как найти человека?

ThousandDevils » 25 янв 2017, 14:10

Medtech писал(а):У вас объект перемещается в объёме или по плоскости?

По плоскости пола помещения.

Re: Как найти человека?

lorry » 26 янв 2017, 00:32

Зимой ваше устройство будет обнаруживать горячие радиаторы отопления и принимать их за человека, а летом постоянно будет натыкаться на нагретые солнцем предметы. В общем, хочу сказать, что мы пытались сделать что то подобное, в результате ничего не вышло, оказалось вокруг находится слишком много объектов нагретых до температуры тела человека и выше. Система работала не надежно и от такого решения детектирования человека пришлось отказаться.

Re: Как найти человека?

ThousandDevils » 26 янв 2017, 00:55

lorry писал(а):Зимой ваше устройство будет обнаруживать горячие радиаторы отопления и принимать их за человека, а летом постоянно будет натыкаться на нагретые солнцем предметы. В общем, хочу сказать, что мы пытались сделать что то подобное, в результате ничего не вышло, оказалось вокруг находится слишком много объектов нагретых до температуры тела человека и выше. Система работала не надежно и от такого решения детектирования человека пришлось отказаться.

То есть для увеличения точности системы нужно ввести дополнительный параметр, например повесить на человека блютуз-брелок или пытаться распознавать лицо любому теплому объекту?

Re: Как найти человека?

Scorpio » 26 янв 2017, 02:57

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


Rambler\'s Top100 Mail.ru counter