[image]

Использование твердотельных гироскопов в ракетомоделях

 
1 41 42 43 44 45 53
DE Xan #11.04.2017 12:54  @Бывший генералиссимус#11.04.2017 10:22
+
-
edit
 

Xan

координатор

Б.г.> Так что это распространённое, и не очень тривиальное заблуждение.

Спецов с заблуждениями полно.
Часто — серьёзных спецов с серьёзными заблуждениями.
Что даже бывает удивительно, почему у них что-то уникальное и мирового уровня работает! :)
Заблуждения, компенсированные техническими решениями.

А, да!
Убедить их, что они заблуждаются, крайне сложно, ведь "у них работает"!!! :D
   52.052.0
+
-
edit
 

vmironov

новичок
Никто так и не написал почему не будут работать гироскопы и акселерометры и почему так важно чтобы ракета знала в каком направлении g ?

Расскажите мне что не так, я что-то не понимаю
   52.052.0
Это сообщение редактировалось 17.04.2017 в 17:09

Xan

координатор

vmironov> Никто так и не написал почему не будут работать гироскопы и акселерометры и почему так важно чтобы ракета знала в каком направлении g ?
vmironov> Расскажите мне что не так, я что-то не понимаю

У гироскопов, например, есть "линейный эффект", когда ускорение смещает гироскопу ноль и он думает, что ракета вращается.
И чем больше ракета наберёт скорость, тем больший будет угол ошибки.
Для квадриков это не сушественно, так как они практически топчутся на месте. 40 м/с — не скорость для ракеты.
Соответственно, надо гироскопы классом гораздо выше, какие абсолютно точно для квадриков не используют.

Обычные GPS приёмники теряют спутники при ускорении более 4 G.
Кроме того, в них во всех встроено юридическое ограничение показа координат при превышении некоторой высоты и скорости.

То есть, железо от квадриков можно использовать только для маленьких ракет — с небольшой скоростью и высотой.

Делать ли своё железо, или покупать готовое?
Доля стоимость железа не так велика в проекте.
Гораздо, гораздо больше стоит софт (понимание физики и алгоритм управления).
И вполне может быть, что для облегчения программирования лучше сделать своё железо, чем покупать готовое и разбираться в чужих причудах.

В общем, попробуй сделать свою ракету с железом от квадрика и — "ты всё поймёшь, ты всё увидишь сам"! :)

ЗЫ
Вот сделать управляемый планирующий парашют, чтоб ракета возвращалась на место старта — вот задача, за решение которой ракетолюбители будут благодарны.
И тут, возможно, квадриковое железо легко пригодится.
   52.052.0
Это сообщение редактировалось 17.04.2017 в 17:43
RU Бывший генералиссимус #17.04.2017 18:53  @Xan#17.04.2017 17:37
+
-
edit
 
vmironov>> Никто так и не написал почему не будут работать гироскопы и акселерометры и почему так важно чтобы ракета знала в каком направлении g ?
vmironov>> Расскажите мне что не так, я что-то не понимаю
Xan> У гироскопов, например, есть "линейный эффект",
Не, это ты начал объяснять с неправильного места.
Правильно - так.
У квадриков и иже с ними гироскопы каждые несколько секунд корректируются. Без этого их уход был бы заметен даже на квадриках.
Коррекция гироскопов на квадриках возможна потому, что большую часть времени квадрик движется без ускорений, а, значит, модуль регистрируемого акселерометрами ускорения равен "же". Соответственно, акселерометр используется не столько для измерения ускорений, сколько для измерения углов.

Т.е. квадролетатели считают, что углы меряет гироскоп. Это заблуждение. Гироскоп меряет только угол рыскания, (и то, ему в этом обычно помогает магнитный компас!) а углы тангажа и крена меряет акселерометр.

И только во время быстрых манёвров этот механизм коррекции блокируется, и измерение переходит на гироскопы.

Этот алгоритм принципиально непригоден для ракеты, потому что, как только ракета оторвётся от стартового стола, гироскопы и акселерометры "перестанут быть в согласии", если их обсчитывать по тому алгоритму, что написан для квадриков.
   49.0.2623.11249.0.2623.112
RU Massaraksh #27.05.2017 15:08  @Брат-2#13.01.2017 21:56
+
-
edit
 

Massaraksh

аксакал
★☆
Брат-2> На этой неделе попытался создать «черный ящик» для записи данных каналов управления на microSD! Однако, увы! Первоначальный мой рабочий проект прошивки работал с частотой 170Гц! В процессе доработки (введение k2) прошивка потяжелела, а частота упала до 120Гц! Попытка подключить microSD по SPI приводит к уменьшению частоты опроса до 40Гц! Попытка объединить две Arduino Nano через UART (RS-232) приводит к падению частоты до 35Гц! Иными словами нет способа считать данные без уменьшения частоты опроса, ну и ладно обойдемся визуальным контролем!
Arduino не самый лучший способ по оптимизации процессорных ресурсов. Вчера провёл тестирование записи данных на SDHC 4Гб по SPI, процессор Atmega16, тактовая частота 16 Мгц, один сектор (512 байт) пишет 6 мс. То есть, можно спокойно организовать частоту опроса датчиков в 100 Гц, работая без прерываний, или несколько килогерц, если с прерываниями.
   53.053.0
RU SashaMaks #27.05.2017 18:44  @Massaraksh#27.05.2017 15:08
+
-
edit
 

SashaMaks
SashaPro

аксакал

Massaraksh> или несколько килогерц, если с прерываниями.

Это достигнутый результат или мысли вслух?
   58.0.3029.11058.0.3029.110
RU Massaraksh #27.05.2017 21:16  @SashaMaks#27.05.2017 18:44
+
-
edit
 

Massaraksh

аксакал
★☆
SashaMaks> Это достигнутый результат или мысли вслух?
Это понимание работы микропроцессора.
   53.053.0
RU Zealot01 #20.06.2017 18:35  @vmironov#17.04.2017 16:47
+
-
edit
 

Zealot01

новичок
vmironov> Никто так и не написал почему не будут работать гироскопы и акселерометры и почему так важно чтобы ракета знала в каком направлении g ?
vmironov> Расскажите мне что не так, я что-то не понимаю

Имхо, принципиальной разницы управления ракетой и коптером нет, хотя многое зависит от прошивки FC. Когда коптер стоит на стартовой площадке, то получает вектор своего стартового направления от акселерометра (коптер всегда стоит не идеально ровно). Акселерометр в полёте фиксирует только тягу моторов, сопротивление воздуха, ветер или другие внешние воздействия. Узнать направление G в полёте аксель сам по себе не сможет. После старта постоянно (много раз в секунду) идет перерасчёт вектора направления по показаниям гироскопов. Для MEMS мы получаем угловые скорости и, используя кватернионую математику, получаем новый вектор направления. Самая простая коректировка дрейфующего вектора направления делается для зависшего коптера по показаниям других датчиков: gps, барометра, компаса, дальномеров и т.д Когда он движется, коректировку делать уже сложнее. Больше скорости, больше измерений по датчикам, больше частота дискретизации, другие датчики, другие алгоритмы. Для корректировки курса в ракете, как уже говорилось, нужно железо классом повыше, или вообще другое, ибо тут другие скорости, ускорения и высота. Ну и СУ под это железо написать не помешает:)
   58.0.3029.8358.0.3029.83
Это сообщение редактировалось 20.06.2017 в 18:49
RU Massaraksh #20.06.2017 21:01  @Zealot01#20.06.2017 18:35
+
-
edit
 

Massaraksh

аксакал
★☆
Zealot01> Имхо, принципиальной разницы управления ракетой и коптером нет
Есть, уже же писали. У коптера есть опора, у ракеты - нет.
   53.053.0
RU Zealot01 #21.06.2017 16:52  @Massaraksh#20.06.2017 21:01
+
-
edit
 

Zealot01

новичок
Zealot01>> Имхо, принципиальной разницы управления ракетой и коптером нет
Massaraksh> Есть, уже же писали. У коптера есть опора, у ракеты - нет.

У коптера в полете курс стабилизируеся гироскопом и магнетометром, получаем горизонтальную опору. В ракете можно сделать точно такую же опору. Вы предлагаете создавать опору коптера акселерометром, и использовать его для измерения углов? Но я не понимаю как, в коптере, как и в ракете, без внешних воздействий акселерометром фиксируется только тяга двигателей по Z оси. Тяга по модулю G может фиксироваться, когда коптер стоит на месте или вверх ногами к земле летит.
   58.0.3029.8358.0.3029.83
RU Бывший генералиссимус #12.07.2017 11:04
+
-
edit
 
Аналог Девайсез приглашает посмотреть вебинар, посвящённый инерциальной навигации с помощью MEMS сенсоров:

Inertial Sensors Propel the Internet of Moving Things

Inertial Sensors Propel the Internet of Moving Things Webinar //  www.electronicdesign.com
 

Не знаю, правда, насколько его уроки могут быть применимы именно к ракетам, но, возможно, какая-то польза будет.
   49.0.2623.11249.0.2623.112
KZ Xan #16.07.2017 08:21  @Бывший генералиссимус#17.04.2017 18:53
+
-
edit
 

Xan

координатор

Приспичило мне тут кое-что повращать в пространстве.
Долго и нудно тупил, что аж решил вернуться к чтению/изучению кватернионов.
Почитал.
И таки научился вращать вектор!
На бумажке записал, чтоб не забыть. :)
Понял, что мне это не надо.
И в обозримом будущем не пригодится.
Всё!
:D
   54.054.0
RU Бывший генералиссимус #28.07.2017 17:04  @Xan#16.07.2017 08:21
+
-
edit
 
Xan> Приспичило мне тут кое-что повращать в пространстве.
Xan> На бумажке записал, чтоб не забыть. :)
А что же не выложил эту бумажку сюда? Я бы почитал.
   49.0.2623.11249.0.2623.112
KZ Xan #28.07.2017 18:03  @Бывший генералиссимус#28.07.2017 17:04
+
-
edit
 

Xan

координатор

Xan>> Приспичило мне тут кое-что повращать в пространстве.
Xan>> На бумажке записал, чтоб не забыть. :)
Б.г.> А что же не выложил эту бумажку сюда? Я бы почитал.

Как я понял, это полезно для стыковки на орбите, поворотах на большие углы с минимальной затратой топлива и прочих тонкостях.
Для "добраться до орбиты" это не имеет особого смысла.

Вот бумажка:

Quater-nion

2017.07.15

(Заметки о вращении вектора кватернионом / Хабрахабр)

Берём вектор, который будет осью вращения (V_x, V_y, V_z).
Прикладываем к нему косинус половины угла, на который нужно повернуть w = cos(alpha / 2)
(W, V_x, V_y, V_z)

"Вектор должен быть нормализован" — ?

(0, 1, 0, 0) — разворот на 180 вокруг оси X.
(1, 0, 0, 0) — нулевой разворот.
(0.707; 0; 0.707; 0) — разворот вокруг Y на 90

===

Обратный (просто вектор направлен в противоположную сторону):

(W, -V_x, -V_y, -V_z)

Вообще-то он называется "сопряжённым".

===

Произведение кватернионов a и b:

res.w = a.w * b.w - a.x * b.x - a.y * b.y - a.z * b.z
res.x = a.w * b.x + a.x * b.w + a.y * b.z - a.z * b.y
res.y = a.w * b.y - a.x * b.z + a.y * b.w + a.z * b.x
res.z = a.w * b.z + a.x * b.y - a.y * b.x + a.z * b.w

===

Чтобы из поворачиваемого вектора сделать кватернион, надо к вектору приклеить W = 0

Умножение кватерниона a на вектор b (произведения с W.b = 0 опущены):

res.w = -a.x * b.x - a.y * b.y - a.z * b.z — эту строчку тоже ИНОГДА можно опустить.
res.x = a.w * b.x + a.y * b.z - a.z * b.y
res.y = a.w * b.y - a.x * b.z + a.z * b.x
res.z = a.w * b.z + a.x * b.y - a.y * b.x

===

Собсна, поворот:

Из вектора оси делаем квартернион.
Делаем обратный/сопряжённый.
Нормализуем их всех.
Делаем из поворачиваемого вектора квартернион.
Умножаем квартернион на вектор, потом умножаем на обратный.
Берём из результата только векторную часть — вектор повёрнут.

===

Ну и как это поможет?! :D

Но если ты знаешь секрет, поделись! :)
   54.054.0
RU Бывший генералиссимус #28.07.2017 18:23  @Xan#28.07.2017 18:03
+
-
edit
 
Xan> Ну и как это поможет?! :D
Xan> Но если ты знаешь секрет, поделись! :)
Предположим, у нас ракета на этапе 2 и 3 ступеней стабилизируется вращением. Предположим, что датчик жёстко скреплён с ракетой. И сразу становится понятно, что связанная система координат совершит много оборотов по оси крена, и плюс чуть больше четверти оборота по оси тангажа. А, если нам приспичило уменьшить наклонение и сделать пространственный манёвр - то и по оси рыскания тоже. Не переставая вращаться по крену.
   49.0.2623.11249.0.2623.112

SashaMaks
SashaPro

аксакал

Xan> Для "добраться до орбиты" это не имеет особого смысла.

Имеет, причём это и будет проще, если не казать более того - единственно верное решение. :D

Xan> Вот бумажка:
Xan> ===
Xan> Собсна, поворот:
Xan> Из вектора оси делаем квартернион.
Xan> Делаем обратный/сопряжённый.
Xan> Нормализуем их всех.
Xan> Делаем из поворачиваемого вектора квартернион.
Xan> Умножаем квартернион на вектор, потом умножаем на обратный.
Xan> Берём из результата только векторную часть — вектор повёрнут.
Xan> ===

Как всё сложно :D , но не совпадает ответ, хотя где он тут?

Xan> Ну и как это поможет?! :D

В конечном счёте нужно получить траекторию движения и тогда будет понятно, как нужно будет её корректировать к заданной не судорожно каждую 0,0..01 долю секунды, а лишь тогда, когда она действительно отклониться сильно. Т.е. процес будет более спокойный в плане управления и не потребует таких невероятных по быстродействию сервоприводов, которых всё равно для вашей матмодели нет в природе.

Xan> Но если ты знаешь секрет, поделись! :)

Математика, однако, тут же есть те, кого этому учили не в общем, а предметно. А правильного решения всё нет и нет уже сколько лет. :D
   59.0.3071.11559.0.3071.115
KZ Xan #28.07.2017 19:30  @Бывший генералиссимус#28.07.2017 18:23
+
-
edit
 

Xan

координатор

Б.г.> Не переставая вращаться по крену.

Жуть! :D
Поэтому я решил везде делать активную стабилизацию.
Хотя вначале тоже думал вращением.
Но что-то мне не понравился случай, когда есть медленное вращение и несоосность тяги, когда характерное время разворота от кривизны порядка периода вращения.
Сообразить с формулами не могу, но есть интуитивное отторжение.

ЗЫ
Я в "Композитные материалы" нафулиганил! :)
   54.054.0

Xan

координатор

SashaMaks> а лишь тогда, когда она действительно отклонится сильно.

Тогда будет уже поздно.

SashaMaks> Т.е. процесс будет более спокойный в плане управления и не потребует таких невероятных по быстродействию сервоприводов, которых всё равно для вашей матмодели нет в природе.

Например есть сервы, которые могут рулить при частоте виляния тяги 5 Гц.
   54.054.0

SashaMaks
SashaPro

аксакал

Xan> Тогда будет уже поздно.

С чего ты взял? Правильный алгоритм будет работать с частотой много превышающей частоты отклонения на большие значения по перемещениям в траекториях.
Суть же в частоте:

Xan> Например есть сервы, которые могут рулить при частоте виляния тяги 5 Гц.

5Гц и менее будет именно плавное изменение, на которое любая серва успеет среагировать раз 100, а ЦП подумать раз 1000.

А вот в вашей же исходной мат. модели реагировать придётся на вибрации в десятки, сотни, и тысячи герц, иначе ошибка накопиться такая, что ни накакую орбиту ваши (ты и Б.Г.) ракеты не улетят. Тут не только сервы не справятся, тут и гироскопы не помогут с их точностью и ЦП быстродействия не хватит. Собственно это и наблюдаем пока на практике.

Но, тут, возможно, вы полагаете, что сможете сгладить исходные сигналы с датчиков настолько, что их плавность приведёт к уменьшению частот до 5Гц и менее. Это будет всё тот же "оверсэмплинг" в действии + ваша собственная теория погрешности. А я надеюсь увидеть результат на практике того, как работает достоверность в этой самой теории (пусть и не в вашей), наблюдая за тем, как ваши ракеты будут плавно улетать за бугор. :D
   59.0.3071.11559.0.3071.115
RU Бывший генералиссимус #16.08.2017 01:43  @Xan#28.07.2017 19:30
+
-
edit
 
Xan> Жуть! :D
Сегодня я наконец-то смог корректно провести эксперимент по обнаружению вращения Земли.
В качестве поворотного столика использовал останки сломанного жёсткого диска ST-251.
по оси X гироскопа, ориентированной по линии север-юг, измеряется горизонтальная проекция вращения Земли, равная 360/86164*cos(56)=0,002336352 градуса в секунду.
раз в минуту столик с гироскопом поворачивался на 180 градусов, и проекция меняла знак.
Хотя 1 LSB гироскопа = 0,005 градуса в секунду, что больше величины измеряемого вращения, при усреднении за минуту можно вытащить.
Усреднив две тройки значений, получил 0,870239746 LSB, или, с учётом удвоения, 0,0021756 градуса в секунду.
Это неприлично хорошее совпадение. Завтра и послезавтра померяю ещё. И по оси Y тоже. Для измерений по оси Z надо делать другое крепление к вращающемуся столику.
Это артефакт, конечно. Даже у Юры Афанасенкова получалось 15-25%, а ведь он брал волоконно-оптические гироскопы.
   60.0.3112.9060.0.3112.90
RU Бывший генералиссимус #18.08.2017 13:49  @Бывший генералиссимус#16.08.2017 01:43
+
-
edit
 
Б.г.> Сегодня я наконец-то смог корректно провести эксперимент по обнаружению вращения Земли.
Повторил эксперимент. Хочу поделиться файлом в дропбоксе. Как это правильно сделать?
В этот раз отклик на 12% больше расчётного, что тревожит :)
Серия в 2 раза длиннее предыдущей (12 минут, 6 пар). Корреляция очень хорошая. Есть небольшой паразитный сигнал по оси Y, это я ещё не исследовал.
   49.0.2623.11249.0.2623.112
RU Skyangel #18.08.2017 14:20  @Бывший генералиссимус#18.08.2017 13:49
+
-
edit
 

Skyangel

опытный

Б.г.> ... Хочу поделиться файлом в дропбоксе. Как это правильно сделать?
Надо в дропбоксе зарегистрироваться, заливаешь туда файл и делаешь публичную ссылку для него. Ссылку копируешь и в сообщение вставляешь.
   49.0.2623.11249.0.2623.112
RU Бывший генералиссимус #18.08.2017 14:39  @Skyangel#18.08.2017 14:20
+
-
edit
 
Б.г.>> ... Хочу поделиться файлом в дропбоксе. Как это правильно сделать?
Skyangel> Надо в дропбоксе зарегистрироваться, заливаешь туда файл
Это уже сделано, я дропбоксом пользуюсь давно, но, до сих пор, только, как личным хранилищем.

Skyangel> и делаешь публичную ссылку для него.

а, вроде нашёл кнопку.

Skyangel> Ссылку копируешь и в сообщение вставляешь.

capturead065.xlsx

Общий доступ предоставлен через Dropbox //  www.dropbox.com
 

попробуй. Только файл большой, 47 мег.
   49.0.2623.11249.0.2623.112
RU Skyangel #18.08.2017 14:55  @Бывший генералиссимус#18.08.2017 14:39
+
-
edit
 

Skyangel

опытный

Б.г.> попробуй. Только файл большой, 47 мег.

Работает ;) У меня инет сейчас через мобильник, потому загрузку отменил.
   49.0.2623.11249.0.2623.112
AD Реклама Google — средство выживания форумов :)
RU Бывший генералиссимус #19.08.2017 18:11  @Бывший генералиссимус#18.08.2017 13:49
+
-
edit
 
Б.г.>> Сегодня я наконец-то смог корректно провести эксперимент по обнаружению вращения Земли.
Б.г.> Повторил эксперимент.
Б.г.> Серия в 2 раза длиннее предыдущей (12 минут, 6 пар). Корреляция очень хорошая. Есть небольшой паразитный сигнал по оси Y, это я ещё не исследовал.

Повторил эксперимент по оси Y, тоже чувствует, но "не всё так однозначно" :)
Когда меряешь по оси X, паразитный эффект по оси Y до 30% от полезного сигнала, а, когда меряешь по оси Y, паразитный сигнал по оси X только 4%. Ось X явно лучше, что, впрочем, отмечено в даташите в параметре angular random walk.

Но, в общем и целом, если этот гироскоп сможет в полёте работать так, как у меня работает на столе, ракета с ним будет уже точнее, чем Фау-2. Это, блин, делает его, вообще говоря, прибором двойного назначения.
А ведь у Аналог Девайсез за в 20 раз больше денег есть впятеро более стабильный прибор! Который успешно бодается с волоконно-оптическими гироскопами (и дешёвые 10-летней давности забарывает, да).
   60.0.3112.10160.0.3112.101
1 41 42 43 44 45 53

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru