roboforum.ru

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

LPS (Локальная Система Позиционирования)

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

Re: LPS (Локальная Система Позиционирования)

Сообщение =DeaD= » 20 янв 2009, 12:48

mandigit писал(а):
=DeaD= писал(а):2mandigit: Правильно ли я понял из выкладок, что основная задача в математической части - решение системы из 3 уравнений вида LaTeX: (zi-z)^2=(xi-x)^2+(yi-y)^2 ?

Фактически - ДА, +введен еще элемент, определяющий разницу времени между часами группы передатчиков и приемником

У меня это переменная "z", разве не так? (ну не разницу только во времени переменная отражает, а расстояние, которое за это время сигнал пройдёт).

mandigit писал(а):У тебя были идеи, какой аппаратурой можно обнаруживать маркер? Или предполагалось использовать камеру?

У меня использовалась камера, других методов пока не думал...

Добавлено спустя 2 минуты 21 секунду:
2mandigit: Может тогда, если система уравнений определяет задачу в которой пересекаются 3 конуса - её и решать? Там по моему достаточно всё красиво получается... и наверное можно будет искать z тупо делением пополам находя её со 100% вероятностью?
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: LPS (Локальная Система Позиционирования)

Сообщение Виталий » 20 янв 2009, 12:58

C начальной точкой все ясно.
Странно, что в каком-то случае он может не сходится. Я предполагаю, что он не будет сходится в том случае если точка лежит не внутри треугольника, но это легко проверить, а систему координат связать с одним из маяков (или даже ось связать с парой маяков).
Фильтр Калмана поможет в том случае если есть дополнительный источник данных о положении - например одометрия.

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

Re: LPS (Локальная Система Позиционирования)

Сообщение =DeaD= » 20 янв 2009, 13:04

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

Re: LPS (Локальная Система Позиционирования)

Сообщение mandigit » 20 янв 2009, 13:13

=DeaD= писал(а):2mandigit: Может тогда, если система уравнений определяет задачу в которой пересекаются 3 конуса - её и решать? Там по моему достаточно всё красиво получается... и наверное можно будет искать z тупо делением пополам находя её со 100% вероятностью?


Не забывай, что, в связи с ошибками измерений система уравнений не решается, а ищется решение, дающее минимальную ошибку. В первом варианте, применялся следующий алгоритм:
1 решались попарно системы уравнений (расстояние от приемника до двух маяков) - находилось множество точек пересечений, потом перебором выявлялись точки, наиболее вероятно являющиеся решениями. Но тот алгоритм менее стабилен, чем предложенный в настоящем варианте. Возможно (даже, наверняка) существуют лучшие алгоритмы, их можно искать.

Виталий писал(а):Фильтр Калмана поможет в том случае если есть дополнительный источник данных о положении - например одометрия.


Возможно, фильтр Калмана может помочь и в решении задачи в тех условиях, какие есть. Предположительно измерение расстояний до каждого из передатчиков происходит с НЕКОРЕЛИРОВАННОЙ ошибкой. У меня, пока, мозга не хватает, что-бы описать и решить такую систему.

Виталий писал(а):Если рассматривается вариант с клетками на полу, то я могу осуществлять навигацию по любой нерегулярной структуре.

Опиши, pls, методологию, условия экспериментов, полученные данные.

Добавлено спустя 1 минуту 10 секунд:
=DeaD= писал(а):Может попробовать обойтись без сходимости? :) вроде задачка-то не очень безумная - 3 конуса пересечь...

Реши :P
Аватара пользователя
mandigit
 
Сообщения: 583
Зарегистрирован: 28 ноя 2005, 12:05
Откуда: Москва

Re: LPS (Локальная Система Позиционирования)

Сообщение =DeaD= » 20 янв 2009, 13:26

mandigit писал(а):Не забывай, что, в связи с ошибками измерений система уравнений не решается, а ищется решение, дающее минимальную ошибку.

Не понял, у нас 3 уравнения, 3 неизвестных, почему это система должна обязательно нерешаться? По моему в подавляющем числе случаев она как раз должна решаться вроде? Вот если будет 4 и более маяков, тогда не будет решаться...

mandigit писал(а):
=DeaD= писал(а):Может попробовать обойтись без сходимости? :) вроде задачка-то не очень безумная - 3 конуса пересечь...

Реши :P

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

Re: LPS (Локальная Система Позиционирования)

Сообщение mandigit » 20 янв 2009, 13:33

=DeaD= писал(а):Не понял, у нас 3 уравнения, 3 неизвестных, почему это система должна обязательно нерешаться? По моему в подавляющем числе случаев она как раз должна решаться вроде? Вот если будет 4 и более маяков, тогда не будет решаться...

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

=DeaD= писал(а):Уже начал, есть намётки, вечером попробую добить, напишу, что смогу.

интересно, что получится :beer:
Аватара пользователя
mandigit
 
Сообщения: 583
Зарегистрирован: 28 ноя 2005, 12:05
Откуда: Москва

Re: LPS (Локальная Система Позиционирования)

Сообщение =DeaD= » 20 янв 2009, 13:38

mandigit писал(а):Нарисуй ее. Предположи, что расстояния измерены с ошибкой - увидишь, что точного решения не существует.

Не существует гарантии, что будет решение (в каких-то случаях из-за ошибок может вообще показаться, что разница между расстояниями до маяков у нас будет больше чем расстояние между ними :) - тут 100% не будет решений)

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

Re: LPS (Локальная Система Позиционирования)

Сообщение Виталий » 20 янв 2009, 13:46

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

Re: LPS (Локальная Система Позиционирования)

Сообщение mandigit » 20 янв 2009, 13:46

=DeaD= писал(а):Но по моему предположению, если таких косяков нет, решение должно быть и однозначно.


Это - не косяки, это нормальная ситуация между цифровым и аналоговыми мирами!
Аватара пользователя
mandigit
 
Сообщения: 583
Зарегистрирован: 28 ноя 2005, 12:05
Откуда: Москва

Re: LPS (Локальная Система Позиционирования)

Сообщение =DeaD= » 20 янв 2009, 13:51

Виталий писал(а):Итеративный алгоритм действительно лучше. В ином случае необходимо будет решать систему с минимизацией невязки, а это дольше.

А если я покажу, что при отсутствии указанных выше проблем система решается однозначно? :)

Добавлено спустя 24 секунды:
mandigit писал(а):Это - не косяки, это нормальная ситуация между цифровым и аналоговыми мирами!

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

Re: LPS (Локальная Система Позиционирования)

Сообщение mandigit » 20 янв 2009, 13:56

=Dead= писал(а):
mandigit писал(а):Это - не косяки, это нормальная ситуация между цифровым и аналоговыми мирами!

Я же условно, надеюсь все это понимают :)


Не, я не к тому.
После измерений всегда будут неточности (больше или меньше).
Система - она из трех уравнений, неизвестных тоже 3
НО
Это НЕ линейная система. А правило, насчёт однозначного решения при равном числе неизвестных и переменных относится к линейным системам.
Аватара пользователя
mandigit
 
Сообщения: 583
Зарегистрирован: 28 ноя 2005, 12:05
Откуда: Москва

Re: LPS (Локальная Система Позиционирования)

Сообщение =DeaD= » 20 янв 2009, 14:44

mandigit писал(а):Система - она из трех уравнений, неизвестных тоже 3
НО
Это НЕ линейная система. А правило, насчёт однозначного решения при равном числе неизвестных и переменных относится к линейным системам.

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

Re: LPS (Локальная Система Позиционирования)

Сообщение mandigit » 20 янв 2009, 14:51

=DeaD= писал(а):В общем случае да, но ты уверен, что тут именно неоднозначные решения будут? Я просто вчера на бумажке геометрию 3 конусов рисовал и пока мне кажется, что решение будет однозначно, но доказательства пока нету.

Я никогда ни в чем не уверен (привычка :crazy: )
Бумажку с рисунком покажи!
Аватара пользователя
mandigit
 
Сообщения: 583
Зарегистрирован: 28 ноя 2005, 12:05
Откуда: Москва

Re: LPS (Локальная Система Позиционирования)

Сообщение =DeaD= » 20 янв 2009, 15:04

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

Re: LPS (Локальная Система Позиционирования)

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

В общем аналитическим методом решал следующим образом - вывел как будут вести себя точки пересечения 2 окружностей при синхронном росте радиусов окружностей в зависимости от их начальных радиусов и расстояния между их центрами. Полученная параметрическая кривая показала мне, что точки пересечения будут уплывать вдоль оси на которой лежат центры окружностей куда угодно в зависимости от соотношения их радиусов, но с постоянной скоростью, а вторая координата точек пересечения (которая по перпендикулярной к предыдущей оси) при этом всегда будет расти.

Если считать что первая окружность имеет центром (0,0), а вторая (r1+r1,0), и они первый раз пересекаются в 1 точке (r1,0) при радиусах r1,r2 соответственно, тогда точки пересечения их при дальнейшем росте радиусов на t будут равны:

Добавлено спустя 2 минуты 1 секунду:
x=r1+t*(r1-r2)/(r1+r2)

y=+/- 2*sqrt(r1*r2*t(r1+r2+t)/(r1+r2)^2)

Добавлено спустя 2 минуты 57 секунд:
Получается при росте t координата x будет расти с коэффициентом меньшим единицы.

Асимптотически поведение y=+/- 2*t*sqrt(r1*r2)/(r1+r2)

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

Пред.След.

Вернуться в Золотой фонд

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

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