[image]

Гироскопы и кватернионы

 
1 2 3 4
RU Бывший генералиссимус #03.07.2019 14:06  @Xan#03.07.2019 11:39
+
-
edit
 
Xan>>> Если ракета с большущими стабилизаторами, то она постарается развернуться по ветру.
Б.г.>> Нет, аэродинамически устойчивая ракета постарается развернуться против ветра.
Xan> А, это я в морских терминах путаюсь! :)
Xan> "В новое устойчивое положение".

Устойчивая ракета поворачивает носом к ветру, чтобы её скорость из скорости ветра вычиталась :(

Б.г.>> Нет. При "истинно" нулевой устойчивости, за счёт градиента скорости течения примерно около 0,5 м/с по длине ракеты
Xan> Не, не так сильно.
Xan> Или у тебя есть фактические данные по градиенту?

Там легко может быть и больше, поскольку поток сильно турбулентный местами. 100 м/с - это максимальная скорость среднемассового переноса. Локальные градиенты встречаются очень большие. Диаметр вихрей - от одного метра (или от чуть меньше метра) до размаха крыльев "Боинга". Это та самая фигня, при пролёте которой начинает колбасить пассажирский самолёт так, что стюардессы прекращают раздачу еды. Но пилоты коммерческих авиалиний ими пользуются всегда, потому что очень уж велика выгода.
   75.0.3770.10075.0.3770.100

RocKI

опытный

Xan> Скорее всего профиль "скорость от высоты" в течении плавный

Если речь о воздушных потоках, то это не так. Они именно слоистые. Градиент получается весьма значительный при переходе из потока в поток, а в потоке скорость примерно постоянна. Таких эшелонов при полете на 100км может быть несколько. При запуске метео ракет именно так, эшелонами задаются потоки и потом вычисляется место падения. У меня даже есть вариант программы ALTIMEX был добавлен расчет сноса ракеты в таких условиях. Без кватернионов получилось сложно. :D
   75.0.3770.10075.0.3770.100

Xan

координатор

Xan>> Скорее всего профиль "скорость от высоты" в течении плавный
RocKI> Если речь о воздушных потоках, то это не так.

Вот бы на надёжные данные посмотреть.

А то почему-то во всех источниках, которые мне попадались, написан бред про "более 5 м/с на 1 км".
Чтоб получилось хотя бы 25 м/с, надо 5 км половинной толщины.
А для 100 м/с всей атмосферы не хватит! :)
Например вон там:
(Высотное струйное течение — Википедия)

Понятно, что "более", это может быть и 500. Но что-то они путаются в арифметике, мне кажется.
   66
+
-
edit
 

Massaraksh

аксакал
★☆
Xan>>> Скорее всего профиль "скорость от высоты" в течении плавный
RocKI>> Если речь о воздушных потоках, то это не так.
Xan> Вот бы на надёжные данные посмотреть.
Да сколько угодно. За любой день любого года в любом месте Земли в диапазоне высот.
Например:

University of Wyoming - Radiosonde Data

Description of the data columns or sounding indices. //  weather.uwyo.edu
 

Высота - 2 колонка, скорость ветра в узлах - 8 колонка, направление в градусах - 7 колонка. Дата, время, местоположение задается в командной строке.
   67.067.0

RocKI

опытный

Xan> Вот бы на надёжные данные посмотреть.
Xan> Понятно, что "более", это может быть и 500. Но что-то они путаются в арифметике, мне кажется.

Все может быть, но чаще всего так говорят, когда 5 с небольшим. А это небольшой градиент, допускающий некоторое усреднение. Само понятие "струя" подразумевает некоторый поток с примерно одинаковой скоростью, резко выделяющийся из окружающей среды.
Насчет надежности данных - они были получены в результате общения с метеорологами, работающими с ММР-06М. Возможно это просто одна из упрощенных методик, но раз она использовалась, значит себя оправдывала.
   75.0.3770.10075.0.3770.100
+
-
edit
 

Xan

координатор

Massaraksh> Например:

О как!
Красота! :)
Там, беглым взглядом, увидел градиенты 18 и 25 м/с на км.
Но скорость максимальная попалась всего 50 м/с.
   66
+
-
edit
 

Massaraksh

аксакал
★☆
Massaraksh>> Например:
Xan> О как!
Xan> Красота! :)
Xan> Там, беглым взглядом, увидел градиенты 18 и 25 м/с на км.
Xan> Но скорость максимальная попалась всего 50 м/с.
Посмотри другие даты/места Земли. Можешь выбрать место рядом с собой.
Адресная строка:
аш-ти-ти-пи://weather.uwyo.edu/cgi-bin/sounding?region=europe&TYPE=TEXT%3ALIST&YEAR=2019&MONTH=1&FROM=0100&TO=1012&STNM=34122
Где:
YEAR=2019 - год, 4 цифры
MONTH=1 - месяц, 1-2 цифры
FROM=0100 - 01 - нач. число месяца, 2 цифры; 00 - час, 2 цифры
TO=1012 - 10 - кон. число месяца, 2 цифры; 12 - час, 2 цифры
STNM=34122 - код метеостанции - 5 цифр. Коды станций можно найти в инете.
 
   67.067.0

RocKI

опытный

Massaraksh>> Например:
Xan> О как!
Xan> Красота! :)
Да, интересные данные. Во второй табличке прекрасно видна струя потока высотой в районе 1 км. А вот градиент на её границах достигает 65 м/с на высоте менее 0,1 км.
   75.0.3770.10075.0.3770.100
+
-
edit
 

Xan

координатор

Massaraksh> Коды станций можно найти в инете.

Ага:
(FlyMeteo)

Но моя страна в этом не участвует, похоже.
Ай, надо другой регион. Как бы догадаться, какой?
36865 Алматы аэропорт
36870 Алматы город

PS
Впрочем, можно не вникая в тонкости и потеряв немного в оптимальности, задаться жёсткими условиями, что скорость течения 100 м/с и переход по высоте мгновенный.

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

Ну и сигналы от главной системы управления будут суммироваться с инстинктом, чтоб куда надо лететь.
   66
Это сообщение редактировалось 04.07.2019 в 08:08
RU Бывший генералиссимус #09.07.2019 12:22  @Xan#04.07.2019 06:18
+
-
edit
 
Xan> Ну и сигналы от главной системы управления будут суммироваться с инстинктом, чтоб куда надо лететь.

Куда-то нас не туда понесло. А вот вопрос более в тему.
Что будет, если на рулевую машину подавать сигнал, пропорциональный не углу, а только синусу от него?

Ясно, что с рысканием этот фокус работает хорошо, даже при наличии пространственного манёвра - т.к. редко курс изменяется больше, чем на 22 градуса, или пи/8, а при ограничении в пи/8 разница между синусом угла и самим углом остаётся ещё весьма приемлемой (меньше 2,5%), и, как мне кажется, на устойчивость процесса управления влиять не будет.
Если стабилизация по крену идёт непрерывно от старта до выключения двигателя, то с креном тоже не предвидится осложнений. А, если используется стабилизация вращением, то синус явно не при делах.
Сложнее всего с тангажом. Если мы знаем программное значение, в зависимости от времени, то можно использовать синус разности, и тогда ситуация не будет принципиально отличаться от рыскания. Но, с точки зрения оптимального выведения, угол тангажа зависит не от времени, а от места на траектории.

Почему я спрашиваю? потому что синус любого из трёх углов из кватерниона получить не просто, а очень просто. А вот сам угол - несколько сложнее, без тригонометрии может не получиться. С другой стороны, считать тригонометрию два раза, а не три, всё равно облегчение и экономия времени...
   75.0.3770.10075.0.3770.100
KZ Xan #09.07.2019 13:11  @Бывший генералиссимус#09.07.2019 12:22
+
-
edit
 

Xan

координатор

Б.г.> Куда-то нас не туда понесло. А вот вопрос более в тему.

Атмосфера же гадить будет, и надо будет выруливать в правильную сторону. :)
Но да, это несколько в стороне.

Б.г.> Что будет, если на рулевую машину подавать сигнал, пропорциональный не углу, а только синусу от него?

Если рули воздушные, то они уже нелинейные.
Если от машинки к рулям передача через кривошип, то тоже нелинейность.
Но, похоже, что при уменьшении в несколько раз самого k1 или каких-то других, которые стоят в цепочке от угла до силы на рулях, управление не страдает.
И асимметрия влево-вправо врядли помешает.
Главное, чтоб k1 нигде не превышал предельное значение.

Б.г.> Почему я спрашиваю? потому что синус любого из трёх углов из кватерниона получить не просто, а очень просто. А вот сам угол - несколько сложнее, без тригонометрии может не получиться. С другой стороны, считать тригонометрию два раза, а не три, всё равно облегчение и экономия времени...

Тангаж, как я понимаю, меняется градусов на 100, от вертикального до "горизонтального", но уже за кривым горизонтом.
Тут с синусом совсем плохо будет?

Б.г.> редко курс изменяется больше, чем на 22 градуса

А зачем меняется?
Бюрократия?
   66
RU Бывший генералиссимус #09.07.2019 14:53  @Xan#09.07.2019 13:11
+
-
edit
 
Xan> Тангаж, как я понимаю, меняется градусов на 100, от вертикального до "горизонтального", но уже за кривым горизонтом.
Xan> Тут с синусом совсем плохо будет?

Если брать синус непосредственно от набранного угла от вертикали, то да, хреново. Но, может, можно придумать какой костыль.

Б.г.>> редко курс изменяется больше, чем на 22 градуса
Xan> А зачем меняется?
Xan> Бюрократия?

Не, обычно, нельзя падать на жилые объекты. Например, в книжке Маллейна описывается, что его третий полёт был на рекордное для Шаттлов наклонение, 62 градуса, и с Канаверала на это наклонение выводиться непосредственно нельзя - трасса будет проходить близко от чего-то там. В результате, применяется манёвр "собачья нога" (dogleg), заключающийся в том, что сначала ракета летит по одному азимуту, потом поворачивает по курсу (рысканию) и летит по другому.

совершенно аналогично выводятся ракеты из Плесецка на ССО - сначала летят по азимуту, с которым они бы вышли на наклонение 91, а потом доворачивают, чтобы попасть на 97.

SS-520-5 выполнила такой манёвр "непроизвольно", т.к. её третья ступень должна была развернуться в горизонт, не останавливая вращения, на прецессии. В результате, получившаяся орбита имела наклонение меньше, чем широта стартовой площадки.
   75.0.3770.10075.0.3770.100
RU Полл #09.07.2019 15:16  @Бывший генералиссимус#09.07.2019 14:53
+
-
edit
 

Полл

литератор
★★★★★
Б.г.> Если брать синус непосредственно от набранного угла от вертикали, то да, хреново. Но, может, можно придумать какой костыль.
Брать синус от вертикали посередине активного участка?
   67.067.0
KZ Xan #09.07.2019 15:26  @Бывший генералиссимус#09.07.2019 14:53
+
-
edit
 

Xan

координатор

Б.г.> Если брать синус непосредственно от набранного угла от вертикали, то да, хреново. Но, может, можно придумать какой костыль.

Ну у тебя же на каждый момент должна быть уставка и фактический угол.
И разница должна быть небольшая.
Посчитать разницу и её применить. А радианы это или синусы — будет наплевать.


Xan>> Бюрократия?
Б.г.> Не, обычно, нельзя падать на жилые объекты.

А, я это и имел виду. Что НЕ физика.
   66
RU PSS #09.07.2019 17:18  @Бывший генералиссимус#09.07.2019 14:53
+
-
edit
 

PSS

литератор
★★
Б.г.> Не, обычно, нельзя падать на жилые объекты. Например, в книжке Маллейна описывается, что его третий полёт был на рекордное для Шаттлов наклонение, 62 градуса, и с Канаверала на это наклонение выводиться непосредственно нельзя - трасса будет проходить близко от чего-то там. В результате, применяется манёвр "собачья нога" (dogleg), заключающийся в том, что сначала ракета летит по одному азимуту, потом поворачивает по курсу (рысканию) и летит по другому.

Мне казалось, что маневр "Собачья нога" это термин из выведения на ГСО и имеет совсем другой смысл. Когда спутник выведенный на ГПО одной коррекцией компенсирует и наклонение и перигей. По результирующей вектора. Кажется сначала эти коррекции делали отдельно
   66
RU Бывший генералиссимус #09.07.2019 18:38  @PSS#09.07.2019 17:18
+
-
edit
 
PSS> Мне казалось, что маневр "Собачья нога" это термин из выведения на ГСО и имеет совсем другой смысл. Когда спутник выведенный на ГПО одной коррекцией компенсирует и наклонение и перигей. По результирующей вектора. Кажется сначала эти коррекции делали отдельно

У Маллейна в книге именно про их полёт было так написано. Причём, поскольку Игорь Лисов контролировал перевод, я уверен, что переведено адекватно.
Как мне лично кажется, смысл этого термина именно в том, что меняется направление вектора тяги во время активного участка. Да, это потери ХС.
Апогейный импульс, корректирущий одновременно и наклонение, и перигей, сразу делали единым, расщеплять его на два и более имело смысл только при недостаточной тяговооружённости, но, даже и в этом случае, поворот по курсу не делался, только по тангажу, чтобы вектор тяги был по касательной к орбите.
   75.0.3770.10075.0.3770.100
RU Бывший генералиссимус #13.07.2019 19:10  @Бывший генералиссимус#28.06.2019 21:39
+
+1
-
edit
 
Б.г.>> У ADuC7126 процессор тактируется от синтезатора, который множит на 1275 исходную частоту часового кварца, 32768 Гц.
Б.г.> Не прошло и трёх лет, как я дозрел до заказа печатных плат в Китае :)
Сижу, паяю...
 

   75.0.3770.10075.0.3770.100
KZ Xan #13.07.2019 19:23  @Бывший генералиссимус#13.07.2019 19:10
+
-
edit
 

Xan

координатор

Б.г.> Сижу, паяю...

Тебе фен нужен.
Собсна, всем, паяющим СМД фен нужен. :)
И паяльная паста в шприце.
   66
RU Бывший генералиссимус #14.07.2019 17:16  @Xan#13.07.2019 19:23
+
-
edit
 
Б.г.>> Сижу, паяю...
Xan> Тебе фен нужен.
Фен мне одолжили до конца лета.
Xan> И паяльная паста в шприце.
Паяльную пасту купил, она недешёвая здесь, в Москве, 1550 рублей за тюбик.

Ну, что, в первом приближении, допаял, отмыл и собрал.
Включать пока боюсь. Прежде, чем включать, надо будет гироскоп снять, подать 5 вольт (стабилизатор 5 вольт сейчас не впаян, это полётная часть, для калибровки необязательная), и проверить, что 3.3 везде правильное. А пока любуйтесь.
У меня сегодня жена и младший сын возвращаются из лагеря, где жена работала больше месяца завхозом, а Васька бил баклуши три недели. Так что, сегодня вряд ли включу.
Прикреплённые файлы:
IMG_0385.JPG (скачать) [1024x1024, 320 кБ]
 
 
   75.0.3770.10075.0.3770.100
Это сообщение редактировалось 14.07.2019 в 17:22
KZ Xan #14.07.2019 18:29  @Бывший генералиссимус#14.07.2019 17:16
+
-
edit
 

Xan

координатор

Б.г.> Включать пока боюсь.

4 вольта через резистор. Например.
Всё проверить.
А потом поддать пару!

Можно, конечно, сначала запаять только питание, проверить, что оно приходит на правильные ноги, в потом впаять остальное.

А я на пикаде расслабился. С его функцией контроля соответствия принципиальной и монтажной.
Однажды даже заказал сотню и три плат без проверки на первом экземпляре.
   66
RU Бывший генералиссимус #14.07.2019 18:58  @Xan#14.07.2019 18:29
+
-
edit
 
Б.г.>> Включать пока боюсь.
Xan> 4 вольта через резистор. Например.
Не, это излишне. Всего, кроме гироскопов, у меня есть запас, можно восполнить, собрать 2-й экземпляр.

Xan> Можно, конечно, сначала запаять только питание, проверить, что оно приходит на правильные ноги, в потом впаять остальное.

Не, назад пути нет :)

Xan> А я на пикаде расслабился. С его функцией контроля соответствия принципиальной и монтажной.
Xan> Однажды даже заказал сотню и три плат без проверки на первом экземпляре.

А я вот налетел на несоответствие библиотек микросхемам :) окна в маске под процессор ограничены квадратом 14х14 мм, а реальный размер процессора - 14,1 мм. Причём, этот размер в даташите записан, как максимальный, а, по факту, все имеющиеся у меня экземпляры такие.
Под датафлэш и аварийный гироскоп стандартный SOIC8 тоже не годится. Я припаял кое-как, но, на втором экземпляре буду править.
   75.0.3770.10075.0.3770.100
RU Бывший генералиссимус #15.07.2019 13:55  @Бывший генералиссимус#14.07.2019 18:58
+
+1
-
edit
 
Б.г.>>> Включать пока боюсь.
Включил. Прошил. SPI работает. Но работает не всё. Похоже, до гироскопа не доходит тактовый сигнал от процессора. В текущей прошивке я переключаю гироскоп со встроенного тактового генератора на внешний, от кварца, чтоб было точно 2048 Гц.
Не читается ADXL345 - может, косяки с Chip Select, может, просто, не пропаялся.
Осциллограф на работу не взял, дома буду исследовать.

UPD. Пропаял ножку разъёма, куда приходит 2048 Гц на гироскоп. Завелось. С остальным пока неясно.
UPD2. Феном снял и припаял обратно ADXL345 - теперь он работает, как положено. Непропай был в линии MOSI. Остался оптический датчик, почему-то не читается, хотя осциллограммы, на вид, такие же, как на макете.
   75.0.3770.10075.0.3770.100
Это сообщение редактировалось 19.07.2019 в 00:06
RU Бывший генералиссимус #03.08.2019 14:26  @Бывший генералиссимус#15.07.2019 13:55
+
-
edit
 
Б.г.> UPD. Пропаял ножку разъёма, куда приходит 2048 Гц на гироскоп. Завелось. С остальным пока неясно.
Б.г.> UPD2. Феном снял и припаял обратно ADXL345 - теперь он работает

Наконец-то добрался до всяческих калибровок, влияния ускорения на ноль гироскопа, и т.д. Обнаружено, что ноль дешёвого акселерометра на 300-секундной базе более стабилен, чем ноль акселерометра внутри кубика ADIS1640. Неожиданно и обидно. Ибо шумит ADXL345, понятно, куда сильнее. Расширенный фильтр Калмана с этим, конечно, справился бы, но это а) далёкое будущее, б) не дружит с кватернионной мерой - в кватернионе компоненты зависимые.

Говорят, альтернатива кватерниону для работы с фильтром Калмана - вектор Родрига, но с ним возникают особые точки, поэтому он не годится для ракеты, стабилизированной вращением...

Если получится скорректировать влияние линейного ускорения до такой степени, что получается на приложенных графиках, то измерять вращение Земли (точнее, вводить поправки на него) получится и в динамике! 15 градусов в час - это 0,83 единицы шкалы на картинках.
Прикреплённые файлы:
x-corr.png (скачать) [1269x829, 29 кБ]
 
y-corr.png (скачать) [1272x830, 27 кБ]
 
 
   75.0.3770.14275.0.3770.142
RU Бывший генералиссимус #04.08.2019 11:59  @Бывший генералиссимус#15.07.2019 13:55
+
+1
-
edit
 
Б.г.> Включил.

Чёрт, в плате обнаружился ещё один косяк! За давностью лет я перепутал выходы PWM!
У ADuC7126 три пары выходов PWM, в каждой паре один предназначен для "верхнего" транзистора, другой - для нижнего. Об этом-то я помнил, но забыл, как они идут. А они идут 0 - верхний, 1 - нижний, 2 - верхний, 3 - нижний, 4 - верхний, 5 - нижний.

Нижние могут генерировать такой сигнал, как нужен для авиамодельных сервомашин, без проблем. А верхние требуют применения инвертора. Поскольку для ракеты нужно четыре, в макете у меня стоял инвертор. На одном транзисторе и двух резисторах - для сервы этого достаточно.
Когда я разводил плату, я подумал, что нижние - это три первых, а верхние - три последних. Но склероз меня подвёл. В макете разведены 0, 1, 3 и 5. Нулевой - через инвертор. А тут я инвертор по ошибке поставил на 3.

Мышиный датчик по-прежнему не живёт. Возможно, дохлая сама микросхема. Возможно, какая-то беда с резонатором.
   75.0.3770.14275.0.3770.142
KZ Xan #04.08.2019 13:52  @Бывший генералиссимус#04.08.2019 11:59
+
-
edit
 

Xan

координатор

Б.г.> А тут я инвертор по ошибке поставил на 3.

Пару проволочек соплей бросить — ерунда! :)
Я однажды квадратному микроконтроллеру (шаг 0.65) нумерацию выводов спутал — сдвинул на 1/8 оборота.
А надо было срочно, плату не переделать.
Приклеил микруху над платой на сантиметровый столбик и проволочками (28 или 44 штуки, не помню) соединил с платой.
Этакий грибок на ножке! :)
Так эта конструкция ещё у юзера долго работала, пока её молнией не убили!!! :D
   66
1 2 3 4

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