Идея улучшения стаб. мода

delfin000
Covax:

А надо ли хорошую оптику и матрицу, если по лучам развесить лазеры на расстояние уже около 30см, требование к качеству оптики как бы снижается, нет?

Тут ничего не могу сказать… здесь у меня темное пятнышко. Хотя каКчество оптики никто не отменял. И добавлю, из теории наведения лазерных систем …по интенсивности отраженного луча. С лазером именно это используется в силу физических свойств. И совсем нет необходимости вешать несколько лазеров, Нужно будет еще и импульсное кодироване вводить каждому источнику. Все только усложнится при этом

botvoed
Musgravehill:

Может, надо раздельно суммировать отклонения*время по осям за последние * секунд?
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 - а это переменная которую нужно подбирать!

Musgravehill
botvoed:

EE_Parameter.Stick_D

На “крутилку” пульта установить, в полете с пульта “подкручивать”.

mahowik
Musgravehill:

Может, надо раздельно суммировать отклонения*время по осям за последние * секунд?
Roll: -30*1сек, +20*1сек, -20*0.5сек = -20
Pitch: 0, 0, +10*3сек = +30

тут надо хорошо подумать + проверять на практике… пример: держим ролл на +30 и через секунду коптер набрал макс. скорость. Стик не отпускаем… скорость таже… прошло 2 сек… И если все просуммируем, то результат для формирования противодействия по Ролл будет не верным (в 2 раза болше). Т.е. суммировать по идее надо только “первую” секунду, пока идет набор скорости. Как вариант фиксировать например можно не изменяемые отклонения стика в течении делта тайм (0.5 сек к примеру)…

Musgravehill:

Значит, противодействием будет плавнонарастающее и затухающее отклонение Roll --20, Pitch -+30

не обязателно плавное противодействие… изменять/корректировать же будем отклониния стиков… т.е. потом это все пройдет через ПИД регулятор… у меня такие настройки - как резко не дергай стики, наклоны отрабатывает плавно (высокий “Д” параметр…в мултибии он не классик и задает “плавность”)

Musgravehill:
  • нормализация. Чтобы не зарулился под 45 градусов.

тут поясните если можно

botvoed:

"
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
дома поразбираюсь… сейчас на работе…

Musgravehill
mahowik:
  • нормализация. Чтобы не зарулился под 45 градусов.

тут поясните если можно

Александр, я про ограничения управляющего воздействия. Чтобы не “насуммировало” 90 градусов.
Даже хороший алгоритм я бы сверху ограничил в рамки.

mahowik
Musgravehill:

Александр, я про ограничения управляющего воздействия. Чтобы не “насуммировало” 90 градусов. Даже хороший алгоритм я бы сверху ограничил в рамки.

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

// 50 degrees max inclination
      errorAngle = constrain(2*rcCommand[axis],-500,+500) - angle[axis] + accTrim[axis]; //16 bits is ok here