Приведение робота к маячку

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

Re: Приведение робота к маячку

Сообщение Fed » 25 фев 2009, 14:23

Направления на маяк нет?

Ну технически оно есть, но оно неизвестно. Могу лишь пытаться встать на него, в чем и заключается алгоритм.
Надумано. Если ее можно вычислить по заданным параметрам - значит ее можно применить.

Уточним. Можно вычислить... скорость изменения мощности (как вы и писали, градиент мощности), но скорость движения - нет. Функциональная зависимость между расстоянием до маяка и мощность неизвестна. Известен только характер зависимости: ближе - "мощнее". Если же мы говорим о производной мощности, то да - это вполне обыгрываемый параметр, как вторая производная - разница изменения мощностей на двух последовательных участках траектории.
Мощность наверняка рассеивается по какому-то экспоненциальному закону,..

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

Ну тут само за себя говорит мое "уточнение". Я ищу эту "разницу_мощностей_в_двух_точках_при_оптимальном_курсе" постоянно (сравнивая текущую "разницу_мощностей_в_двух_точках_при_оптимальном_курсе" с нынешней "разница_мощностей_в_двух_точках" - та что больше, та и становится новой "разницей_мощностей_в_двух_точках_при_оптимальном_курсе"). И тут сразу напарываюсь на косяк своего решения - случается так, что из-за дискретности времени я пролетаю мимо оптимального направления (на шаге i-1 определяю что для оптимального приближения надо чуток повернуть, скажем направо, а на шаге i, пролетев линию курса, определяю, что надо еще повернуть ... направо(!)) - получаю недостижимую уставку и как следствие - нечто вроде перерегулирования (приводит к тому что мой робот начинает нарезать петли). У меня сразу возникли мысли о производной от разницы мощностей в двух последовательных точках на двух последовательных участках траектории. И если ее брать за ошибку регулирования, то результат не достигается - робот выбирает почти любой курс в сектор размером с полуокружность в сторону маяка, стабилизирует это направление и прет по легко закручивающейся спирали. Думаю над симбиозом обеих идей и проверяю Ваш способ.
Тут условиями задачи заданы два параметра - направление и расстояние

Неверно - направление не дано. Если бы было дано направление, в чем прикол алгоритма? Его и надо отыскать. Говоря более четко, точных траекторий на маяк бесконечное множество - на маяк можно начинать ехать из любой точки любого радиуса вокруг маяка. Расстояние кстати тоже не дано.

Спасибо всем за интересный разговори и помощь.
Fed
 
Сообщения: 9
Зарегистрирован: 24 фев 2009, 14:51
Откуда: Хабаровск

Re: Приведение робота к маячку

Сообщение bolt » 25 фев 2009, 15:07

технически оно есть, но оно неизвестно

Так есть или нет?
Функциональная зависимость между расстоянием до маяка и мощность неизвестна.

Определитесь с задачей. Навести нечто на неизвестно что сложно.
Максимальное расстояние до маяка?
Тип маяка?
Точность наведения?
bolt
 
Сообщения: 281
Зарегистрирован: 01 дек 2008, 19:21

Re: Приведение робота к маячку

Сообщение Fed » 25 фев 2009, 17:03

1. Направление на маяк не дано!
2. Максимальное расстояние до маяка не важно! Вот выходите Вы на улицу, играет безумно красивая музыка. Вы начинаете двигаться на прекрасные звуки и Ваш уши помогают Вам оценить в том ли направлении Вы идете, приближаетесь ли Вы к источнику этого блаженного звучания. Если Вы перед этим хорошо поели (энергии в батарейках робота валом), то какая разница на каком расстоянии от Вас находится патефон? Вы все равно придете на концерт! Даже с завязанными глазами, если каску надеть. Вот такая абстракция. Вот этого и хочу от робота. =) А точность наведения пускай будет параметром алгоритма ("качеством" Ваших ушей) =).
Fed
 
Сообщения: 9
Зарегистрирован: 24 фев 2009, 14:51
Откуда: Хабаровск

Re: Приведение робота к маячку

Сообщение =DeaD= » 25 фев 2009, 17:20

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

Re: Приведение робота к маячку

Сообщение Vovan » 25 фев 2009, 18:10

Судя по последнему посту Fedа (а в нём идёт речь о бинаруальном слухе), задача решаема и о ней много говорено на форуме, если это свет (может ИК) - много раз решалась на форуме, если другой источник - то справедлив законный вопрос EdGullа (см. второй пост темы). Следовательно: конкретная задача - конкретное решение.
Вопрос только в том, как понять, что уже приехали.

вот именно :)
_________
Sincerely,
Vovan
Аватара пользователя
Vovan
 
Сообщения: 3340
Зарегистрирован: 05 окт 2005, 12:03
Откуда: Литва
прог. языки: asm

Re: Приведение робота к маячку

Сообщение bolt » 25 фев 2009, 19:22

пару разнесенных направленных микрофонов на боте иметь сложно, а с помощью одного, делая засечку с двух точек, навестись вполне реально. Это если звук достаточно продолжительный, т.е. бот успевает переместится во вторую точку.
bolt
 
Сообщения: 281
Зарегистрирован: 01 дек 2008, 19:21

Re: Приведение робота к маячку

Сообщение Vovan » 25 фев 2009, 23:10

пару разнесенных направленных микрофонов на боте иметь сложно

а что тут сложного??? И почему именно напрвленных??? Улюдей и животных направленные уши? Однако отсутствие направленности не мешает им определить направление источника звука. Это, кстати, один из первых ("детских") моих проектов - робот ориентирующийся на звук. Погрешность при наведении у робота с разнесёнными ушами на 78мм приблизительно как у человека, а может и точнее...
а с помощью одного, делая засечку с двух точек, навестись вполне реально.
здесь я бы, как чел. занимавшийся этим и построивший реально действующую модель бинаруального слуха, поостерёгся бы с такой лёгкостью об этом заявлять...
Это если звук достаточно продолжительный, т.е. бот успевает переместится во вторую точку.
как раз при двух (или более) микрофонах продолжительность звука, мягко говоря, не так критична :)
_________
Sincerely,
Vovan
Аватара пользователя
Vovan
 
Сообщения: 3340
Зарегистрирован: 05 окт 2005, 12:03
Откуда: Литва
прог. языки: asm

Re: Приведение робота к маячку

Сообщение Fed » 26 фев 2009, 02:07

Вопрос только в том, как понять, что уже приехали.

Ну пока допустимо, чтобы робот совершал "матыльковое" движение в окрестности маяка. Можно определить что мы движемся отмаяка, т. е. удаляемся, опять же из сравнения двух мощностей. Если мощность в точке i меньше чем в точке i-1 - значит удаляемся. Предложенное =DeaD= решение самое простое из напрашивающихся (сам такое предлагал когда только возникла задача), но уж извините, оно тупо (представим все того же человека с музыкой, который накручивает круги). Ясно, что предварительный поиск направления (первое приближение) почти наверняка необходим, но вот способ его уточнения... надо что-то другое.
Судя по последнему посту Fedа (а в нём идёт речь о бинаруальном слухе), задача решаема и о ней много говорено на форуме

То что я написал - это лишь абстаркция, сравнение. Датчик на борту один. Вернемся к ней еще раз и переделаем:
Вот выходите Вы на улицу, играет безумно красивая музыка. Вы - гуманоид с одним ухом на макушке. Причем ухо у Вас имеет удивительно ровную круглую диаграмму направленности. Вы начинаете двигаться на прекрасные звуки и Ваше ухо помогают Вам оценить в том ли направлении Вы идете (ухо умеет оценивать громкость звука), приближаетесь ли Вы к источнику этого блаженного звучания. Если Вы перед этим хорошо поели (энергии в батарейках робота валом), то какая разница на каком расстоянии от Вас находится патефон? Вы все равно придете на концерт! Даже с завязанными глазами, если каску надеть. Вот такая абстракция. Вот этого и хочу от робота. =) А точность наведения пускай будет параметром алгоритма ("качеством" Вашего уха) =).

И опять же, Вам, как гуманоиду с одним ухом скорее всего нужно будет немного повертеть кружки, потоптаться туда-сюда, прежде чем предварительно выбрать направление движения (это не факт, это лишь мое предположение).
Fed
 
Сообщения: 9
Зарегистрирован: 24 фев 2009, 14:51
Откуда: Хабаровск

Re: Приведение робота к маячку

Сообщение blindman » 26 фев 2009, 06:19

Если говорить о звуке, то наличие 2 ушей существенно упрощает задачу - направление на источник определяется без перемещений, правда с неопределенностью ±180 градусов. Если добавить третий микрофон, то можно либо устранить эту неопределенность, либо определять еще и возвышение источника - смотря как микрофоны расположить. Типичное расстояние между микрофонами для слышимого человеком диапазона - 15-20 см.
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

Re: Приведение робота к маячку

Сообщение Vovan » 26 фев 2009, 12:42

Ну вот опять "не хилое" уточнение...
до уточнения:
Вы начинаете двигаться на прекрасные звуки и Ваш уши помогают Вам оценить в том ли направлении Вы идете

Теперь стало:
Вы - гуманоид с одним ухом на макушке.
:lol:
М... да... зачем же так про каждого из нас? :ROFL:
Ну если уж так сильно хочется именно с одним ухом то, ИМХО, нужно добавить и изменение самой конструкции уха, ухо должно уметь размещать фронт своей "диаграмы направленности" перпендикулярно предыдущему положению, но это сильно всё усложняет, я, лично, не возьмусь за такое устройство, потому что представляю это только в общих чертах, а практически - слишком много подводных камней...
ЗЫ: интересно Бог при конструировании живых существ зачем два уха построил?
Эх... наверное не осилил "одноухих гуманоидов"... :(
ЗЫЫ: есть какая-то муха, дык у неё расстояние между ушей меньше миллиметра. Да, у неё два уха, но принцип определения направления у неё несколько другой: у неё ещё какой-то резонансный нерв участвует и именно его резонанс показывает что направление верное... Может автору в эту сторону поискать? :wink:
_________
Sincerely,
Vovan
Аватара пользователя
Vovan
 
Сообщения: 3340
Зарегистрирован: 05 окт 2005, 12:03
Откуда: Литва
прог. языки: asm

Re: Приведение робота к маячку

Сообщение =DeaD= » 26 фев 2009, 12:56

Vovan писал(а):ЗЫ: интересно Бог при конструировании живых существ зачем два уха построил?
Эх... наверное не осилил "одноухих гуманоидов"...

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

Re: Приведение робота к маячку

Сообщение EdGull » 26 фев 2009, 13:38

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

Re: Приведение робота к маячку

Сообщение blindman » 26 фев 2009, 13:45

Не так нельзя. Надо хоть один шанс оставить - а в вакууме звук не распространяется :D
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

Re: Приведение робота к маячку

Сообщение EdGull » 26 фев 2009, 14:01

ну свет-то распространяется... :wink:

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

Re: Приведение робота к маячку

Сообщение Виталий » 26 фев 2009, 14:09

Очень интересная задача. Странно, что кто-то не понимает ее условий.
Господа великие практики пусть попробуют ее решить, а потом ДОКАЗАТЬ, что их решение верное, а лучше, что оно наилучшее.

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

Пред.След.

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

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

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

cron