A A A A Автор Тема: Наведение и БИНС (гироскоп(ДУС), акселерометр, компас)  (Прочитано 6857 раз)

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

Оффлайн Aleksey_M

  • ***
  • Сообщений: 127
  • Благодарностей: 8
  • Куры передохли, высылайте новый телескоп!
    • Сообщения от Aleksey_M
Интересная тема!  :)
Имеются подобные мысли для сомодельной мелкой монти для камеры.
Если кто будет проектировать под печатные платы, то находил микросхемку для подобных целей LSM303D (all inclusive  ;) ).
Стоит, кстати, не дорого.

Оффлайн Хрущев

  • *****
  • Сообщений: 4 052
  • Благодарностей: 169
  • Первооткрыватель новых переменных звёзд
  • Награды Открытие комет, астероидов, сверхновых звезд, научно значимые исследования.
    • Сообщения от Хрущев
А чем Ваша задумка лучше координатных кругов нарисованных/наклеенных на монтировке?
SW 16" (Пирагмон) на энкодерах.
ПНВ-скоп Scorpius (90/2+Gen.II), SW 1025-Coronado PST, Celestron NexStar 6 SE.

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

  • *****
  • Сообщений: 1 505
  • Благодарностей: 78
    • Сообщения от Boris Green
LSM303D
"D" нормально, а без буквы - настоящий ужас для ЛУТа и доморощенного электронщика: акселерометр и компас на разных шинах, 3.3В и 1.8В, шаг 0.3мм чтоли, преобразователи уровней нужно городить..   
Для астрономии акселерометр + компас как раз нормально. ДУС не нужен. Другое дело, что экосистемы для LSM нет, нужно с нуля писать софт для калибровки и нормирования. И проверить правильность коррекции компаса при наклоне (mag tilt compensation).
А чем Ваша задумка лучше координатных кругов нарисованных/наклеенных на монтировке?
+ круги не требуют батареек  :)
- круги нужно сделать из прочного непромокаемого материала и прикрепить на Доб. Сделать крепление и подвижки стрелок для юстировки.
- каждый раз нужно выставлять круги, когда переставляешь Доб
+ у меня нет кругов, зато есть электроника и желание.

Оффлайн Хрущев

  • *****
  • Сообщений: 4 052
  • Благодарностей: 169
  • Первооткрыватель новых переменных звёзд
  • Награды Открытие комет, астероидов, сверхновых звезд, научно значимые исследования.
    • Сообщения от Хрущев
+ круги не требуют батареек  
- круги нужно сделать из прочного непромокаемого материала и прикрепить на Доб. Сделать крепление и подвижки стрелок для юстировки.
- каждый раз нужно выставлять круги, когда переставляешь Доб
+ у меня нет кругов, зато есть электроника и желание.
Последний пункт видимо имеет решающее значение. Всегда завидовал людям знающим радиотехнику и умеющим паять... Я лично обклеил координатный круг по азимуту скотчем и уже пол года он как новый. Для определения высоты использую электронный угломер "зубр" с точностью до 0,1грд, стоит копейки. Однако в последнее время всем этим не пользуюсь, с картами все же надежней и часто быстрее. Буду следить за темой, успехов!
SW 16" (Пирагмон) на энкодерах.
ПНВ-скоп Scorpius (90/2+Gen.II), SW 1025-Coronado PST, Celestron NexStar 6 SE.

Оффлайн Alex_6619

  • *****
  • Сообщений: 1 071
  • Благодарностей: 43
    • Сообщения от Alex_6619
Искать и крепить энкодеры пока не планирую. Возможно, придется помучиться с прерываниями на АТмега. Зато вчера подключил БИНС. Удалось вывести на экран цифры. Как оказалось, по El шум составляет +_0.2 градуса. По Az шум до 2-3 градусов в долговременном периоде (сказывается наличие рядом ноутбука и инструментов). И даже это радует, поставлю поисковый окуляр и в окрестностях найду искомый объект.
0,2º ещё куда ни шло,а 2-3º для азимутальной монтировки это очень много,в таких окрестностях замучаешься искать ;D .Я все-таки надеялся,что эти датчики будут хорошей альтернативой энкодерам.

Хорошая вещь компьютер...Посидел пять минут-полтора часа прошло....

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

  • *****
  • Сообщений: 1 505
  • Благодарностей: 78
    • Сообщения от Boris Green
0,2º ещё куда ни шло,а 2-3º для азимутальной монтировки это очень много,в таких окрестностях замучаешься искать
На безрыбье... Освежил в памяти даташит на HMC5883L, производитель обещает точность 2º. По азимуту больше нечем измерить (бесконтактно), кроме компаса. Экзотику в виде космо-авиа-гироскопов не рассматриваю. Пока сделаю на основе БИНС, потом, может, энкодер найду и прикручу на ось. В любом случае, нужно сделать еще корректировки-"крутилки".

Оффлайн Aleksey_M

  • ***
  • Сообщений: 127
  • Благодарностей: 8
  • Куры передохли, высылайте новый телескоп!
    • Сообщения от Aleksey_M
"D" нормально, а без буквы - настоящий ужас для ЛУТа и доморощенного электронщика: акселерометр и компас на разных шинах, 3.3В и 1.8В, шаг 0.3мм чтоли, преобразователи уровней нужно городить..   
Сейчас тока с индексом D и производят.
Согласен, QFN для ЛУТ геморрой еще тот :)
Цитата
Для астрономии акселерометр + компас как раз нормально. ДУС не нужен.
В этой микросхеме так и есть - акселерометр и магнетометр.
Интересная ссылка.
Цитата
Другое дело, что экосистемы для LSM нет, нужно с нуля писать софт для калибровки и нормирования. И проверить правильность коррекции компаса при наклоне (mag tilt compensation).
Что-то есть по мелочи, но полной и готовой нету.
Тут уместна ваша цитата:
Цитата
+ у меня нет кругов, зато есть электроника и желание.
  ;)

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

  • *****
  • Сообщений: 1 505
  • Благодарностей: 78
    • Сообщения от Boris Green
Протестировал 2 БИНС:
1. MPU6050 + HMC5883L
2. ITG3200 + BMA180 + HMC5883L

В обоих случаях наблюдается дрифт при использовании библиотеки FreeIMU. Первую минуту после включения позиция "устаканивается" и врет на 146%.
Наткнулся на логическое продолжение кода FreeIMU http://www.youtube.com/watch?v=lwlOZzNJqJc#ws
Попробую его. Автор в описании к видео рассказывает о преимуществах и доработках в своем коде.
https://github.com/mjs513/FreeIMU-Updates
Было:
1. Large and constant drift on all axes after rapid random motion of the imu. (Test 1)
2. Developing a reliable method for zero motion, and (Test 2)
3. Reduce yaw drifting when IMU is at rest (resting on table), was experiencing over a degree a minute even after unit heated up. (Test 3) - 0.0475 degrees per minute average after 1 hour.

Стало:
1. температурная компенсация кривых ДУС и акселерометра
2. ФНЧ
3. доработка оптимизированных для Меги функций
4. ZARU\ZUPT алгоритмы
и т.д.

Оффлайн Михаил ФМ

  • **
  • Сообщений: 82
  • Благодарностей: 8
    • Сообщения от Михаил ФМ
Гироскоп отключать не стоит,лучше "побороть" шум"
Шум от MEMS ДУС можно побороть в рамках астро-хобби, если только заменить его на лазерный гироскоп или нечто подобное. Измерения в любом MEMS ДУС дискретны, мгновенная угловая скорость интегрируется, вычисляется угол смещения => ошибка растет всегда. Я пробовал itg3200, MPU6050 - они всегда медленно плывут. И в этом нет ничего страшного, потому что они отлично ловят быстрые наклоны. А для медленных наклонов используются акселерометр (когда ускорения малы).


В принципе можно синтезировать фильтр Калмана для оценки ошибок измерения эйлеровских углов. Монтировка стоит на месте, поэтому в таких тепличных для БИНС условиях шумы должны фильтроваться эффективно. В вектор состояния, как всегда для коррекции ИНС, включаются дрейфы гироскопов (для БИНС - интегралы измерений ДУС или акселерометров) и ошибки по фазовым координатам. В силу неподвижности невязка будет содержать чистые ошибки оценивания ошибок (именно так) БИНС, которые мы и спишем. Извиняюсь, если непонятно высказался, основная идея - для коррекции используется априорная информация о полной неподвижности носителя БИНС.
При вращении монтировки можно использовать сигналы как ДУСов, так и акселерометров. ДУСы предпочтительнее, т.к. время оценивания ошибок ФК будет на порядок меньше. К сожалению, ничего не знаю о статистике шумов МЭМС измерителей, поэтому предсказать точность работы ФК невозможно. Если шум широкополосный и гауссовский - нам крупно повезет, остальное, как говорится, дело техники.

Оффлайн Alex_6619

  • *****
  • Сообщений: 1 071
  • Благодарностей: 43
    • Сообщения от Alex_6619
Цитата
При вращении монтировки можно использовать сигналы как ДУСов, так и акселерометров. ДУСы предпочтительнее, т.к. время оценивания ошибок ФК будет на порядок меньше. К сожалению, ничего не знаю о статистике шумов МЭМС измерителей, поэтому предсказать точность работы ФК невозможно. Если шум широкополосный и гауссовский - нам крупно повезет, остальное, как говорится, дело техники.
И можно и нужно.Как написано в статье http://habrahabr.ru/post/137595/:"У каждого датчика свои возможности и слабые стороны. По отдельности ни один из них не может решить ни одну из перечисленных выше задач, поэтому системы ИНС всегда строятся из комбинации датчиков, и самое интересное тут — это вычислительные алгоритмы, позволяющие соединить сильные стороны каждого из датчиков для устранения их недостатков."
« Последнее редактирование: 15 Мая 2014 [16:21:49] от Alex_6619 »
Хорошая вещь компьютер...Посидел пять минут-полтора часа прошло....

Оффлайн Михаил ФМ

  • **
  • Сообщений: 82
  • Благодарностей: 8
    • Сообщения от Михаил ФМ
Invensense Motion Processing Library
У меня нет планшета с БИНС, но есть платы с неплохими датчиками. Еще я не знаю, можно ли через API тонко управлять параметрами датчиков, как-то поверхностно посмотрел PhoneGap. И я не знаю, в недорогих гаджетах приличные датчики, 16-битные, малошумные?

Посмотрел AndroidAPI по датчикам и написал небольшую программу, выводящую список всех датчиков с характеристиками для любого андроид-устройства. На планшете Asus memopad fhd10 получил достаточно длинный протокол, вот только небольшой фрагмент:

Name - MPL Raw Gyroscope
Vendor - Invensense
Max - 34.90656
Resolution - 0.0010652636

Name - MPL Accelerometer
Vendor - Invensense
Max - 19.6133
Resolution - 0.039226603
   ...

Видно, что используются 16р. АЦП. Вендор позволяет идентифицировать чип без "препарирования" планшета - MPU6050.
Далее глянул в даташит на 6000/6050. Есть все небходимое для реализации БИНС. Важно, что приведены характеристики шумов на НЧ и ВЧ, и значение спектральной плотности на частоте 10 Гц. Это позволяет реализовать фильтр оценивания не только калмановский, но и значительно более простой альфа-бета, так как можно заранее рассчитать коэффициенты усиления по всем каналам. Для БИНС на базе Arduino вычисления лучше, вероятно, производить с простыми фильтрами.


Оффлайн Anton

  • *****
  • Сообщений: 7 252
  • Благодарностей: 77
    • Сообщения от Anton
Парни, а кто нибудь из вас знает, как измерить высоту 9 этажа при помощи теплого лампового осциллографа и секундомера?
;)

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

  • *****
  • Сообщений: 1 505
  • Благодарностей: 78
    • Сообщения от Boris Green
Парни, а кто нибудь из вас знает, как измерить высоту 9 этажа при помощи теплого лампового осциллографа и секундомера?
;)
Отпустить осциллограф вниз и по секундомеру засечь время падения? Или как-то повозиться с триггеррами.
По теме: freeIMU-updates снова обновился, следующие непонятки. Точность все больше расстраивает.

Оффлайн Anton

  • *****
  • Сообщений: 7 252
  • Благодарностей: 77
    • Сообщения от Anton
Парни, а кто нибудь из вас знает, как измерить высоту 9 этажа при помощи теплого лампового осциллографа и секундомера?
 ;)
Отпустить осциллограф вниз и по секундомеру засечь время падения?
Именно. Собственно это был очень тонкий, практически прозрачный, намек на неадекватность выбранных средств для решения поставленной задачи. ;)
Пара грошовых энкодеров  на 2000-4000 сpr дадут разрешение от 10 угловых минут.

Оффлайн Михаил ФМ

  • **
  • Сообщений: 82
  • Благодарностей: 8
    • Сообщения от Михаил ФМ
Точность все больше расстраивает.

Набрал небольшую статистику по точности с калмановской постобработкой сигналов датчиков. Обработку данных проводил на планшете с MPU6050. Планшет вертелся на ХЕКе. Значения G и магнитного склонения рассчитаны для широты и долготы места наблюдения. Девиация не учитывалась. Вот что получилось (2*sigma, точечные оценки):
    крен, тангаж - 3'
    курс - 30'
    собственный дрейф гироскопов - 150 град/ч.
Для углов наклона использовались виртуальные сенсоры Android API TYPE_GRAVITY, реализующие классический дискретный ФК. Ссылка на открытый код, надеюсь пригодится:
https://android.googlesource.com/platform/frameworks/base/+/jb-release/services/sensorservice/

ФК реализован в модуле Fusion.cpp, уравнения блоков оценивания, коэффициентов усиления и расчета ковариационной матрицы ошибок приведены в комментариях.
mat.h, vec.h - шаблоны матриц и векторов, quat.h - параметры Родрига-Гамильтона, SensorFusion.cpp - комплексирование датчиков.

Имеем, похоже, отличную вертикаль. А вот гирокомпас, напротив, невозможен, нужны на два порядка более точные гироскопы ( U Земли = 15 град/ч, дрейф - 150 град/ч). Пытался найти север также по нулю восточного ДУСа, без результата. Можно конечно реализовать требуемый по точности ДУС из двух разнесенных акселерометров, но это уже будет "теплый осциллограф" :) (c). В режиме же гирополукомпаса наша БИНС будет вполне себе работать. Как? Возможно надо будет изредка делать дополнительную привязку по звездам или наземным ориентирам. Техника комплексирования магнетометра с ДУСами на основе очень простого аналога альфа-бета фильтра неплохо описана здесь:
http://www.thousand-thoughts.com/2012/03/android-sensor-fusion-tutorial/#comments

Проверил все на практике (с планшетом). Реально работает. Все же, думаю, есть смысл в этой разработке. Неопытным любителям это поможет достаточно точно выставить хотя бы угол места и, если потребуется, просто слегка довести телескоп по азимуту на объект. Вряд ли есть смысл прикручивать энкодеры к монтировкам типа Порты. Можно установить (примотать, прибить гвоздями, неважно) мобильник/планшет, причем в любом удобном положении без юстировки - на то это  и БИНС. Можно попробовать облегчить выставку полярной оси экваториальной монтировки вслепую на балконе. Да и угломер с уровнем и компасом в астрохозяйстве будет не лишним.
Небольшое демо, так сказать:
Navigation Kalman Filter with Accelerometer, Gyroscope and GPS
Для гуглопользователей, без цифр, правда:
https://play.google.com/store/apps/details?id=org.hitlabnz.sensor_fusion_demo


Оффлайн INPan

  • *****
  • Сообщений: 8 696
  • Благодарностей: 197
  • Игорь Панкратов
    • Сообщения от INPan
 Трудно ориентироваться ДУС БИНС ЛУТ.
Расшифруйте пожалуйста.

Оффлайн Михаил ФМ

  • **
  • Сообщений: 82
  • Благодарностей: 8
    • Сообщения от Михаил ФМ
ДУС - датчик угловой скорости (гироскоп)
БИНС - бесплатформенная инерциальная навигационная система (3 ДУСа + 3 акселерометра + контроллер)
БИНС строит (математически, платформенная ИНС - физически) приборный измерительный трехгранник в инерциальной системе координат. При навигации вводятся сигналы коррекции для вращения трехгранника вместе с Землей. Главное здесь - полная автономность навигации.