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

ssh1
Syberian:

2.0.2712

Фильтер калмана вернут обратно. То, что он теперь полностью рабочий и не будет дурить, гарантирую. Причина (даже несколько) идиотского поведения найдена и устранена.

Добрый день.
Новость радует, жаль проверить смогу дня через 4.
Есть вопрос про автопилот пока:
Он так же будет пытаться лететь домой даже лёжа на земле ? Мне повезло 2 раза, винтом ничего не доломало, но не лучше ли подстраховаться?
Почему бы не запретить включать возврат при скорости ниже 10 и высоте ниже 30, в остальных случаях пусть летит )))

А, ещё, а может использовать сонар (опционально)? Они вроде не дороги, на квадриках видел часто юзаются.

Drinker
Syberian:

Проблема была в неправильных коэффициентах компенсации и связях между несколькими матрицами этого математического монстра

Судя по отсутствию упоминания фундаментальной настройки калмановского фильтра, который индивидуален для каждого юзера поделки, гарантировать я бы не спешил.

LaPart
ssh1:

Мне повезло 2 раза, винтом ничего не доломало

Сергей, а в какой ситуации такое получилось?

ssh1
LaPart:

Сергей, а в какой ситуации такое получилось?

Посты 2555 и 2557 в этой ветке.
Если вкратце - хреново работал радиоканал + глючил стаб режим у МРХ

Syberian
ssh1:

Он так же будет пытаться лететь домой даже лёжа на земле ?

Сейчас условие единственное: если хотя бы раз после включения батарейки расстояние до дома превысило 20 метров, включение возврата разрешается.
[deleted]

Drinker:

фундаментальной настройки

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

ssh1
Syberian:

Сейчас условие единственное: если хотя бы раз после включения батарейки расстояние до дома превысило 20 метров, включение возврата разрешается.

Ок, спрошу по другому, планируется ли изменение алгоритма включения автовозврата?
Не понимаю чем плохо ограничение по скорости и высоте ?

Syberian

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

LaPart

Олег, есть вопрос.
Зачем при включенном режиме Stab постепенно изменяются целевые значения углов для РВ и элеронов (при долгом вираже, например, при помощи элеронов и бросании стиков, элероны будут уже не в положении, которое нужно для перехода в горизонт, а сдвинутся в новое, поправленное положение? То же самое и для РВ.
Получается, что это аналог гироскопов в вертолетном режиме удержания балки, только удерживаться начинают крен и тангаж.
Если долго держать РН - понятно, корректируется курс при сохранении горизонта.
Зачем самолету запоминать и потом поддерживать крен и тангаж?
Ведь если пилот зарулился и бросил ручки, самолет должен вернуться в горизонт, разве не так?

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 м/с 😃