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

Автомат, адаптивный автомат ... разум

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

Сообщение EdGull » 18 июн 2009, 16:52

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


помогите накидать псевдокод... :oops:
Аватара пользователя
EdGull
 
Сообщения: 10211
Зарегистрирован: 28 дек 2004, 20:33
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович

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

Сообщение =DeaD= » 18 июн 2009, 17:00

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

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

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

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

Если приближаются с 1 стороны - приветствуем, как только закончили приветствовать включаемся снова :)
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

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

Сообщение EdGull » 18 июн 2009, 17:07

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

а то я себя полным идиотом считаю от таких словосочетаний... :oops:
Аватара пользователя
EdGull
 
Сообщения: 10211
Зарегистрирован: 28 дек 2004, 20:33
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович

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]
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

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

Сообщение EdGull » 18 июн 2009, 17:18

я правильно понимаю что в место Xnew можно сразу брать Xcopy?
Аватара пользователя
EdGull
 
Сообщения: 10211
Зарегистрирован: 28 дек 2004, 20:33
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович

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

Сообщение =DeaD= » 18 июн 2009, 17:44

правильно :)
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

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

Сообщение yak-40 » 19 июн 2009, 14:00

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

З.Ы. И никакого копирования массивов :lol:
- Этот человек - не человек! это робот!
- Как? уже делают?!
- Делают!!!
Аватара пользователя
yak-40
 
Сообщения: 3037
Зарегистрирован: 23 окт 2007, 22:03
Откуда: Москва
прог. языки: С
ФИО: Евгений Яковец

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

Сообщение Виталий » 19 июн 2009, 14:07

Швейцар должен поздороваться до того как ты вошел. =)
"Копирование массивов" и прерывание двух лучей - это одно и то же.
Все новости о моих проектах http://savethebest.ru
Аватара пользователя
Виталий
 
Сообщения: 2114
Зарегистрирован: 08 окт 2004, 16:43
Откуда: St. Petersburg
Skype: quark-bot
ФИО: Клебан Виталий

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

Сообщение yak-40 » 19 июн 2009, 14:17

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

Вот, в первом посте написано.
Или там две двери?
- Этот человек - не человек! это робот!
- Как? уже делают?!
- Делают!!!
Аватара пользователя
yak-40
 
Сообщения: 3037
Зарегистрирован: 23 окт 2007, 22:03
Откуда: Москва
прог. языки: С
ФИО: Евгений Яковец


Вернуться в Алгоритмы

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

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