roboforum.ru

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

[Модель поведения] робота швейцара

[Модель поведения] робота швейцара

EdGull » 18 июн 2009, 16:52

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


помогите накидать псевдокод... :oops:

Re: [Модель поведения] робота швейцара

=DeaD= » 18 июн 2009, 17:00

За что ты так его, минибота то? :D

Псевдокод простой - надо всего лишь детектор приближения и удаления написать.

Детектор приближения делаем так:
1. Меряем расстояние 25 раз в секунду, получаем постоянно обновляющийся график из 25 точек, 5 раз в секунду берем копию, сглаживаем с окрестностью +/- 2 точки, считаем сколько было приращений в "+", если больше Х%, то считаем их сумму, если получилось больше Yсм, тогда считаем, что к нам приближаются.

Для начала можно попробовать X=80%, Y=30см.

Если приближаются с 1 стороны - приветствуем, как только закончили приветствовать включаемся снова :)

Re: [Модель поведения] робота швейцара

EdGull » 18 июн 2009, 17:07

ну для начала объясни что такое:
1.берем копию
2. сглаживаем с окрестностью +/- 2 точки

а то я себя полным идиотом считаю от таких словосочетаний... :oops:

Re: [Модель поведения] робота швейцара

=DeaD= » 18 июн 2009, 17:11

1. Ну копию массива Xcopy[i]=Xsource[i]
2. Ну, например, так: Xnew[i]=0.4*X[i]+0.2*X[i-1]+0.2*X[i+1]+0.1*X[i-2]+0.1*X[i+2]

Re: [Модель поведения] робота швейцара

EdGull » 18 июн 2009, 17:18

я правильно понимаю что в место Xnew можно сразу брать Xcopy?

Re: [Модель поведения] робота швейцара

=DeaD= » 18 июн 2009, 17:44

правильно :)

Re: [Модель поведения] робота швейцара

yak-40 » 19 июн 2009, 14:00

А не проще ли будет сделать как в турникетах, в метро.
Два ИК барьера.
Сработал один, затем второй - объект вошел.
Сработал второй потом первый - вышел.
Дёшево и сердито :)

З.Ы. И никакого копирования массивов :lol:

Re: [Модель поведения] робота швейцара

Виталий » 19 июн 2009, 14:07

Швейцар должен поздороваться до того как ты вошел. =)
"Копирование массивов" и прерывание двух лучей - это одно и то же.

Re: [Модель поведения] робота швейцара

yak-40 » 19 июн 2009, 14:17

EdGull писал(а): один смотрит на вход, другой соответсвенно смотрит на выход.

Вот, в первом посте написано.
Или там две двери?


cron
Rambler\'s Top100 Mail.ru counter