[image]

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

 
1 22 23 24 25 26 53
RU Massaraksh #18.06.2015 18:22
+
-
edit
 

Massaraksh

аксакал
★☆
Андрей, правильно ли я понимаю, что при совместном использовании гироскопа и трёхосевого акселерометра для определения местоположения в пространстве нужно из показаний акселерометра вычитать проекции силы, вследствие которых гироскопом фиксируется поворот?
   39.039.0
RU Бывший генералиссимус #18.06.2015 20:00  @Massaraksh#18.06.2015 18:22
+
-
edit
 
Massaraksh> Андрей, правильно ли я понимаю, что при совместном использовании гироскопа и трёхосевого акселерометра для определения местоположения в пространстве нужно из показаний акселерометра вычитать проекции силы, вследствие которых гироскопом фиксируется поворот?

Из показаний гироскопа надо вычитать, да. А из показаний акселерометра обычно надо вычитать только исходную неточность нуля. Вот например, сегодня я впервые экспериментировал с акселерометром в ADIS16445 - там сдвиг нуля по оси Z составляет примерно 1/1000, при направлении в положительную сторону результат 4004, а в отрицательную - -4008. Девайс уже калиброван на заводе, у акселерометров с аналоговым выходом смещение нуля обычно гораздо больше, порядка 3-4%.

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

В ADIS16300 эта функция есть, и включается специальной командой, но, по факту, не работает. В ADIS16445 она, похоже, включена всегда, и работает гораздо лучше.
   11.011.0
RU Massaraksh #18.06.2015 20:32  @Бывший генералиссимус#18.06.2015 20:00
+
-
edit
 

Massaraksh

аксакал
★☆
Б.г.> В ADIS16300 эта функция есть, и включается специальной командой, но, по факту, не работает. В ADIS16445 она, похоже, включена всегда, и работает гораздо лучше.
А, ну это гироскоп и акселерометр в одном чипе. Я имел в виду, если раздельно.
   39.039.0
RU SashaMaks #18.06.2015 21:12  @Бывший генералиссимус#18.06.2015 20:00
+
-
edit
 

SashaMaks
SashaPro

аксакал

Massaraksh>> для определения местоположения в пространстве нужно из показаний акселерометра вычитать проекции силы, вследствие которых гироскопом фиксируется поворот?

Б.г.> Из показаний гироскопа надо вычитать, да.

Нет.
Из ускорения сила не вычитается и координаты не получаются.
   43.0.2357.12443.0.2357.124
RU Бывший генералиссимус #18.06.2015 23:13  @Massaraksh#18.06.2015 20:32
+
-
edit
 
Б.г.>> В ADIS16300 эта функция есть, и включается специальной командой, но, по факту, не работает. В ADIS16445 она, похоже, включена всегда, и работает гораздо лучше.
Massaraksh> А, ну это гироскоп и акселерометр в одном чипе. Я имел в виду, если раздельно.
У гироскопа есть паразитная чувствительность к линейному ускорению, причём, она по разным осям разная. Конкретно у гироскопов Analog Devices по оси X она практически отсутствует, а по Y - максимальная. В сборке с тремя гироскопами у всех оси ориентированы по-своему, и там надо экспериментально выяснять, и с коррекцией разбираться. Коэффициент пропорциональности определяется экспериментально.
Не имеет значения, в одном чипе, или в разных гироскоп и акселерометр. Я по данным акселерометра ADIS16300 корректировал ещё один гироскоп, ADIS16251.

Какие зависимости у гироскопов других фирм, сказать не могу, слишком мало ещё тестировал. Но у Murata SCC1300-D02 качественно картина такая же.
У EPSON XV-3700 я этой паразитной чувствительности не обнаружил, но там сам гироскоп недостаточно стабильный. У него есть более стабильный старший брат XV-3900, я сам с ним не работал, но мой знакомый Слава Саул говорит, что и у него есть небольшая зависимость.
   11.011.0
RU Massaraksh #18.06.2015 23:53  @Бывший генералиссимус#18.06.2015 23:13
+
-
edit
 

Massaraksh

аксакал
★☆
Б.г.> Не имеет значения, в одном чипе, или в разных гироскоп и акселерометр. Я по данным акселерометра ADIS16300 корректировал ещё один гироскоп, ADIS16251.
Не совсем понял. Если акселерометр находится в центр координат, и устройство осуществляет поворот, к примеру, вокруг оси Z, акселерометр должен показывать ускорение по осям X и Y. Но точно так же ускорение он должен показывать, если устройство движется вдоль линии Y=X в отрицательную сторону. Тогда как различить?
   39.039.0
RU SashaMaks #19.06.2015 01:12  @Massaraksh#18.06.2015 23:53
+
-
edit
 

SashaMaks
SashaPro

аксакал

Massaraksh> Но точно так же ускорение он должен показывать, если устройство движется вдоль линии Y=X в отрицательную сторону. Тогда как различить?

Поставить гироскоп и узнать углы поворота, на которые ты развернул своё устройство.
   43.0.2357.12443.0.2357.124
RU Massaraksh #19.06.2015 01:17  @SashaMaks#19.06.2015 01:12
+
-
edit
 

Massaraksh

аксакал
★☆
SashaMaks> Поставить гироскоп и узнать углы поворота, на которые ты развернул своё устройство.
Так я про это и спрашиваю. Вопрос - каков алгоритм.
   39.039.0
RU SashaMaks #19.06.2015 01:26  @Massaraksh#19.06.2015 01:17
+
-
edit
 

SashaMaks
SashaPro

аксакал

Massaraksh> Так я про это и спрашиваю. Вопрос - каков алгоритм.

Так ты же сам меня исправлял в формулах. Там всё тоже самое и с углами будет, только скорости и ускорения угловые, а не поступательные.
   43.0.2357.12443.0.2357.124
RU Бывший генералиссимус #19.06.2015 01:35  @Massaraksh#18.06.2015 23:53
+
-
edit
 
Б.г.>> Не имеет значения, в одном чипе, или в разных гироскоп и акселерометр. Я по данным акселерометра ADIS16300 корректировал ещё один гироскоп, ADIS16251.
Massaraksh> Не совсем понял. Если акселерометр находится в центр координат, и устройство осуществляет поворот, к примеру, вокруг оси Z, акселерометр должен показывать ускорение по осям X и Y.

Это если он смещён относительно оси поворота, то, да, при вращении он будет показывать ускорения. Причём, по одной из осей - во время вращения, а по другой - при начале и остановке вращения. Если при этом гироскоп находится не на оси, на него тоже действует ускорение из-за этого вращения, которое смещает его ноль угловой скорости на величину, пропорциональную ускорению.
Если гироскоп находится на оси вращения, а акселерометр - нет, то на гироскоп ускорение от этого вращения не действует, и акселерометр для коррекции не годится. Если акселерометр находится на оси вращения, а гироскоп - нет, то акселерометр не покажет того, что требуется.

Соответственно, чем ближе друг к другу акселерометр и гироскоп, тем точнее коррекция. Но я коррекцию делал по другому поводу. У меня вращение измерительной головки, на которой стояли ADIS16300 и ADIS16251, весьма медленное, 90 градусов за 3 минуты, и создаваемое этим вращением ускорение настолько мало, что глубоко под шумами гироскопа. А вот ускорение свободного падения, 1 "же", в начале опыта направленное вдоль оси X, и не создающее смещения, а в конце - вдоль оси Y, и создающее максимальное смещение, требовало коррекции.

Massaraksh> Но точно так же ускорение он должен показывать, если устройство движется вдоль линии Y=X в отрицательную сторону. Тогда как различить?

А и не надо различать. Независимо от причины возникновения, линейное ускорение сдвигает ноль угловой скорости, на величину, пропорциональную проекции этого ускорения на ось Y гироскопа. Намеряли - вычитаем корректор. Для произвольного случая схема коррекции может быть замысловатой. Поэтому надо учитывать, и, для упрощения себе жизни и математики, устанавливать гироскоп осью Х вдоль преобладающего ускорения, в ракете - это продольная ось.
   11.011.0
RU Бывший генералиссимус #19.06.2015 01:42  @Massaraksh#19.06.2015 01:17
+
-
edit
 
SashaMaks>> Поставить гироскоп и узнать углы поворота, на которые ты развернул своё устройство.
Massaraksh> Так я про это и спрашиваю. Вопрос - каков алгоритм.

Погоди. Или ты таки собираешься двойным интегрированием показаний акселерометра измерять перемещение?
Тогда, как минимум, нужно обязательно ставить два разнесённых акселерометра на одинаковом расстоянии от центра тяжести с разных сторон, и усреднять их показания, при этом ускорения, созданные поворотами вокруг центра тяжести, автоматически уберутся.
Я этого не делал, у меня задачи такой не было.
При двойном интегрировании ошибка нарастает со временем квадратично! У меня получалось за минуту не меньше 15 метров. За 10 минут - больше километра.
   11.011.0
RU Massaraksh #19.06.2015 03:03  @Бывший генералиссимус#19.06.2015 01:42
+
-
edit
 

Massaraksh

аксакал
★☆
Б.г.> Погоди. Или ты таки собираешься двойным интегрированием показаний акселерометра измерять перемещение?
Да, высоту.
Б.г.> Тогда, как минимум, нужно обязательно ставить два разнесённых акселерометра на одинаковом расстоянии от центра тяжести с разных сторон, и усреднять их показания, при этом ускорения, созданные поворотами вокруг центра тяжести, автоматически уберутся.
О, отличная мысль!
Б.г.> При двойном интегрировании ошибка нарастает со временем квадратично! У меня получалось за минуту не меньше 15 метров. За 10 минут - больше километра.
Ну, мы так высоко не летаем. Думаю, пока 10-15 секунд хватит. Тогда это будет менее метра.
   39.039.0
Это сообщение редактировалось 19.06.2015 в 03:13
KZ Xan #19.06.2015 03:23  @Бывший генералиссимус#19.06.2015 01:42
+
-
edit
 

Xan

координатор

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

Несколько раз уже читал про "датчики в центре масс".
И все эти несколько раз не могу понять — зачем?!

Ну вот к ракете приделана палка вбок, на конце палки — датчики.
Ракета вращается вокруг оси и вообще летит криво.
Как всё это помешает определить положение датчиков?
Причём здесь центр масс?
   
+
-
edit
 

Massaraksh

аксакал
★☆
Xan> Как всё это помешает определить положение датчиков?
Невозможно отличить линейное ускорение от центростремительного.
Иными словами, если ракета летит строго вверх, а палка вращается вместе с ракетой, то, судя по показаниям акселерометра на этой палке, ракета летит вверх и вбок в одной плоскости.
   39.039.0
+
-
edit
 

Xan

координатор

Xan>> Как всё это помешает определить положение датчиков?
Massaraksh> Невозможно отличить линейное ускорение от центростремительного.

Я это в школе проходил! :)

Massaraksh> Иными словами, если ракета летит строго вверх, а палка вращается вместе с ракетой, то, судя по показаниям акселерометра на этой палке, ракета летит вверх и вбок в одной плоскости.

Ничего не понял.
Если в карман положить датчики с мозгами, бегать по лестницам, прыгать и кувыркаться, а потом вернуться в исходную точку, то в мозгах координаты должны стать исходными.
Независимо от траектории и привязке к центру масс.
Даже если держать датчики в руке и кружиться в танце.

Иначе нахрена датчики?!
   
RU SashaMaks #19.06.2015 09:04  @Massaraksh#19.06.2015 03:54
+
-
edit
 

SashaMaks
SashaPro

аксакал

Xan>> Как всё это помешает определить положение датчиков?
Massaraksh> Невозможно отличить линейное ускорение от центростремительного.

Не важно какое ускорение, важно, что оно вообще есть.

Massaraksh> Иными словами, если ракета летит строго вверх, а палка вращается вместе с ракетой, то, судя по показаниям акселерометра на этой палке, ракета летит вверх и вбок в одной плоскости.

Есть же гироскоп, он задаст направление вектора ускорения. И всё. У нас будет траектория движения точки закрепления датчика в пространстве. Если нам известен радиус-вектор от точки закрепления датчика до точки ЦМ, то мы легко сможем определить ориентацию всей ракеты в пространстве.
Не вижу ничего сложного, зависимость положения ЦМ от расхода топлива в ракете легко получить из банального трехмерного моделирования и геометрического закона горения топлива.
Тоже самое можно проделать и с двумя точками измерений, но потребуется уже два акселерометра и два гироскопа. Если нам будет известен хотя бы один вектор, жестко связанный с корпусом ракеты, мы сможем определить её поворот в любой момент времени.

Для просто алгоритма поиска апогея делать переход к системе координат датчика относительно локальной системы координат ЦМ не нужно, т.е. считать положение ЦМ или ставить ещё дублирующий комплект куда-то, нет никакой необходимости. А вот для управляемой ракеты с помощью рулей - это уже потребуется.
   43.0.2357.12443.0.2357.124
RU Massaraksh #19.06.2015 11:58  @SashaMaks#19.06.2015 09:04
+
-
edit
 

Massaraksh

аксакал
★☆
SashaMaks> Есть же гироскоп, он задаст направление вектора ускорения.
В предложении Андрея гироскоп не нужен.
   39.039.0
+
-
edit
 

Massaraksh

аксакал
★☆
Xan> Если в карман положить датчики с мозгами, бегать по лестницам, прыгать и кувыркаться, а потом вернуться в исходную точку, то в мозгах координаты должны стать исходными.
GPS-датчики? Согласен.
Акселерометры с гироскопом? Да, но с умными мозгами.
Акселерометры без гироскопа? Не выйдет.
   39.039.0
RU SashaMaks #19.06.2015 12:29  @Massaraksh#19.06.2015 12:02
+
-
edit
 

SashaMaks
SashaPro

аксакал

Massaraksh> GPS-датчики? Согласен.
Massaraksh> Акселерометры с гироскопом? Да, но с умными мозгами.
Massaraksh> Акселерометры без гироскопа? Не выйдет.

Жесть. Ты хоть поясняй, когда и о чем речь идёт. А то ведь интересовался акселерометром с гироскопом, а тут уже и GPS и просто акселерометр.

Тут:
Massaraksh> Акселерометры с гироскопом? Да, но с умными мозгами.
Центр масс не важен.
   43.0.2357.12443.0.2357.124
RU SashaMaks #19.06.2015 12:31  @Бывший генералиссимус#19.06.2015 01:42
+
-
edit
 

SashaMaks
SashaPro

аксакал

Б.г.> при этом ускорения, созданные поворотами вокруг центра тяжести, автоматически уберутся.

Это не ракета будет, а волчок какой-то.
   43.0.2357.12443.0.2357.124
RU Massaraksh #19.06.2015 12:44  @SashaMaks#19.06.2015 12:29
+
-
edit
 

Massaraksh

аксакал
★☆
Massaraksh>> GPS-датчики? Согласен.
Massaraksh>> Акселерометры с гироскопом? Да, но с умными мозгами.
Massaraksh>> Акселерометры без гироскопа? Не выйдет.
SashaMaks> Жесть. Ты хоть поясняй, когда и о чем речь идёт.
Чего пояснять? Это Xan написал "датчики", не расшифровывая.
   39.039.0
+
-
edit
 

Xan

координатор

Massaraksh> Это Xan написал "датчики", не расшифровывая.

Тема про гироскопы.
И, заодно, про акселерометры.
Всё 3D.

Только одноосный акселерометр — это в теме про "изобретателей грузика". :)

ЗЫ
Делать что-то с 1D акселерометром как-то бессмысленно.
3D акселерометр стоит примерно те же копейки, на экономии не разбогатеешь! :)
Мозги (МК) всё равно нужны.
Так почему бы не сделать полноценную систему инерциальных датчиков, чтоб не надо было думать, крутится ли ракета.

Ну, разве что, делать аналоговую вычислительную машину с аналоговым акселерометром.
Но это как-то тово — мазохизм!!! :D
   

SashaMaks
SashaPro

аксакал

Xan> Только одноосный акселерометр — это в теме про "изобретателей грузика". :)

О, я так и думал, что другой реакции и ждать не стоило)))
А я вот и об одноосном думал.

Но для простого управления полётом неуправляемой любительской ракеты – это всё лишнее и ненужное усложнение в виде сложных алгоритмов и гироскопов.

Основное условие, которое отличает пуск любительской ракеты от каких-либо других – это вертикальный старт и запуск её вверх. Т.е. её траектория полёта достаточно точно и строго задана. Примерный допускаемый предел отклонений по телесному углу составляет 60-90гр., что меньше, чем 180гр. При том, что приближение отклонения полёта такой ракеты к углу на 90гр. от вертикали уже считается аварией и такой пуск даже спасению не подлежит, а ракета в таком случае подлежит самоуничтожению.

Дальность полётов таких любительских ракет ограничена толщиной плотной атмосферы примерно в 20-30км. Это то расстояние от поверхности земли, где на доступных диапазонах скоростей полётов любительских ракет ещё возможно применение пассивной стабилизации ракет с помощью обыкновенных стационарных стабилизаторов. При этом ракеты могут улетать по инерции вверх ещё выше и уже не отклоняться от полученного направления полёта, так как выше уже нет дестабилизирующих факторов, действующих на ракету, и она представляет собой просто тело, движущееся по инерции в сильном разрежении на дальности уже где-то 100-300км. Вот и весь любительский диапазон для высотных пусков.

В этом диапазоне для создания инерциального датчика апогея предостаточно всего лишь одного акселерометра и даже одноосный подойдёт. Датчик лучше установить на главной оси вращения ракеты максимально близко к ЦМ.

1. Нам не нужна полноценная система определения ориентации ракеты в пространстве, так как она не управляется рулями, а летит по инерции.
2. Всё управление полётом сводится к тому, чтобы не разбить ракету при падении – это обеспечивается с помощью работы системы спасения.
3. Для работы системы спасения нужно знать момент прохождения ракетой апогея.
4. Основным и достаточным условием определения момента прохождения ракетой апогея является минимум скорости её движения после изменения знака дифференциала приращения ускорения по главной оси, определяемого после определения момента старта ракеты.
5. Условие поиска апогея п.4 выполняется во всём указанном любительском диапазоне полёта ракет и не зависит от посторонних возмущающих факторов. Фотодатчик апогея на этом диапазоне обманется изменением направления светимости от рассеянного света от плотной атмосферы (ограничение где-то 5-10км по высоте), и зависит от времени суток (только в светлое время). Барометрический датчик апогея обманется от сверхзвуковых скачков давления (ограничение на сверхзвуковые ракеты), ограничен плотной атмосферой (где-то до 40км). Магнитный датчик обманется из-за возможных возмущений магнитного поля (не надёжен). Акселерометр может обмануться только при грубом физическом повреждении, работает на всём любительском диапазоне полётов ракет в количестве 1шт.

Прикинул и "страшную" погрешность для своей ракеты РМ-65-13. Покрутил туда сюда и стало ясно, что всё менее 1% получается для нормального режима полёта ракет.

И погрешность не растёт при расчёте скорости и перемещения!
И лично мне такой погрешности будет предостаточно для того, чтобы определить дальность полёта с точностью до 1%.
Для обеспечения работоспособности алгоритма спасения эта погрешность вообще не имеет никакого значения.
Прикреплённые файлы:
001.png (скачать) [968x441, 46 кБ]
 
 
   43.0.2357.12443.0.2357.124
Это сообщение редактировалось 19.06.2015 в 16:32
+
-
edit
 

Massaraksh

аксакал
★☆
Xan> Так почему бы не сделать полноценную систему инерциальных датчиков, чтоб не надо было думать, крутится ли ракета.
Ну, я заодно и пытаюсь понять алгоритм определения текущей координаты объекта в зависимости от показаний "полноценной системы инерциальных датчиков". В применимости не только к ракетам, а любым объектам. Но пока - не понимаю. Математически кто-нибудь может написать?
   39.039.0
RU Massaraksh #19.06.2015 17:25  @SashaMaks#19.06.2015 16:25
+
-
edit
 

Massaraksh

аксакал
★☆
SashaMaks> 4. Основным и достаточным условием определения момента прохождения ракетой апогея является минимум скорости её движения после изменения знака дифференциала приращения ускорения по главной оси, определяемого после определения момента старта ракеты.
Можешь нарисовать предполагаемый график показаний датчика ускорения на твоей виртуальной ракете?
   39.039.0
1 22 23 24 25 26 53

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