Телескопы покупают здесь


A A A A Автор Тема: Аппроксимирование погрешности "гида для поезда" ХЕЕЛП(к математикам)  (Прочитано 1052 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн FaunАвтор темы

  • Новичок
  • *
  • Сообщений: 5
  • Благодарностей: 0
    • Сообщения от Faun
 Доброго времени суток.
 Моя нынешняя задача не касается непосредственно телескопостроения, но ее решение точно из вашей области..
 Сам я, года 3-4 тому построил ньютона, D-107 f~700. даже в теме "наши телескопы" на страницах 10-20 есть где-то фотка этого чуда ;) (тогдашний мой ник, "Faun1").
 Ладно, представился :) Свой-я, свой!, ногами не пинать ;)...

Так  вот, так случилось, что косвенно(на правах программиста) я сейчас участвую в разработке одного устройства, связанного с безопасностью движения в тоннелях метро(меня просили сильно не распространяться о подробностях, но намёками, думаю можно ;).). Устройство весьма хитрое, оно *обязано ПРЕДЕЛЬНО ТОЧНО* знать местоположение поезда в любой момент его движения. Впринципе, задача не сложнА, через каждые 0.73 метра вдоль путей будут установлены датчики, срабатывающие на появление поезда.. Но вот в чём загвоздка, единственный тип датчиков, разрешённый там к применению, имеет очень даже солидную погрешность ~3-8см, да и вообще, стабильностью работы не блещет.. А выкручиваться-то надо! :-\.

Задача  мне точь-в точь напомнила ту, над которой мне уже приходилось задумываться,.. по небу НЕ ЛИНЕЙНО(из-за углов склонения и преломлений атмосферы) движется звезда, на которую позиционируется автоматика гида... Если применить алгоритм предсказания(на основании предыдущего промежутка ее движения), то можно довольна точно узнать, где звезда окажется через какой-то промежуток времени. Изюминка даже не в том, что авто-гид будет знать, куда ему повернуться через пару минут, а в том, что он будет знать траекторию ее движенья!(и с минимальной погрешностью будет плавно следовать за ней все эти пару минут!).   
 Т.е. получается эдакий "интеллектуальный" гид для астро-фото, без применения точной механики(только люфты получше замазать
;).)
 Эта задача может показаться(с точки зрения автоматики) совсем простой, если-бы не "глаз", следящий за звездой. звезда ведь тоже по небу прыгает ещё как! :-/... Вот, тепер известны два неизвестных с которыми придётся иметь дело.. :)
В случае астрономического подхода, задача описана, конкретно в моём, впринципе, тоже самое, как и звезда по небу, поезд, в силу своей огромной массы движется плавно(с незначительными ускорениями(НО НЕ БЕЗ НИХ!!)). как и в гидировании звезды "глазом", имеет место "разброс показаний".
Задача обрисована, осталось нарисовать ;)...

[картинка]

График нарисован в паинте, чтоб не вышло коряво, рисовал "под лупой". как результат, вышло мелко   ::)
Обьяснять здесь особо нЕчего, всё подписано... Физически, в вычислениях могут участвовать не более 20-ти предыдущих точек, логика подсказывает(возможно и не верно), что такие задачи решаются при помощи "функций". если бы только в этом стояла задача?!, я ведь ещё никак не пойму, как ее"усреднить", чтобы она нарисовалась именно посреди всех предидущих точек. иначе рушится вся идея... Кстати, я ведь и "функцию" нарисовать-то не помню как ;), Ну, за этим дело не стало бы, споймал бы какого-нить школьника после уроков, он обьяснил бы... ;)

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

Кстати, этот мой вапрос ООчень срочный, проект и без того хронически пробуксовывает :P. Сам я эту задачу не решу, так-что надежда сейчас только на вашу помощ.. HEEELP!!!

Кстати, результаты моих дознаний вам пригодятся не меньше!

Оффлайн Stepa

  • *****
  • Сообщений: 1 989
  • Благодарностей: 44
  • Мне нравится этот форум!
    • Сообщения от Stepa
Задача экстраполяции, вообще говоря, не поддается решению.
Найдите, например, аппроксимирующий многочлен Ньютона или Лагранжа и используйте его для нахождения значений вне интервала.
Возможно, что это сработает в вашем случае.


We must hang together or we all shall hang separately

Оффлайн FaunАвтор темы

  • Новичок
  • *
  • Сообщений: 5
  • Благодарностей: 0
    • Сообщения от Faun
Задача экстраполяции, вообще говоря, не поддается решению.
Задача, минимизировать погрешность, я понимаю что избежать ее невозможно.
И получать значения похожие на реальное движения поезда, а не рывкообразно(как трактор по калдобинам)

Найдите, например, аппроксимирующий многочлен Ньютона или Лагранжа и используйте его для нахождения значений вне интервала.
Возможно, что это сработает в вашем случае.
Вот куда меня сослал Яндекс...(в состоянии лёгкого шока)
http://www.intuit.ru/department/calculate/intromathmodel/11/intromathmodel_11.html
Может, мне это и поможет,.. но кто теперь поможет мне??!   :-\


Оффлайн Штрель > 1

  • ****
  • Сообщений: 445
  • Благодарностей: 2
    • Сообщения от Штрель > 1
Если делать по науке, то калмановский фильтр спасет отца русской демократии.
Но если нужно совсем быстро и проект срочный, то Вам нужно смотреть в сторону определения полинома методом наименьших квадратов. Подозреваю, что достаточно будет полинома 2-3 степени. 20 точек (показаний датчиков движения) более чем достаточно, чтобы определить коэффициенты многочлена. Кривая получится гладкой, ошибки датчиков и рывки вагонов усреднятся. Зная полином, определите положение поезда на след. шаге.

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

Успехов!
Очки -3.5D.

Оффлайн FaunАвтор темы

  • Новичок
  • *
  • Сообщений: 5
  • Благодарностей: 0
    • Сообщения от Faun
Всем агромное спасибо, озадачил вашими советами того, кто рубит в вышке, всё ещё :-/.. Напомнило мне погаворку "хочеш сделать хорошо, делай сам" :(..
А программу я для микракантроллера пишу, замечательная такая микрушка, всего 2 бакса ценой, а внутри, практически церый кампьютер! %).. Написал ему программу, и дёргай за рычажки(ноги всмысле, на которые можна всякое подавать ...
Освоить науку, нулевому программеру пару дней вдумчивого чтива, прогеру с опытом, за день, кто асемблер знает, раз прочесть....
Читайте здесь... http://radiokot.ru/start/mcu_fpga/avr
Пошёл я спрашивать яндекса о "полиномах методом наименьших квадратов."... Даже незнаю, с какова слова начать! ;).
« Последнее редактирование: 13 Мая 2007 [10:13:59] от Faun »