roboforum.ru

Технический форум по робототехнике.
Текущее время: 30 ноя 2024, 13:48

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




Начать новую тему Ответить на тему  [ Сообщений: 142 ]  На страницу 1, 2, 3, 4, 5 ... 10  След.
Автор Сообщение
 Заголовок сообщения: Математика определения источника звука[RoboBus, звук]
СообщениеДобавлено: 14 май 2009, 15:00 
Не в сети
Аватара пользователя

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


Внимание!
Правила темы:
Все сообщения, отклоняющиеся от математического направления в общие принципы и прочие сопутствующие обсуждения считаются оффтопиком, т.е. ЗАПРЕЩЕНЫ!


Кто шарит в математике, помогите плиз

Вложение:
micro.png
micro.png [ 7.96 КиБ | Просмотров: 25065 ]


Есть 3 точи расположенных на окружности заданного радиуса LaTeX: R = \left|O-B\right| через 120°. Есть некая точка LaTeX: X, координаты которой неизвестны. A,B,C - это микрофоны, X - источник звука. Считаем, что микрофоны и источник звука лежат в одной плоскости (горизонтальной). Известны LaTeX: \left|X-B\right| - \left|X-A\right| и LaTeX: \left|X-B\right| - \left|X-C\right|.
  1. Надо найти LaTeX: \angle XOB и LaTeX: \left|X-O\right|
  2. Если перейти из плоскости в пространство, и допустить, что источник звука может находиться вне плоскости микрофонов, то будет ли формула из п.1 справедлива для LaTeX: \angle X'OB и LaTeX: \left|X'-O\right|, где LaTeX: X' - проекция точки LaTeX: X на плоскость микрофонов.
  3. Верно ли, что 3 микрофонов недостаточно, чтобы определить не только LaTeX: \angle X'OB (LaTeX: \angle XOB), но и угол возвышения источника звука? Похоже что это верно ...

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

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



Последний раз редактировалось Digit 15 май 2009, 16:45, всего редактировалось 2 раз(а).
дорисовал правила этой темы


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проект звукового модуля под шину RoboBus
СообщениеДобавлено: 14 май 2009, 15:14 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
blindman писал(а):
[*] Верно ли, что 3 микрофонов недостаточно, чтобы определить не только LaTeX: \angle X'OB (LaTeX: \angle XOB), но и угол возвышения источника звука? Похоже что это верно ... [/list]

Модуль угла определить будет можно, а вот знак - нет.

Как и на плоскости с 2 микрофонами - пересечение 2 окружностей за редкими исключениями либо 0 либо 2 точки.

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проект звукового модуля под шину RoboBus
СообщениеДобавлено: 14 май 2009, 15:21 
Не в сети
Аватара пользователя

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

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

Добавлено спустя 5 минут 34 секунды:
=DeaD= писал(а):
Модуль угла определить будет можно, а вот знак - нет.

Даже это и то хорошо. Если микрофоны достаточно низко, то при небольшом модуле угла можно считать, что источник на одном уровне с микрофонами, иначе - выше

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

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



Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проект звукового модуля под шину RoboBus
СообщениеДобавлено: 14 май 2009, 15:27 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
blindman писал(а):
=DeaD= писал(а):
Известны расстояния до них от робота.

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

Тогда берём решение из темы mandigit'а :)
У него вроде сходилось за 5-10 итераций всё.

Добавлено спустя 1 минуту 7 секунд:
Вот оно: [[Определение координат робота по расстояниям до маяков, измеренным с одинаковым отклонением]]

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проект звукового модуля под шину RoboBus
СообщениеДобавлено: 14 май 2009, 15:33 
Не в сети
Аватара пользователя

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

Добавлено спустя 3 минуты 37 секунд:
А чего формулы то удалил ? Восстанавливаю :
=DeaD= писал(а):
Задачу надо обобщить до: есть 3 маяка с известными координатами. Известны расстояния до них от робота. Определить координаты робота.
Пусть координаты маяков (x1,y1), (x2,y2), (x3,y3), расстояния до них d1,d2,d3.
Координаты робота искомые - (x,y).
Получаем систему с 2 неизвестными и 3 уравнениями (xi-x)^2+(yi-y)^2=di^2
Очевидно что она не будет решаться часто из-за погрешности.
Выпишем некоторую погрешность определения каждого расстояния (xi-x)^2+(yi-y)^2=(di+pi)^2
Значит нам надо будет найти такие (x,y), чтобы p1^2+p2^2+p3^2 было минимально.

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

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



Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проект звукового модуля под шину RoboBus
СообщениеДобавлено: 14 май 2009, 15:35 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Выразить то можно, как решать то потом получившуюся чудовищного вида систему?

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проект звукового модуля под шину RoboBus
СообщениеДобавлено: 14 май 2009, 15:39 
Не в сети
Аватара пользователя

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

Предлагаю задачу упростить - оставить 2 микрофона, и определить направление на источник с точностью до знака. Потом использовать третий микрофон для устранения неоднозначности

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

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



Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проект звукового модуля под шину RoboBus
СообщениеДобавлено: 14 май 2009, 15:48 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Дык пробовал уже. Геометрический подход изложен в вике так же, но проверять всё это сейчас точно не успею, это ж копец сколько математики :)

Может mandigit даст кусочек кода, а мы его в библиотеку оформим и выложим в вики? :)

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проект звукового модуля под шину RoboBus
СообщениеДобавлено: 14 май 2009, 16:32 
Не в сети

Зарегистрирован: 17 апр 2009, 15:09
Сообщения: 987
Откуда: Rostov-Don
Один направленный микрофон навести на максимум звука последовательным приближением по двум плоскостям. Вся беда, что сильно мешают отражения.
Поскольку звук случайный, то использовать 3 микрофона и определить источник по фазе сигнала не получится.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проект звукового модуля под шину RoboBus
СообщениеДобавлено: 14 май 2009, 16:43 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
2blindman: Осилишь выкладки которые по итерационному алгоритму? Или помощь зала? :)

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проект звукового модуля под шину RoboBus
СообщениеДобавлено: 14 май 2009, 17:16 
Не в сети
Аватара пользователя

Зарегистрирован: 11 июл 2008, 22:43
Сообщения: 134
Откуда: Воронежск
прог. языки: С, Delphi, Asm
Тут нужна полярная система координат.Типо 2 микрофона определяют положение источника. А третий прикрученный к серве высоту.
Или платформу с микрофонами вращать, тогда если звук уходит от третьего значит впереди, и наоборот сзади.

_________________
GIRUGAMESH!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проект звукового модуля под шину RoboBus
СообщениеДобавлено: 14 май 2009, 17:29 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
2TrashVigor: Расстояния до источника звука неизвестны, известна только их разница. Внимательно читаем условия задачи, я уже попался :)

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проект звукового модуля под шину RoboBus
СообщениеДобавлено: 14 май 2009, 18:10 
Не в сети
Аватара пользователя

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

Вряд ли осилю. В лоб использовать формулы из вики не получится, там условия задачи другие - известны абсолютные расстояния, да и положение маяков по вертикали фиксировано. А здесь по-любому надо в 3 координатах решать, да еще и расстояния обсолютные неизвестны...

Добавлено спустя 28 минут 12 секунд:
Получается, что имеем 3 конуса (возможно вырожденных в прямые или плоскости), и надо найти точку их пересечения. В задаче mandigit'а не конусы, а окружности, потому что все лежит в одной плоскости, и известны абсолютные расстояния.

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

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



Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проект звукового модуля под шину RoboBus
СообщениеДобавлено: 14 май 2009, 18:17 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
2blindman: В 3 координатах всё еще хуже будет - я думал у тебя 3 маяка в плоскости той же что и робот.

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проект звукового модуля под шину RoboBus
СообщениеДобавлено: 14 май 2009, 18:24 
Не в сети
Аватара пользователя

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

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

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



Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 142 ]  На страницу 1, 2, 3, 4, 5 ... 10  След.

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


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

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


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

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO