Специальные цены   новые товары
Закрытая тема
Страница 3 из 4 ПерваяПервая 1 2 3 4 ПоследняяПоследняя
Показано с 81 по 120 из 134

Fail-Safe - Автопилот для полетов по камере

Тема раздела Самодельная электроника, компьютерные программы в категории Общие вопросы; Хм... там книга у производителя энтого бэйсика и в оной упомянуто что он long intеger в 32 бита жует и ...

  1. #81

    Регистрация
    19.07.2005
    Адрес
    Москва
    Возраст
    59
    Сообщений
    6,063
    Хм... там книга у производителя энтого бэйсика и в оной упомянуто что он long intеger в 32 бита жует и с чем Вы хотите извращаться c 24-мя, косинус и сунус в библиотеке тоже вроде есть или точности не хватает?

  2.  
  3. #82
    Psw
    Psw вне форума
    Давно не был
    Регистрация
    04.10.2005
    Адрес
    Калининград
    Возраст
    51
    Сообщений
    655
    Цитата Сообщение от vovic Посмотреть сообщение
    Я уже писал - если писать на С - надо писать всю программу.
    Так а много язычные проекты разве кто-то отменял ?
    Написать на С функцию с нужным входом/выходом ( вплоть до Вход = Текст NMEA Широта/Долгота и Выход = азимут/расстояние до цели) откомпилить и встроить её в готовый проект.
    Немного гемор связывать воедино, зато не нужно всё переписывать.
    Цитата Сообщение от vovic Посмотреть сообщение
    Впрочем, возможно на С написать расчет азимута, откомпилить его
    Вот и я о том. А в помошники как минимум Прикупеца взять - он добрая душа потому как.
    А нацеливать лучше на совместимый по выводам (к исходному проекту) пик18 - ресурсов больше. Наверняка Микрочип пик басиц компилит и для пик16 и пик18.
    Цитата Сообщение от vovic Посмотреть сообщение
    Я брал бесплатно вот тут - это форум поклонников PIC
    Вовик, так а быть может не поленишься кинуть в меня ентим Микрочип пик басицом или ссылкой на него? Потому как у меня парочка есть, но какие-то они странные, меня не особо завели. Но они не Микрочип, который насколько я понял в МпЛаб ихний интегрится. А к МпЛабу я уже как-то привык.
    Цитата Сообщение от vovic Посмотреть сообщение
    Как всегда - недостатка в советах нет, но вот помоч - это всегда дифицит.
    Ну я как обычно готов орать "ДАЙ" какую-либо исходники/прогу для пика или атмела уже тоже - купил мег несколько штук для опытов. А программатор Тритон у меня их одинаково хорошо шьёт. А для пика ещё и внутрисхемный программер/отладчик прикупил на Микрочипе через СГиба с очередной посылочкой - так что бета тестер/ковырятель исходного кода из меня хоть какой-то.
    P.S.
    2 Вано:
    А про антенну BU353 - на самой антенне пайку якобы трогать нельзя. Толстый Проводок с ентой пайки в антенне протыкает модуль насквозь. Вот с обратной стороны платы его и надо отпаять. На моих фото выше в ентой теме как сейчас помню хорошо видна ента капля припоя на плате - гораздо больше и корявее всех остальных. Антенна кстати приклеена к экрану - енто доп гемор. Я когда (подантенный) экран отпаивал не снимая антенны подрезал нечаянно кондёр в уголке платы. Но без него тоже работает.
    А потом уже можно и центральный антенки паять.
    А кстати, сирф-3 можно заставить запомнить параметры обмена, или каждый раз после подачи питания нужно программировать ? Ну ту же скорость интерфейса и интервал обновления ? Или 10 Гц можно только по Сирф Бинари брать, а по NMEA он так и будет вещать - 4800 бод 1 Гц обновления ?
    А то я выход нашёл, а вот вход найти не получилось почему-то. По минимуму достаточно, но программить только по USB пока что.

  4. #83

    Регистрация
    11.08.2005
    Адрес
    Домодедово
    Возраст
    58
    Сообщений
    109
    Цитата Сообщение от Psw Посмотреть сообщение
    Ну ту же скорость интерфейса и интервал обновления ? Или 10 Гц можно только по Сирф Бинари брать, а по NMEA он так и будет вещать - 4800 бод 1 Гц обновления ?
    Я эксперементировал с PocketLoox520, в нем именно sirf3 стоит. Мне удавалось его и в sirfbinary и в NMEA режимах переключать на скорости обмена до 57600. Вот по скорости обновления сказать ничего не могу, не пробовал.
    Недавно прикупил модуль ET-301 для subj. Буду его мучать в ближайшее время.
    Цитата Сообщение от Psw Посмотреть сообщение
    А кстати, сирф-3 можно заставить запомнить параметры обмена, или каждый раз после подачи питания нужно программировать ?
    В sirf3 используется статическая память, для хранения информации надо подпитывать модуль, используя батарейку на 3в, примерно такую же как в биосе компа (или в часах %). Время непрерывной работы такой батарейки измеряется в годах, потребление там мизерное.

  5. #84

    Регистрация
    07.08.2001
    Адрес
    Воронеж
    Возраст
    61
    Сообщений
    4,397
    Записей в дневнике
    4
    Цитата Сообщение от Boriska62 Посмотреть сообщение
    В sirf3 используется статическая память, для хранения информации надо подпитывать модуль, используя батарейку на 3в, примерно такую же как в биосе компа (или в часах %). Время непрерывной работы такой батарейки измеряется в годах, потребление там мизерное.
    Немного не так. Батарейка нужна для питания внутренних часов реального времени для обеспечения быстрого теплого и горячего рестарта.

    Цитата Сообщение от Psw Посмотреть сообщение
    Вовик, так а быть может не поленишься кинуть в меня ентим Микрочип пик басицом или ссылкой на него? о кода и.
    Вот тут подробная инструкция по инсталляции бесплатного компилятора Пикбейсика поверх бесплатной MPLAB:
    http://www.microchip.ru/phorum/read.php?f=...57#reply_131857
    Там есть все необходимые ссылки. Я делал все точно по ней - и все работало. MPLAB я брал версии 7.40.Важно правильно пути прописать, где будет компилируемый текст.

    Исходники навигатора RCAP - в ссылке, данной мною выше в этой теме. Там основной текст и текст обработки прерываний. Если заинтересует - могу дать подробные коментарии по структуре программы и назначении переменных. Там текст Пикбейсика вперемешку с кодом на ассемблере - одно из достоинств языка.

    Цитата Сообщение от Psw Посмотреть сообщение
    Вот и я о том. А в помошники как минимум Прикупеца взять - он добрая душа потому как.
    Был бы очень рад. Но у него пока другие интересы. Жаль.

  6.  
  7. #85
    Psw
    Psw вне форума
    Давно не был
    Регистрация
    04.10.2005
    Адрес
    Калининград
    Возраст
    51
    Сообщений
    655
    Вовик, за ссылочку спасибо, весьма информативна.
    Цитата Сообщение от vovic Посмотреть сообщение
    Был бы очень рад. Но у него пока другие интересы. Жаль.
    У всех другие интересы - трудно жить только электроникой/моделизмом.
    Однако же надо не только деффчонок жарить и пиво зло употреблять, надо ещё и проги ковырять для само обучения/удовлетворения.
    Одним словом, мне надо пик басиц для комплекта ставить. Правда, я думал, что он от Микрочип. А ентот ПикБасицПро от http://www.microengineeringlabs.com/ у меня уже был. Правда, к МпЛабу для построчной эмуляции я его так и не подвязал. Теперь буду пробовать. Ну и страничка с готовыми проектиками на ПикБасице тоже весьма содержательна, наверное.
    P.S.
    А в BU353 вроде вместо ентой батарейки СуперКонденсатор ионный стоит.
    Ну типа - на какое-то время он питает бортовые часы для быстрого старта.
    Хотя действительно ничего не стоит литиевую таблетку туда замонстрячить, если енто "какое-то" время окажется слишком малым.

  8. #86

    Регистрация
    07.08.2001
    Адрес
    Воронеж
    Возраст
    61
    Сообщений
    4,397
    Записей в дневнике
    4
    Цитата Сообщение от Psw Посмотреть сообщение
    Ну типа - на какое-то время он питает бортовые часы для быстрого старта.
    Хотя действительно ничего не стоит литиевую таблетку туда замонстрячить, если енто "какое-то" время окажется слишком малым.
    К модулю u-blox я примострячил CR1220 где то в апреле месяце. До сих пор все ОК. Она при включении девайса подзаряжается. Горячий рестарт очень полезен, когда в перевернутом полете GPS приемник теряет спутники. Пропадает всего около 5 секунд реальных координат после возврата планера в нормальное положение.

  9. #87

    Регистрация
    09.12.2004
    Адрес
    г. Железнодорожный
    Возраст
    49
    Сообщений
    1,655
    Записей в дневнике
    607
    Цитата(Psw @ Dec 15 2006, 02:26)
    Вот и я о том. А в помошники как минимум Прикупеца взять - он добрая душа потому как.
    Цитата Сообщение от vovic Посмотреть сообщение
    Был бы очень рад. Но у него пока другие интересы. Жаль.
    Интересы не изменились. А вот время не хватает тотально. Даже спать приходится по 5-6 часов. Моделизм отдыхает. Работа блин все съедает... Щас сам пытаюсь потихоньку портировать свою GPS прогу на 18F252-PIC.

  10.  
  11. #88

    Регистрация
    06.03.2006
    Адрес
    Москва
    Возраст
    51
    Сообщений
    16
    Код на С++ вычисление азимуна и расстояние между точками.
    Когда осилю Пик - перепишу на пикбейсике
    nav.rar

  12. #89

    Регистрация
    06.03.2006
    Адрес
    Москва
    Возраст
    51
    Сообщений
    16
    Если полёты в одном месте, то можно просто поотдельности вычесть долготы и широты,
    умножить на масштабный коэффициент и получиться
    разность между точками по двум осям.
    Отсюда знаем азимут и расстояние.

    Например:
    разница в 1 минуту
    между
    широтами долготами
    Москва 1856 м 1058 м /метров
    Воронеж 1855 м 1150 м /метров

  13. #90

    Регистрация
    27.12.2000
    Адрес
    С-Петербург
    Возраст
    45
    Сообщений
    1,747
    Цитата Сообщение от Psw Посмотреть сообщение
    Об ентом Серж насколько я понимаю только мечтает - увеличить частоту принятия решений с 1 Гц до 10 Гц хотя бы.

    Однако всё-равно радует, что хоть кто-то могёт, хоть для какого-то частного случая проца в ГПС. Особенно про ненавистные 1 и 10 Гц расчета позиции/принятия управляющих решений.
    Я мечтаю, чтоб хоть и на 0.5гц, но чтобы эта сволочь не тормозила по 6-7 а иногда и 10с в поворотах на скоростях 130-150км/ч, а то блин такие вилюшки получаются... в окружность 70м с трудом наводится, в 50м уже промахивается с первого раза., это ежели до точки меньше 350м и надо повернуть на 110 градусов и больше.....
    Если издалека наводиться или выписывать полукилометровые круги (что при такой скорости занимает всего 30с), отклонения курса и связанные с ними проблемы существенно уменьшаются

    Вовик, а у тебя на антарисе по отношению к визуальному положению на 130-150 км/ч наземной скорости как обстоят дела-не смотрел?

    Мне тут на выставке наплели, что при равномерном движении при скоростях выше сотни (автомобиль на трассе) примерно 0.2% точек из упрыгивает с линнии пути километров на 5 в сторону, потом назад. Дескать проверено на автомобильных системах, и такое встречается в серии LEA постоянно. Насколько я понимаю, софт в TIM и LEA не особо отличается...

  14. #91

    Регистрация
    07.08.2001
    Адрес
    Воронеж
    Возраст
    61
    Сообщений
    4,397
    Записей в дневнике
    4
    Цитата Сообщение от serj Посмотреть сообщение
    Вовик, а у тебя на антарисе по отношению к визуальному положению на 130-150 км/ч наземной скорости как обстоят дела-не смотрел?
    Да записи ж полетов выложены - можно самому посмотреть. Визуально погрешность координат не превышает размаха крыла планера. Про автомобили - это ж совсем другое дело. Планер в лесу и между зданиями никогда не летит. Над ним всегда чистое небо (в смысле - радиопрозрачное). Поэтому точность очень высокая. На виражах с ускорениями 2 - 3g потери точности нет. Скорости - до 200 км в час, не думаю, что машины ездят быстрее.
    Чтобы на автомобиле была аналогичная точность антенна GPS должна быть обязательно активной и расположена на крыше машины, желательно не на краешке, а ближе к середине.

    Цитата Сообщение от Unav Посмотреть сообщение
    Если полёты в одном месте, то можно просто поотдельности вычесть долготы и широты,
    умножить на масштабный коэффициент и получиться
    разность между точками по двум осям.
    Отсюда знаем азимут и расстояние.
    Алгоритм так и построен - вычитаем по отдельности разность долгот и широт. Делим одну разность на другую и берем от частного функцию арктангенс. Получаем азимут в градусах. По идее, разность долгот надо перед делением умножить еще на косинус широты - но можно этого и не делать. Тогда подлет к цели на широтах Воронежа-Москвы будет осуществляться немного не по прямой, а по дуге. Вместе с тем, на точности привода к цели и поведении автопилота при прохождении цели это упрощение никак не повлияет. Поэтому - можно на этот множитель вообще забить.
    Простота вычисления осложняется особыми точками, разрядностью исходных координат и знакопеременным аргументом арктангенса. Который надо отрабатывать отдельно для однозначности полученного азимута в четырех квадрантах. Никакой фантастики - но у меня ума не хватает написать по алгоритму код - дилетанту все трудно.

  15. #92

    Регистрация
    19.07.2005
    Адрес
    Москва
    Возраст
    59
    Сообщений
    6,063
    Пардона прошу, я сначала и Бэйсик не тот взглянул, а в этом и вправду разрядность переменных ограничивается максимум словом. Зато углядел книжечку по геодезии, по ссылке лежит формулка для машинных вычислений, посмотрите, так наверное попроще считать.

  16. #93

    Регистрация
    07.08.2001
    Адрес
    Воронеж
    Возраст
    61
    Сообщений
    4,397
    Записей в дневнике
    4
    Цитата Сообщение от PigTail Посмотреть сообщение
    Зато углядел книжечку по геодезии, по ссылке лежит формулка для машинных вычислений, посмотрите, так наверное попроще считать.
    Там пример вычислений на поле прямоугольных координат. При переходе к географическим можно в первом приближении использовать этот подход, домножив долготу на косинус широты.
    Второй вариант рачетов (для машинных приложений) к сожалению не может обойтись без отдельного определения квадранта результата. Действительно, если в последней формуле принять равным дельта Х нулю, что фактически указывает на нахождении планера и цели на одной широте, то рекомендуемая формула вообще не учитывает, находится цель западнее или восточнее планера. Т.е. налицо неоднозначность результата с точностью до Пи-радиан, которую можно устранить только отдельным кусочком кода, разбивающем задачу на квадранты.
    Так что без этого никак не обойтись
    Что мне еще не понравилось в варианте с арккосинусом - отсутствие масштабируемости погрешности вычислений в зависимости от расстояний до цели. В варианте с арктангенсом остается постоянной относительная погрешность вычисления курса на цель, что весьма удобно для стабильной работы автопилота при прохождении координат цели. Зато надо отдельно отрабатявать особые точки, чтобы избежать деления на ноль. В варианте с арккосинусом особых точек нет, зато по мере приближения к цели растет относительная погрешность вычислений, что может дестабилизировать управление от автопилота при достижении цели.
    Почему так важно поведение у цели? Если автопилот используется для спасения модели при помехах или отказе аппаратуры RC управления, то по достижении цели модель будет кругами и восьмерками летать над пилотом постепенно к нему приближаясь, создавая предпосылки к восстановлению линии командного управления и управляемой посадке у земли. Но это возможно только при стабильной отработке автопилотом управления вблизи цели.
    Буду рад, если меня поправят.

  17. #94

    Регистрация
    19.07.2005
    Адрес
    Москва
    Возраст
    59
    Сообщений
    6,063
    Понятно, что прямоугольные координаты, просто в данном учеьнике утверждается, что при размерах менее 22 км можно применять прямоугольные координаты.
    Окончание формулки разве не делает результат однозначным ?
    если ΔY => 0 , то α = a ,
    если ΔY < 0 , то α = 360 - a .

    Впрочем, с точки зрения программирования ИМХО все равно какой алгоритм использовать, оба не сложны, но просмотр исходника ввел в ступор, этот бэйсик ....

  18. #95

    Регистрация
    27.12.2000
    Адрес
    С-Петербург
    Возраст
    45
    Сообщений
    1,747
    Цитата Сообщение от vovic Посмотреть сообщение
    Да записи ж полетов выложены - можно самому посмотреть. Визуально погрешность координат не превышает размаха крыла планера. Про автомобили - это ж совсем другое дело. Планер в лесу и между зданиями никогда не летит. Над ним всегда чистое небо (в смысле - радиопрозрачное). Поэтому точность очень высокая. На виражах с ускорениями 2 - 3g потери точности нет. Скорости - до 200 км в час, не думаю, что машины ездят быстрее.
    дык, по записям ничего не понятно, т.к там нету видео я имею в виду не пропадание позиции и потерю точности, а отставание по времени ,

    Пример- , скорость воздушная 120, наземная пусть 160,(летим по ветру) , пошел разворот с угловой скоростью примерно 30- 40 градусов/с, то есть разворот на 180 градусов займет около 5-6 секунд. как при этом ведет себя gps относительно реального (визуально) положения планера ?

    У нас при визуальном и "инерциальном" анализе поворота, в зависимости от ускорения в повороте идет отставание курса и позиции от реальной на 3-7с!

    Косвенно это можно определить по "плотности" (равномерности распположения на треке) точек в поворотах- если воздушная и угловая скорость не менялась, а ветер составляет процентов 20-30 от скорости планера, то на треке поворот должен выглядеть почти идеальным яйцом (то бишь эллипсом.)

    При запаздавании курса и позиции (когда ускорение нарастает примерно до 1.5g) расстояние между точками идет неравномерно- по треку видны рывки скорости, а по логам с самого приемника их нету!

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

  19. #96

    Регистрация
    07.08.2001
    Адрес
    Воронеж
    Возраст
    61
    Сообщений
    4,397
    Записей в дневнике
    4
    Цитата Сообщение от serj Посмотреть сообщение
    У нас при визуальном и "инерциальном" анализе поворота, в зависимости от ускорения в повороте идет отставание курса и позиции от реальной на 3-7с!
    Трудно представить себе механизм запаздывания. Конечно, в GPS-приемнике есть конвеер вычислений, однако его время задержки не более цикла вычислений - т.е. при потоке отсчетов 1Гц время задержки не более секунды. Это по отношению к результату, выдаваемому по NMEA. Что же касается средств отображения на экране навигатора на карте - там такие задержки запросто возможны - но они нас мало волнуют. Автоматика будет получать свежие данные по NMEA. Где задержки нет.

  20. #97
    pdk
    pdk вне форума

    Регистрация
    03.07.2005
    Адрес
    Монино М.О.
    Сообщений
    92
    Цитата Сообщение от vovic Посмотреть сообщение
    Трудно представить себе механизм запаздывания.
    Как раз ничего трудного - в GPS приемнике стоит фильтр калмана, он и дает запаздывание.
    Кроме того в самом фильтре имеется некая модель системы, довольно простая, а следовательно обладающая большой погрешностью на сложных траекториях.
    Идеальный вариант использовать в системе управления псевдодальности, да дешевые приемники их не выдают (про сложность математики лучше промолчу).

    Фильтр Калмана для чайников
    Еще можно почитать Wiley - Global Positioning Systems - Inertial Navigation And Integration
    в сети нет, но могу поделится

  21. #98

    Регистрация
    07.08.2001
    Адрес
    Воронеж
    Возраст
    61
    Сообщений
    4,397
    Записей в дневнике
    4
    Цитата Сообщение от pdk Посмотреть сообщение
    Как раз ничего трудного - в GPS приемнике стоит фильтр калмана, он и дает запаздывание.
    Но не более чем на цикл. Одна секунда погоды не делает - планер на крейсерской скорости 80 км в час пролетит не на цель, а в 20 метрах от нее - ну и что? По моему - это не проблема для применения по названию этой темы.

  22. #99
    pdk
    pdk вне форума

    Регистрация
    03.07.2005
    Адрес
    Монино М.О.
    Сообщений
    92
    Цитата Сообщение от vovic Посмотреть сообщение
    Но не более чем на цикл.
    тактовая частота фильтра гораздо выше тех 1-5Гц с которыми приемник выдает данные
    то что идет наружу это мнгновенное значение фильтрованного сигнала.


    С циклом выдачи задержка никак не связанна, она определяется только реализацией фильтра, его "постоянной времени"

  23. #100

    Регистрация
    07.08.2001
    Адрес
    Воронеж
    Возраст
    61
    Сообщений
    4,397
    Записей в дневнике
    4
    Цитата Сообщение от pdk Посмотреть сообщение
    С циклом выдачи задержка никак не связанна, она определяется только реализацией фильтра, его "постоянной времени"
    Это понятно, но нет смысла делать период выдачи координат меньше, чем задержка в вычислениях. Смысл теряется. Поэтому так и не делают. Я об этом говорил. По моему, это очевидно.

  24. #101
    pdk
    pdk вне форума

    Регистрация
    03.07.2005
    Адрес
    Монино М.О.
    Сообщений
    92
    Цитата Сообщение от vovic Посмотреть сообщение
    Это понятно, но нет смысла делать период выдачи координат меньше, чем задержка в вычислениях. Смысл теряется. Поэтому так и не делают. Я об этом говорил. По моему, это очевидно.
    только это не "задержка в вычислениях.", а переходной процесс фильтра
    ( по данным serj задержка достигает 7сек, понятно что настраивать выдаче NMEA на самолете на 8-10сек неприемлемо )

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

  25. #102

    Регистрация
    07.08.2001
    Адрес
    Воронеж
    Возраст
    61
    Сообщений
    4,397
    Записей в дневнике
    4
    Цитата Сообщение от pdk Посмотреть сообщение
    пока мы летим "в рамках" встроеной в GPS модели погрешность получаемых с приемника координат -просто шум, как только мы вышли за эти рамки погрешность начинает коррелировать с параметрами движения, и если у нас есть более точная матмодель движения(для оценки этих параметров) то можно повысить итоговую точность определения координат.
    Насколько я понял из фирменного описания u-blox там модель проста до безобразия - прямолинейное движение. Ширина полосы пропускания фильтрации Кальмана, в рамках которой отрабатывается криволинейное движение, предустановками задается четыре ступени, в зависимости от ускорения объекта на виражах. Соответственно, меняется шум фильтрации на отступлении от модели - чем шире полоса пропускания, тем больше шум координат на вираже. Если вираж делается с бОльшим ускорением, чем полоса пропускания фильтра Кальмана - происходит потеря положения. Я это регулярно наблюдаю на старте с лебедки - планер отпускается из рук, когда усилие леера больше 10 кГ - это при весе планера в 2 кГ дает ускорение больше 5g. Очень часто на записи логгера в момент старта есть потеря положения GPS-вычислителя. Еще такое бывает на кивке динамостарта с лебедки. Но гораздо реже.
    Реальные опыты с автопилотом RCAP на местности показали неплохую точность наведения на цель даже с GPS-приемником eTrex, который выдает координаты раз в 2 секунды. Мне кажется, что для полетов моделей планеров и самолетов проблема точности GPS не стоит вообще.
    Проблема - написать код.

  26. #103

    Регистрация
    09.12.2004
    Адрес
    г. Железнодорожный
    Возраст
    49
    Сообщений
    1,655
    Записей в дневнике
    607
    Цитата Сообщение от vovic Посмотреть сообщение
    Реальные опыты с автопилотом RCAP на местности показали неплохую точность наведения на цель даже с GPS-приемником eTrex, который выдает координаты раз в 2 секунды. Мне кажется, что для полетов моделей планеров и самолетов проблема точности GPS не стоит вообще.
    Спасибо за исследования, эта инфа для меня важна!

  27. #104

    Регистрация
    07.08.2001
    Адрес
    Воронеж
    Возраст
    61
    Сообщений
    4,397
    Записей в дневнике
    4
    Цитата Сообщение от Prikupets Посмотреть сообщение
    Спасибо за исследования, эта инфа для меня важна!
    Вселяет надежду.
    Если будете браться, то просьба, ориентироваться на формат NMEA сообщение $GPRMC . В нем есть и текущие координаты и текущий курс модели. Надо только добавить расчет курса на цель.
    Почему такая просьба? - Для живучести решения во времени. Как показывает жизнь - эта сфера очень подвижна, вчерашние фавориты можно завтра уже не найти на рынке средств GPS. Поэтому привязка к самому расхорошему, но собственному стандарту производителя через 3 года может стать недоступной для повторения. А самое ценное решение - свободное для повторения любым желающим.
    Готов помочь во всем, что потребуется.

  28. #105

    Регистрация
    19.07.2005
    Адрес
    Москва
    Возраст
    59
    Сообщений
    6,063
    Цитата Сообщение от Vad64 Посмотреть сообщение
    А реально ли, скажем, в Москве купить в розницу какой-нибудь OEM GPS модуль с документированной системой команд и форматом данных? Если да, то где, как и сколько это ориентировочно будет стоить?
    Пробую приобрести ЕМ-406 в геопарке, обещают 2 неделю, что должны появиться, пока ждемс, как появятся могу свиснуть или взять на Вашу долю, у них доставка по Москве, потом заберете, как удобно будет, цена на сайте 55 баксов. Документация довольно скудна, но лежит на сайте На англицком не менее краткое описание тоже можно найти на Глобалсатовском сайте, кроме NMEA еще могет общаться собственным протоколом чипсета, возможности протоколов пока не сравнивал. Собственно файлы с описаловкой:

    Вложение 56721

  29. #106

    Регистрация
    27.12.2000
    Адрес
    С-Петербург
    Возраст
    45
    Сообщений
    1,747
    Вовик так и не ответил, оценивал ли он динамические характеристики (запаздывание) у антариса

    Ну да ладно. Придется выяснять в реальных полетах .

    А на планере плавно летающем только по gps задержки скореее всего не превысят 2с- там ускорения невелики .

  30. #107

    Регистрация
    09.12.2004
    Адрес
    г. Железнодорожный
    Возраст
    49
    Сообщений
    1,655
    Записей в дневнике
    607
    Цитата Сообщение от vovic Посмотреть сообщение
    Вселяет надежду.
    Если будете браться, то просьба, ориентироваться на формат NMEA сообщение $GPRMC .
    Так и делаю

  31. #108
    Psw
    Psw вне форума
    Давно не был
    Регистрация
    04.10.2005
    Адрес
    Калининград
    Возраст
    51
    Сообщений
    655
    Цитата Сообщение от serj Посмотреть сообщение
    Вовик так и не ответил, оценивал ли он динамические характеристики (запаздывание) у антариса

    Ну да ладно. Придется выяснять в реальных полетах .

    А на планере плавно летающем только по gps задержки скореее всего не превысят 2с- там ускорения невелики .
    От себя могу подтвердить задержку между визуальным положением ЛА и положением ГПС выданным еТрексом ( прохождение желаемой точки приземления парапрыгеров)
    Задержку оцениваю около 2-5 секунд, что для парапрыгеров не существенно. При оценке полёт прямолинейный, воздушная 130-160 (АН-2 родимый), по земле от ветра, без ощущаемых перегрузок.
    И ещё у меня есть предположение, что ГПС вертикаль и грави вертикаль не соосны.
    Ну то есть точность/ошибка ГПС при проходе над целью высота 100 метров визуальный угол на цель меньше, чем когда на 2000 метров - тогда ГПС сильнее в бок уводит. Хотя опять же для парапрыгеров с бортовым интеллектом и самонаведением на цель енто тоже весьма не существенно - отличие гораздо менее 10 градусов и его вообще можно списать на глюки визуальной оценки пилота ЛА, который на ентом ЛА ближайшие лет 20 заходы для парапрыгеров и делает. А вот для прицельного бомбометания ну никак не годится.
    В еТрексе использовал экран Направление/Расстояние до точки. Более Половины неба экранировались кабиной АН-2, спутников 5-6 с хорошим сигналом, только они меняются быстро.

  32. #109
    Psw
    Psw вне форума
    Давно не был
    Регистрация
    04.10.2005
    Адрес
    Калининград
    Возраст
    51
    Сообщений
    655
    Ну вот, редактирование в течение часа:
    "Обнаружена ошибка:
    У вас нет прав редактирования этого сообщения
    Данные сообщения успешно сохранены!"
    А если у меня сложное редактирование ? Короче, пришлось вторую мессагу в догонку:
    Цитата Сообщение от Unav Посмотреть сообщение
    Код на С++ вычисление азимуна и расстояние между точками.
    Вложение 56210
    Прикольно, коды. Правда, код СРР не особо применим в данном случае, насколько я понимаю.
    Потому как для ентих МК Си по проще будет, для примера студенческая 60 дней версия Си для 18 ПИКов ну и документация к нему.
    Ну и MPLAB с сайта Микрочип тоже пригодится для исследований.
    Цитата Сообщение от Unav Посмотреть сообщение
    Когда осилю Пик - перепишу на пикбейсике
    Да ПИК как таковой осиливать особо и не нужно - надо, что-бы код на функции на Си хоть какую-либо компиляцию проходил как проектик в МпЛабе для отсутствия несоответствий синтаксиса. А обращения к аппаратным ресурсам надо в других местах/прогах делать или оно уже в бэйсике есть. В бэйсике нету обратной тригонометрии и нормальной точности, зато она есть в библиотеках для ПикСи18.
    А на входе в Си функцию как я уже говорил можно две пары координат иметь - стартовую и текущую (например прямо в тексте NMEA), а на выходе быть может - байт курса на цель (360 градусов= 0 градусов = 256 = 0) и пара байт расстояния до цели в метрах.
    Хотя с параметрами функции быть может Вовик подскажет/уточнит, на что там в RCAP упор делается - на какие параметры бэйсик расчитывает и в какой они форме.

  33. #110

    Регистрация
    07.08.2001
    Адрес
    Воронеж
    Возраст
    61
    Сообщений
    4,397
    Записей в дневнике
    4
    Цитата Сообщение от Psw Посмотреть сообщение
    А на входе в Си функцию как я уже говорил можно две пары координат иметь - стартовую и текущую (например прямо в тексте NMEA), а на выходе быть может - байт курса на цель (360 градусов= 0 градусов = 256 = 0) и пара байт расстояния до цели в метрах.
    Хотя с параметрами функции быть может Вовик подскажет/уточнит, на что там в RCAP упор делается - на какие параметры бэйсик расчитывает и в какой они форме.
    Я, собственно, так и предполагал. В текст существующей программы добавить несколько строк, которые ожидают после включения автопилота когда появяться достоверные координаты точки старта, после этого эти координаты запоминаются как точка возврата на все время полета.

    Функция вычисления азимута по координатам, хорошо если бы на входе имела бы четыре символьних последовательности формата ГГ.ММ,МММ - т.е. градусы, минуты с точностью до тысячных долей долготы и широты точки возврата и текущие значения координат. По умолчанию все координаты отнесены к северной широте и восточной долготе. На выходе иметь двухбайтное слово, численно равное азимуту на точку возврата в градусах. Тогда такую отлаженную функцию можно было бы вставить в имеющийся текст программы.

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

  34. #111

    Регистрация
    02.06.2005
    Адрес
    Ростов Великий
    Возраст
    56
    Сообщений
    556
    Цитата Сообщение от PigTail Посмотреть сообщение
    Пробую приобрести ЕМ-406 в геопарке, обещают 2 неделю, что должны появиться, пока ждемс
    Сегодня взял у них ЕМ-406

  35. #112

    Регистрация
    19.07.2005
    Адрес
    Москва
    Возраст
    59
    Сообщений
    6,063
    Гы... сервис у них, однако, позвонил, заказик мой уже посеяли , правда обещали завтра подвезти .

    Оперативка вроде в сей микрухе не только регистровая, да еще 256 байт ЕЕПРОМ, таблицу с тригонометрией туды можно запихнуть, хотя ПИКи для меня темный лес.

  36. #113
    Psw
    Psw вне форума
    Давно не был
    Регистрация
    04.10.2005
    Адрес
    Калининград
    Возраст
    51
    Сообщений
    655
    Цитата Сообщение от vovic Посмотреть сообщение
    В текст существующей программы добавить несколько строк
    Ну немного и я за себя взялся - хоть поставил ентот ПикБасицПро, подвязал его к МпЛабу и скомпилил RCAP.
    Прикольно - высокий уровень языка - я уже и забыл что енто такое.
    Когда для смены проца нужно лишь тип проца и поменять.
    А хекс уже другой построится.
    Цитата Сообщение от vovic Посмотреть сообщение
    Оперативка там регистровая и маленькая.
    Ну вот для ентого и прикола ради перекомпилил под пик18 - у него ресурсов гораздо поболее.
    Ну немного конечно подправить пришлось асм обработчик прерывания в Servo.Inc
    Но скомпилил для 18Ф4431 без ошибок сейчас - сказалась обратная совместимость асма по мнемокодам.
    Каталог проекта для пик16 и 18 прилагаю - вдруг кому интересно.
    Использование ПЗУ -
    Для пик18:
    Program Memory Bytes Used: 7702
    Program Memory Bytes Free: 8682
    Для Пик16:
    Program Memory Words Used: 4015
    Program Memory Words Free: 4177
    А вот про ОЗУ не знаю как узнать - сколько использовано/свободно.

    Хотя не известно, заработает ли ? Надо прикола ради ентот хекс зашить в макетку.
    Так а там для отладки ЛЦД на 44780 используется насколько я понял ?
    Тем более есть повод в свою макетку залить енто дело.
    Последний раз редактировалось Psw; 28.03.2009 в 11:43.

  37. #114

    Регистрация
    07.08.2001
    Адрес
    Воронеж
    Возраст
    61
    Сообщений
    4,397
    Записей в дневнике
    4
    Цитата Сообщение от Psw Посмотреть сообщение
    Ну немного конечно подправить пришлось асм обработчик прерывания в Servo.Inc
    В исходном обработчике есть ошибка - там после записи новых коэффициентов деления надо в управляющем регистре таймера установить младший бит. Автор же загоняет в регистр единицу - в результате предделитель таймера паузы сбрасывается (старшие биты регистра). Практически в работе аппарата это вызывает дрожание-дрейф сервомашинки. Я этот трабл две недели выискивал в прошлом году - потом устранил.

  38. #115
    Psw
    Psw вне форума
    Давно не был
    Регистрация
    04.10.2005
    Адрес
    Калининград
    Возраст
    51
    Сообщений
    655
    Цитата Сообщение от serj Посмотреть сообщение
    Я мечтаю, чтоб хоть и на 0.5гц, но чтобы эта сволочь не тормозила по 6-7 а иногда и 10с в поворотах на скоростях 130-150км/ч, а то блин такие вилюшки получаются... в окружность 70м с трудом наводится, в 50м уже промахивается с первого раза., это ежели до точки меньше 350м и надо повернуть на 110 градусов и больше.....
    Серж - ты уже достаточно взрослый, пора уже и мечтать по взрослому.
    Ну то есть насколько я своим дилетантским взглядом понимаю положение вещей - пора уже браться за внутренности ГПС вычислений, без ентого любые скоростные (с высоким центростремительным ускорением) эволюции сопровождаются потерей позиции из-за фильтрации ВНУТРИ ГПС - он то думает, что НА ЗЕМЛЕ возможны ускорения не более 0,5 Г с резиной по асфальту. Вот и фильтрует базар как следует. А если фильтрацию перенастраивать в зависимости от показаний бортового датчика ускорений ну и быть могет барометрического альтиметра при 3D навигации - могет получится совсем другое дело.
    Хотя енто как я понял ну совершенно другая история - многосторонняя увязка инерциалки с низко уровневыми ГПС данными. Простора для мозга хоть отбавляй.
    p.s. Опять жру пиво - стиль изложения соответственный.
    2 Вовик - чего-то мне с первого взгляда ентот Бэйсик проект не особо понравился - своей реализацией ППМ ввода/вывода как минимум. Ну и тем, что рулит одним каналом. Хотя как всегда - лучшее - враг хорошего.
    Однако Если привлекать аппаратуру 18ф4431, вполне можно 3-5 каналов весьма точно вводить и пару или десять весьма точно выводить - в зависимости от того, способен ли Power Control модуль полноценно PPM формировать - я его структуры в деталях так и не понял, хотя неоднократно пытался.
    С отладочным ЛЦД я насколько понимаю ошибся - там один отладочный выход, на который инфа льётся во внешний терминал в асинхронном виде.
    В макетку пока не залил.

  39. #116

    Регистрация
    06.03.2006
    Адрес
    Москва
    Возраст
    51
    Сообщений
    16
    Цитата Сообщение от vovic Посмотреть сообщение
    Цель замышляемого дела - модифицировать софт так, чтобы он смог работать с любой GPS-головкой.
    Я заткнулся на том, что не смог написать расчет азимута на цель по известным координатам на Пикбейсике без библиотек функций. Ну, не программист я.
    Может кто возьмется помоч ?
    Написал код (пока для проверки на MatLab'e) без библиотечных функций
    Вход:
    широта и долгота точки цели в формате NMEA GGA , т.е. GGMM.MMMM (LAT) и GGGMM.MMMM (LON)
    широта и долгота текущей точки (в том же формате)
    Выход:
    азимут на цель
    расстояние до цели

    Ошибка порядка 0.1%

    Вот только от плавучки не смог отказаться и числа в формате double
    To: vovic
    Володь, проверь пожалуйста, может влезет библиотека для плавающей точки.

  40. #117

    Регистрация
    02.06.2005
    Адрес
    Ростов Великий
    Возраст
    56
    Сообщений
    556
    Цитата Сообщение от Unav Посмотреть сообщение
    Вот только от плавучки не смог отказаться и числа в формате double
    Все легко сделать в целочисленной арифметике. Если кому-то нужно, могу рассказать, как. Но кодировать в Пикбейсике не хочу.

  41. #118

    Регистрация
    02.08.2002
    Адрес
    Москва
    Возраст
    43
    Сообщений
    3,120
    Лучше всего использовать fixed point. Нужно только быстрое умножение и деление больших целых чисел.

  42. #119

    Регистрация
    07.08.2001
    Адрес
    Воронеж
    Возраст
    61
    Сообщений
    4,397
    Записей в дневнике
    4
    Цитата Сообщение от Vad64 Посмотреть сообщение
    Все легко сделать в целочисленной арифметике. Если кому-то нужно, могу рассказать, как.
    Мне нужно. Кодировать буду на ассемблере.

    Цитата Сообщение от Unav Посмотреть сообщение
    Володь, проверь пожалуйста, может влезет библиотека для плавающей точки.
    На днях попробую. Если до НГ не успею (конец года - как всегда) то на каникулах рождественских точно выясню.

  43. #120

    Регистрация
    02.06.2005
    Адрес
    Ростов Великий
    Возраст
    56
    Сообщений
    556
    Цитата Сообщение от vovic Посмотреть сообщение
    Мне нужно. Кодировать буду на ассемблере.
    Начнем с конца, т.е. с арктангенса. Пусть есть разность широт dY и долгот dX. Они целые, в каких-то одинаковых единицах. Делаем таблицу арктангенса для аргументов 0-0.5 включительно (т.е углы от 0 до 45). Количество элементов в таблице зависит от требуемой точности. Лучше, если это количество равно степени 2 плюс 1. Тогда в будущем умножение можно заменить на сдвиг. Вот к примеру таблица из 33 значений дает точность не хуже 2х градусов

    const char atnTab[33] =
    {0, 2, 4, 5, 7, 9, 11, 12, 14, 16, 17, 19, 21, 22, 24, 25,
    27, 28, 29, 31, 32, 33, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45};

    short atn; // результат

    Дальше обрабатываем единственную неопределенность
    if(dX == 0 && dy == 0){
    atn = 0; // Но это неопределенность!!
    }

    Если неопределенности нет, то начинаем бить на октанты и в каждом октанте вычисляем арктангенс по-своему

    if(dX >= 0 && dY >= 0){
    if(dX <= dY)
    atn = atnTab[dX*32/dY];
    else
    atn = 90 - atnTab[dY*32/dX];
    }
    else if(dX >= 0 && dY <= 0){
    if (dx > -dY)
    atn = 90 + atnTab[-dY*32/dX];
    else
    atn = 180 - atnTab[dX*32/(-dY)];
    }
    else if(.....
    и так еще 4 октанта

    Видно, что при таком подходе:
    -только одна операция деления
    -деления на 0 быть не может
    -результат деления всегда от 0 до 32
    -результат арктангенса получается однозначным от 0 до 359

    Важно, чтобы не было переполнения при умножении на 32. Т.е. либо для результата умножения использовать бОльшую разрядность, либо быть уверенным, что в dX и dY пять старших разрядов свободны.

Закрытая тема

Похожие темы

  1. Продам Готовый комплект для полетов по камере.
    от Stivmaster в разделе Барахолка. Самолеты
    Ответов: 1
    Последнее сообщение: 04.08.2010, 13:10
  2. Система стабилизации для полета по камере
    от rippers в разделе Фото и видеосъемка, системы стабилизации
    Ответов: 12
    Последнее сообщение: 01.02.2010, 18:22
  3. Мой верт для полетов по камере
    от kostinich2001 в разделе Фото и видеосъемка, системы стабилизации
    Ответов: 4
    Последнее сообщение: 31.07.2008, 10:08
  4. Самолет и аксессуары для полетов по камере
    от deNick в разделе Полеты по камере, телеметрия
    Ответов: 172
    Последнее сообщение: 05.05.2008, 11:34

Ваши права

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