Проект Мегапират на самик!

Syberian
LaPart:

есть вопрос.

опять двадцать пять 😁 Только не говорите, что вы в воздухе это видели? Все равно не поверю.
Читайте последний абзац

LaPart
Syberian:

Читайте последний абзац

ОК, учу матчасть:)

ssh1
Syberian:

конечно, планируется. Я бы даже сказал, что это необходимо. Только нужно учесть, что он должен быть одинаковым для самолетов и мультироторов. Впрочем, это необязательно. Различать можно.
Ладно, как делать будем? в случае конкретно самолетов. Цифры и условия. Сейчас и внедрю.

Предлагаю несколько вариантов для самолётов, давайте обсудим.
1.Не включать автовозврат после “ударных” ускорений до пересброса питания.
2. Не включать возврат если скорость меньше 20 и высота меньше 20
3. Выключать возврат на высоте ниже 20 если скорость так и не превысила 20, через 3 сек после включения.

LaPart
ssh1:

несколько вариантов для самолётов, давайте обсудим

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

Frr
Syberian:

это типа R и Q выставить? главное, не ниже порога собственных шумов датчика, выше - можно на 2 порядка менять. А шумы датчиков я вымерял все.

Получается, что такая куча параметров в R - “почти мусор” ? 😃
А Q зависит не от шумов датчиков, а от “косины мат. модели” (из к-рой получается F). Вроде бы. 😃

Syberian
Frr:

такая куча параметров в R

По числу осей линейных датчиков - не так уж много. В q - гира и аксель. Еще в Р (ков. матрица) надо задавать начальные значения. Правда, поскольку шумы считаются некоррелированными, можно забивать только диагональ. От этого зависит скорость начального схождения. В любом случае, “смертельно” накуролесить, чтобы ничего не работало, очень сложно. Все сразу отражается на поведении.

ssh1:

Предлагаю несколько вариантов для самолётов, давайте обсудим.
1.Не включать автовозврат после “ударных” ускорений до пересброса питания.
2. Не включать возврат если скорость меньше 20 и высота меньше 20
3. Выключать возврат на высоте ниже 20 если скорость так и не превысила 20, через 3 сек после включения.

LaPart:

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

Суммируя вышеописанное, нужно добавить датчик удара.

  1. Разрешить аварийный возврат после однократного удаления 50м от старта и высоты 20м.
  2. Если датчик удара сработал после 1, возврат отключается.
  3. при срабатывании датчика удара включается дизарм
ssh1

А что с ситуацией низко и далеко ?
Предлаю по итогам.
Не включать после удара.
Не включать если низко и скорость менее 20
В остальных случаях пусть пытается ?

dundel1
Syberian:

Суммируя вышеописанное, нужно добавить датчик удара. 1) Разрешить аварийный возврат после однократного удаления 50м от старта и высоты 20м. 2) Если датчик удара сработал после 1, возврат отключается. 3) при срабатывании датчика удара включается дизарм

  1. Аварийный - это по условию? Т.е., с пульта я могу его включить и при невыполнении 50х20? Если нет, тогда предлагаю ограничение по высоте снять, либо сделать 2м.
    Почему: реальный случай - дальность 200м, высота 15м, зарулился. Включаешь автовозврат, а он не хочет, поскольку ограничение 20м.
  2. и 3) предлагаю ввести условия - независимо от удара,
    -если высота 0-2м скорость 0-6км/ч - движок отключаем (самолёт на земле, или человек несёт в руках)
    -если высота больше 2м, скорость 0 и в течение 2-3 сек не изменяется, движок отключаем (режим “здравствуй, дерево”, как назвал его Тим:)). Т.е., самолёт повис на дереве, или лежит где-либо “на крыше дома моего”.
    Ну, и если это всё ещё и после удара, движок отключаем без вариантов:).

Предлагаю именно не дизармить, а просто не включать двигатель в этих ситуациях!
Почему: -сдуло ветром с дерева или крыши, любопытный поднял самолёт и бросил в воздух (т.е. высота больше 2м и скорость больше 6 км/ч) - при наличии заряда в батарейке включаем двиг, занимаем эшелон и валим к точке старта:)))

Да, ещё вспомнил - если после удара высота больше 2м и скорость больше 6км/ч - пытаемся выровнять и лететь дальше (типа, ударился об ветку дерева, или провод ЛЭП…)😃

Мне вот так это дело видится. Не знаю, насколько возможно это всё реализовать…😃
О, долго клаву топтал:). Сергей уже про “далеко-низко” написал

vic2rus

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

ssh1
dundel1:
  1. Аварийный - это по условию? Т.е., с пульта я могу его включить и при невыполнении 50х20? Если нет, тогда предлагаю ограничение по высоте снять, либо сделать 2м.
    Почему: реальный случай - дальность 200м, высота 15м, зарулился. Включаешь автовозврат, а он не хочет, поскольку ограничение 20м.
  2. и 3) предлагаю ввести условия - независимо от удара,
    -если высота 0-2м скорость 0-6км/ч - движок отключаем (самолёт на земле, или человек несёт в руках)
    -если высота больше 2м, скорость 0 и в течение 2-3 сек не изменяется, движок отключаем (режим “здравствуй, дерево”, как назвал его Тим:)). Т.е., самолёт повис на дереве, или лежит где-либо “на крыше дома моего”.
    Ну, и если это всё ещё и после удара, движок отключаем без вариантов:).

Предлагаю именно не дизармить, а просто не включать двигатель в этих ситуациях!
Почему: -сдуло ветром с дерева или крыши, любопытный поднял самолёт и бросил в воздух (т.е. высота больше 2м и скорость больше 6 км/ч) - при наличии заряда в батарейке включаем двиг, занимаем эшелон и валим к точке старта:)))

Да, ещё вспомнил - если после удара высота больше 2м и скорость больше 6км/ч - пытаемся выровнять и лететь дальше (типа, ударился об ветку дерева, или провод ЛЭП…)😃

Мне вот так это дело видится. Не знаю, насколько возможно это всё реализовать…😃
О, долго клаву топтал:). Сергей уже про “далеко-низко” написал

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

dundel1
ssh1:

Мне кажется на 2 метра высота может уплыть махом, что баро что жпс

Основная высота берётся с баро, скачкИ в пределах 1-2м как раз укладываются. Плюс условия связаны ещё и со скоростью. По-моему, вполне…
Смысл, чтобы привязать к высоте безопасной для людей, и почти безопасной для самолёта при падении “просто кирпичём”😃

ssh1
dundel1:

Основная высота берётся с баро, скачкИ в пределах 1-2м как раз укладываются. Плюс условия связаны ещё и со скоростью. По-моему, вполне…
Смысл, чтобы привязать к высоте безопасной для людей, и почти безопасной для самолёта при падении “просто кирпичём”😃

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

А, еще чекбокс “запрет включения после удара”

frwind

Добрался я таки до MPX 😃
Сейчас поеду испытывать, как раз и ветерок хороший 9-11 м/с 😃

Frr
Syberian:

По числу осей линейных датчиков - не так уж много. В q - гира и аксель.

А почему решили не включать в ФК маг. ?
Шум курса тоже придется как-то удалять.

Syberian

Он тоже там, но его шум лежит в R. Из показаний гиры интегрируется кватернион, добивается акселем, из него затем вычисляется референсный трехосевой вектор H, который является предсказанием реального вектора В, т.е. компаса.
Попутно нахаляву имеем компенсацию биасов гиры и акселя до определенных пределов и компенсацию центробежки.

serj

А как компенсация центробежки получается “нахаляву”? информация о скорости должна откуда-то поступать? 😃

Syberian

Под халявой имелось в виду биасы. Центробежка корректируется путем вычисления угловой скорости (гира), перегрузки (сам аксель - отличие длины от 9.81) и отличия Н от В, в результате вводится виртуальная “поправка” к предсказанию акселя, не меняя показания его самого. Для линейных ускорений используется именно отсутствие угловых скоростей и преобладает влияние Н, для центробежки - наоборот, преобладает гира, а Н ослаблено. Естественно, все пропускается через матрицу наблюдения. И никаких ЖПС не нужно, хех… По магнитному и ускорительному тестам получается то же, что у моего “идеала” - VN100 (картинка справа, естественно).

Для Дринкера специально: согласись, с*издить алгоритм у VectorNav - это тоже труд, достойный докторской, а не просто “поделка” 😉

Для прочих: я не *издил алгоритм ниоткуда.

Frr
Syberian:

Он тоже там, но его шум лежит в R.

Шум мага в R, а курс (из которого получается yaw-часть кватерниона) д.б. в x и его шум в P и Q, насколько понимаю. 😃

>Центробежка корректируется путем вычисления угловой скорости (гира), …
“… это разные омеги, каждая живет собственной жизнью” (C, кажется Oliver)
Для квадриков (которые летают не только носом вперед) плохо подходит.

Drinker
Syberian:

Под халявой имелось в виду биасы. Центробежка корректируется путем вычисления угловой скорости (гира), перегрузки (сам аксель - отличие длины от 9.81) и отличия Н от В, в результате вводится виртуальная “поправка” к предсказанию акселя, не меняя показания его самого. Для линейных ускорений используется именно отсутствие угловых скоростей и преобладает влияние Н, для центробежки - наоборот, преобладает гира, а Н ослаблено. Естественно, все пропускается через матрицу наблюдения. И никаких ЖПС не нужно, хех…

Это тебе так кажется.

Syberian:

Для прочих: я не *издил алгоритм ниоткуда

А кто сомневается? Конечно сам напесал. Из рассуждений это очевидно.

Syberian
Frr:

а курс (из которого получается yaw-часть кватерниона) д.б. в x

курса в чистом виде нет. Есть вектор мага B, и шум из него в R. Кватернион (содержащий attitude, есно) в Х.

Frr:

Для квадриков (которые летают не только носом вперед) плохо подходит.

Тут ускорения линейные, а вектор акселя всегда смотрит в “пол” квадра, меняется только его длина. Должно прокатить тоже, т.к. ускорения считаются независимо от направления, да и компас никуда не делся. Даже марг работал. С ОСД на борту калман на коптере не тестил, впрочем, это вопрос времени. Висит сносно.

Drinker:

Конечно сам напесал

Единственное, что я изучил в этой жизни - это кнопка “мне повезет” в гугле, и весь свой совт я с*издил по разным местам. Вот, я сознался, так лучше? Изжога прошла?
Вот, даже жирным выделю, чтоб заметнее было. Заучи ссылку на это сообщение как “отче наш”, будешь тыкать меня носом потом. А также последнее сообщение, в котором я тебе ответил что-то.

LaPart

Олег, вопросик. Плата у меня установлена горизонтально в самолете, параллельно строительной оси, относительно которой угол установки крыла порядка 1,5°. В таком положении без руления РВ я зимой взлетал с пуза со снега (разбег и плавный отрыв без ручек, только газ).
В полете в стабе тянет вниз. Для того, чтобы изменить тангаж для удержания, нужно переставлять плату или достаточно перекалибровать уровни в положении тангажа с более задранным носом?

Вот кусок видео небольшой, только с экрана ТВ снял фотиком, больше нечем.

www.youtube.com/watch?v=yX4lFKpAtN0

Почему-то не захотел в лойтере высоту набирать. При возврате на базу тоже высота была “над головой”, всего метров двадцать, стремно. Видео не осталось…