1. Если вы только начинаете программировать на ассемблере и не знаете с чего начать, тогда попробуйте среду разработки ASM Visual IDE
    (c) на правах рекламы
    Скрыть объявление

Синхронизация одометров

Тема в разделе "WASM.A&O", создана пользователем Black_mirror, 22 окт 2010.

  1. Black_mirror

    Black_mirror Active Member

    Публикаций:
    0
    Регистрация:
    14 окт 2002
    Сообщения:
    1.036
    Имеются два движущихся объекта. Каждый объект достаточно точно измеряет пройдённое расстояние(одометром). Кроме этого, каждый объект периодически определяет свои абсолютные координаты в пространстве с некоторой случайной ошибкой. На некотором достаточно длинном(абсолютных координат намеряно много, с ошибками) участке траектория движения объектов совпадала(или была достаточно близкой). Требуется найти начало и конец этого участка(тут особая точность не нужна). И с как можно большей точностью определить разность показаний одометров на этом участке. У кого есть идеи, как такую задачу решать?
     
  2. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Black_mirror
    Уточните, что за траектория. Как обьекты зависят друг от друга.
    Тоже не понятно, что за участок.
     
  3. t00x

    t00x New Member

    Публикаций:
    0
    Регистрация:
    15 фев 2007
    Сообщения:
    1.922
    В общем случае для трёхмерного пространства показания одометров должны быть на 3 порядка точнее показаний абсолютных координат.
     
  4. Black_mirror

    Black_mirror Active Member

    Публикаций:
    0
    Регистрация:
    14 окт 2002
    Сообщения:
    1.036
    Clerk
    Объекты друг от друга никак не зависят, это могут быть два автомобиля с GPS которые проехали несколько километров по некоторой узкой дороге(в разное время), а до этого и после их пути были различны. Ну а определить нужно насколько отличались показания их одометров когда они проходили одну и ту же точку на этой дороге. В принципе для всех других точек этой дороги разница должна быть такой же.
     
  5. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    f1(p) - f2(p).
     
  6. Black_mirror

    Black_mirror Active Member

    Публикаций:
    0
    Регистрация:
    14 окт 2002
    Сообщения:
    1.036
    Clerk
    Абсолютные координаты объекты определяют редко(через десятки метров). И ошибка(случайная) их определения тоже может быть порядка десятка метров. То есть в явном виде траектории у нас нету. Есть только множество точек лежащих около неё и показания одометра в моменты получения точек.
     
  7. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.398
    Адрес:
    Fryazino
    Black_mirror
    Тебе надо совместить определенный отдельные участки траекторий так чтобы они максимально совпадали. Пространство 2D Траектории прямые или кривые? Хотелось бы пример увидеть. Можно МНК лучше метод максимального правдоподобия использовать . Но если честно они дают большую ошибку. Есть ли что-то лучше не знаю. Единственное что могу предложить выбрать определенные точки или признаки которые помогу. Плюс отбросить явно большые выбросы.
     
  8. t00x

    t00x New Member

    Публикаций:
    0
    Регистрация:
    15 фев 2007
    Сообщения:
    1.922
    Код (Text):
    1. 1. Функция определения принадлежности двух траекторий участку по координатам (погрешность в единицах абсолютных координат);
    2. 2. Функция нахождения начала/конца участка (погрешность в единицах абсолютных координат);
    3. 3. Ну и f1(p) - f2(p). (показания одометра в начале/конце участка);
    4. P.S.
    5. 4. Накопительная статистическая функция нахождения участков в итоге даст достаточно точные данные =>
    6. 5. Точность определения разности показаний одометров будет расти.
    7. 6. В итоге точность разности показаний одометров зависит от погрешности измерения траектории;
    8. 7. Для повышения точности измерений при одновременном изменении нескольких координат надо увеличивать частоту измерения координат.
     
  9. Black_mirror

    Black_mirror Active Member

    Публикаций:
    0
    Регистрация:
    14 окт 2002
    Сообщения:
    1.036
    Простое, не очень точное решение(работает если общий участок был один, а за его пределами траектории приближались к друг другу в небольшом числе точек):
    s=sum(i=0..n) sum(j=0..m) (s1-s2[j])*W(|x1-x2[j]|)
    w=sum(i=0..n) sum(j=0..m) W(|x1-x2[j]|)
    delta=s/w
    (s1-s2[j]) - разность показаний одометров в точках с индексами i и j. Для первого объекта имеется n точек в которых производилось определение координат, для второго - m.
    W(|x1-x2[j]|) - весовая функция пропорциональная вероятности получить расстояние r между измеренными координатами объектов в случае когда на самом деле они находились в одной точке. Правда при большом количестве точек работает так же функция, которая принимает ненулевое константное значение при r<k, где k некоторое расстояние которое получить при двух определениях координат для одной и той же точки практически невозможно, и 0 при r>=k.
    Начало и конец участка в принципе тоже можно похожим методом искать, но до практической проверки ломать голову дальше над этим не буду.
     
  10. PSR1257

    PSR1257 New Member

    Публикаций:
    0
    Регистрация:
    30 ноя 2008
    Сообщения:
    939
    Я бы тоже рекомендовал Xq как критерий и вообще по всем точкам замеров получить обе функции движения (чем приближать - навскидку не могу сказать).