Идея улучшения стаб. мода
А надо ли хорошую оптику и матрицу, если по лучам развесить лазеры на расстояние уже около 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