roboforum.ru

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

Математика определения источника звука[RoboBus, звук]

Математика определения источника звука[RoboBus, звук]

blindman » 14 май 2009, 15:00

Тема выделена оттуда: Проект звукового модуля под шину RoboBus.
<Digit>


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


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

micro.png
micro.png (7.96 КиБ) Просмотров: 25009


Есть 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), но и угол возвышения источника звука? Похоже что это верно ...
Последний раз редактировалось Digit 15 май 2009, 16:45, всего редактировалось 2 раз(а).
Причина: дорисовал правила этой темы

Re: Проект звукового модуля под шину RoboBus

=DeaD= » 14 май 2009, 15:14

blindman писал(а):[*] Верно ли, что 3 микрофонов недостаточно, чтобы определить не только LaTeX: \angle X'OB (LaTeX: \angle XOB), но и угол возвышения источника звука? Похоже что это верно ... [/list]

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

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

Re: Проект звукового модуля под шину RoboBus

blindman » 14 май 2009, 15:21

=DeaD= писал(а):Известны расстояния до них от робота.

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

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

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

Re: Проект звукового модуля под шину RoboBus

=DeaD= » 14 май 2009, 15:27

blindman писал(а):
=DeaD= писал(а):Известны расстояния до них от робота.

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

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

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

Re: Проект звукового модуля под шину RoboBus

blindman » 14 май 2009, 15:33

=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 было минимально.

Re: Проект звукового модуля под шину RoboBus

=DeaD= » 14 май 2009, 15:35

Выразить то можно, как решать то потом получившуюся чудовищного вида систему?

Re: Проект звукового модуля под шину RoboBus

blindman » 14 май 2009, 15:39

А может попробуешь? ;) Может не такая и чудовищная она получится ? ;)

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

Re: Проект звукового модуля под шину RoboBus

=DeaD= » 14 май 2009, 15:48

Дык пробовал уже. Геометрический подход изложен в вике так же, но проверять всё это сейчас точно не успею, это ж копец сколько математики :)

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

Re: Проект звукового модуля под шину RoboBus

contr » 14 май 2009, 16:32

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

Re: Проект звукового модуля под шину RoboBus

=DeaD= » 14 май 2009, 16:43

2blindman: Осилишь выкладки которые по итерационному алгоритму? Или помощь зала? :)

Re: Проект звукового модуля под шину RoboBus

TrashVigor » 14 май 2009, 17:16

Тут нужна полярная система координат.Типо 2 микрофона определяют положение источника. А третий прикрученный к серве высоту.
Или платформу с микрофонами вращать, тогда если звук уходит от третьего значит впереди, и наоборот сзади.

Re: Проект звукового модуля под шину RoboBus

=DeaD= » 14 май 2009, 17:29

2TrashVigor: Расстояния до источника звука неизвестны, известна только их разница. Внимательно читаем условия задачи, я уже попался :)

Re: Проект звукового модуля под шину RoboBus

blindman » 14 май 2009, 18:10

=DeaD= писал(а):2blindman: Осилишь выкладки которые по итерационному алгоритму? Или помощь зала? :)

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

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

Re: Проект звукового модуля под шину RoboBus

=DeaD= » 14 май 2009, 18:17

2blindman: В 3 координатах всё еще хуже будет - я думал у тебя 3 маяка в плоскости той же что и робот.

Re: Проект звукового модуля под шину RoboBus

blindman » 14 май 2009, 18:24

У меня 3 микрофона и 1 источник звука, который может быть где угодно


cron
Rambler\'s Top100 Mail.ru counter