Идея улучшения стаб. мода
Вот вот, расставить их правильно и держать позицию по ним, даже хотя бы с помощью белого круга на земле, но чтоб он оттуда даже на полметра не вылезал.
И еще момент, почему бы на коптере не разметить пару гир на концах перпендикулярных лучей, чтобы помогали основной гире по центру понимать, колбасит коптер или нет? или так не угловые, а линейные скорости?
Для этого на концах лучей аксели надо ставить.
Ну аксели, они сейчас стоят копейки же, пару акселей то можно поставить.
Кстати на счет лазерных дальномеров тоже мысль посещала. Но гуглеж выдает какие-то странные ценники. Дешевле, наверное, разобрать китайский дальномер без отражателя будет.
Лазер - это сильно! От дальномера китайского наврядли подойдет.Лежит такой. В нем единственный плюс - безопасный лазер. А вот вариант подобие мышки лазерной…и код обработки уже не раз прописан … Плюс хорошо зарекомендовалось в Флайменторе и в Хеликомандере (правда там по картинке, стаб. изображения). Но принцип похож. Пусть для начало не высоко, потом и оптику подтянуть можно. Еще можно использовать стаб изображения через оптику фотика , как то так это представляется… В нем ведь это все есть. И по уровню выше будет чем у Хелика. И хелик бы высако держал , но оптика не позволяет
Нет, вот именно надо чтобы высоко и стабильно 😃 Знаем мы эти мульки с мышками, нужен чтобы на 50метрах висел точно 😃
Знаем мы эти мульки с мышками, нужен чтобы на 50метрах висел точно
Тогда брать оптику и матрицу от фотика, как основу. Может и правда кто сделает. Сложно это конечно
А надо ли хорошую оптику и матрицу, если по лучам развесить лазеры на расстояние уже около 30см, требование к качеству оптики как бы снижается, нет?
А надо ли хорошую оптику и матрицу, если по лучам развесить лазеры на расстояние уже около 30см, требование к качеству оптики как бы снижается, нет?
Тут ничего не могу сказать… здесь у меня темное пятнышко. Хотя каКчество оптики никто не отменял. И добавлю, из теории наведения лазерных систем …по интенсивности отраженного луча. С лазером именно это используется в силу физических свойств. И совсем нет необходимости вешать несколько лазеров, Нужно будет еще и импульсное кодироване вводить каждому источнику. Все только усложнится при этом
Может, надо раздельно суммировать отклонения*время по осям за последние * секунд?
Roll: -30*1сек, +20*1сек, -20*0.5сек = -20
Pitch: 0, 0, +10*3сек = +30
Значит, противодействием будет плавнонарастающее и затухающее отклонение Roll --20, Pitch -+30
- нормализация. Чтобы не зарулился под 45 градусов.
"
stick_nick = (stick_nick * 3 + PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] * EE_Parameter.Stick_P) / 4;
stick_nick += PPM_diff[EE_Parameter.Kanalbelegung[K_NICK]] * EE_Parameter.Stick_D; //вот это оно и есть
stick_roll = (stick_roll * 3 + PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]] * EE_Parameter.Stick_P) / 4;
stick_roll += PPM_diff[EE_Parameter.Kanalbelegung[K_ROLL]] * EE_Parameter.Stick_D; //вот это оно и есть
"
EE_Parameter.Stick_D - а это переменная которую нужно подбирать!
EE_Parameter.Stick_D
На “крутилку” пульта установить, в полете с пульта “подкручивать”.
Может, надо раздельно суммировать отклонения*время по осям за последние * секунд?
Roll: -30*1сек, +20*1сек, -20*0.5сек = -20
Pitch: 0, 0, +10*3сек = +30
тут надо хорошо подумать + проверять на практике… пример: держим ролл на +30 и через секунду коптер набрал макс. скорость. Стик не отпускаем… скорость таже… прошло 2 сек… И если все просуммируем, то результат для формирования противодействия по Ролл будет не верным (в 2 раза болше). Т.е. суммировать по идее надо только “первую” секунду, пока идет набор скорости. Как вариант фиксировать например можно не изменяемые отклонения стика в течении делта тайм (0.5 сек к примеру)…
Значит, противодействием будет плавнонарастающее и затухающее отклонение Roll --20, Pitch -+30
не обязателно плавное противодействие… изменять/корректировать же будем отклониния стиков… т.е. потом это все пройдет через ПИД регулятор… у меня такие настройки - как резко не дергай стики, наклоны отрабатывает плавно (высокий “Д” параметр…в мултибии он не классик и задает “плавность”)
- нормализация. Чтобы не зарулился под 45 градусов.
тут поясните если можно
"
stick_nick = (stick_nick * 3 + PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] * EE_Parameter.Stick_P) / 4;
stick_nick += PPM_diff[EE_Parameter.Kanalbelegung[K_NICK]] * EE_Parameter.Stick_D; //вот это оно и есть
stick_roll = (stick_roll * 3 + PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]] * EE_Parameter.Stick_P) / 4;
stick_roll += PPM_diff[EE_Parameter.Kanalbelegung[K_ROLL]] * EE_Parameter.Stick_D; //вот это оно и есть
"
EE_Parameter.Stick_D - а это переменная которую нужно подбирать!
я так понял это из микрокоптера?
forum.mikrokopter.de/topic-20272.html
дома поразбираюсь… сейчас на работе…
- нормализация. Чтобы не зарулился под 45 градусов.
тут поясните если можно
Александр, я про ограничения управляющего воздействия. Чтобы не “насуммировало” 90 градусов.
Даже хороший алгоритм я бы сверху ограничил в рамки.
Александр, я про ограничения управляющего воздействия. Чтобы не “насуммировало” 90 градусов. Даже хороший алгоритм я бы сверху ограничил в рамки.
проблемы не будет т.к. управляющее воздействие будем вносить в отклонения стиков, а ограничение на макс. угол отклонения уже есть в ПИД регуле
// 50 degrees max inclination
errorAngle = constrain(2*rcCommand[axis],-500,+500) - angle[axis] + accTrim[axis]; //16 bits is ok here