Специальные цены   новые товары
+ Ответить в теме
Страница 147 из 165 ПерваяПервая ... 137 145 146 147 148 149 157 ... ПоследняяПоследняя
Показано с 5,841 по 5,880 из 6569

Создание собственной системы стабилизации

Тема раздела Квадрокоптеры. Общие вопросы в категории Квадрокоптеры и мультироторы; Сообщение от rual а для самоля вообще гораздо важнее аэродинамика расположения датчика для коптера тоже важна аэродинамика расположения датчика, ибо ...

  1. #5841

    Регистрация
    15.09.2011
    Адрес
    Москва
    Возраст
    45
    Сообщений
    5,927
    Записей в дневнике
    22
    Цитата Сообщение от rual Посмотреть сообщение
    а для самоля вообще гораздо важнее аэродинамика расположения датчика
    для коптера тоже важна аэродинамика расположения датчика, ибо иначе будут просадки при быстрых пролетах ииза обдува

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

    вводные. частота выполнения цикла 100гц (обусловлено использованием на атмеге 2560)
    на входе предоставляемый системой AHRS 3д вектор ускорений в системе координат земли тоесть x- ускорение на север y - ускорение на восток

    если в упрощенном виде то по оси юг-север выглядит примерно так
    velocity_increase.x = accel_ef.x * dt ;
    _velocity += velocity_increase;
    _position_correction.x = _velocity.x * dt ;
    _position.x = _position.x + _position_correction.x;

    таким образом получаем нескорректированную инерциалку, которая весьма быстро деградирует

    исправляем деградацию позиции за счет притягивания к позиции жпс
    _position.x = _position.x * 0.998f + _gps_position.x * 0.002f;

    исправляем деградацию скорости инав за счет подтягивания к скорости жпс
    _velocity.x = _velocity.x * 0.998f + _gps_velocity_x * 0.002f ;

    коэфициенты 0.998f и 0.002f настраиваемые но в контексте для удобочитаемости показаны константами.

    ребята помогли мне с облетами и сделали наблюдение что это неплохо работает если входить в удержание позиции. но если совершить резкую остановку то происходят нарастающие осциляции.

    в принципе это и ожидалось логично что при резком переходе из скоростного режима в останов изза накопленной на скорости ошибки инерциалки

    ошибку можно уменьшить увеличив подтяг к жпс позиции, но если это сделать то удержание в режиме низкой скорости станет хуже.

    поэтому гипотезы дальнейшего развития такие
    -создать "амортизатор"
    либо в зависимости от скорости изменять динамически пропорцию определяющую подтяг. (на скорости инерциалка почти не нужна)
    либо создать некий радиус "мертвой зоны" подтяга для режима зависания и существенно его сужать при наборе скорости
    тоесть

    _position.x = constraint(_position.x, _gps_position.x - deadzone , _gps_position.x + deadzone)

    соственно просьба помочь советом
    как лучше, как это делают другие
    Последний раз редактировалось alexeykozin; 01.12.2015 в 13:01.

  2.  
  3. #5842

    Регистрация
    24.02.2015
    Адрес
    Берлин
    Возраст
    31
    Сообщений
    727
    Динамическое изменение пропорции вполне распространено. Думаю в этом случае тоже сработает.
    Например с увеличением скорости сильнее подтягивать скорость инерциалки к GPS.

  4. #5843

    Регистрация
    15.09.2011
    Адрес
    Москва
    Возраст
    45
    Сообщений
    5,927
    Записей в дневнике
    22
    Цитата Сообщение от SergejK Посмотреть сообщение
    Динамическое изменение пропорции вполне распространено. Думаю в этом случае тоже сработает.
    Например с увеличением скорости сильнее подтягивать скорость инерциалки к GPS.
    только скорость тянуть сильнее или и скорость и позицию?
    возможно есть какие то наработанные константы?
    что то вроде норматива скорость 1мс - нейтральное положение коэффициента подтяга. 5 мс в N раз больше, свыше не меняется

  5. #5844

    Регистрация
    24.02.2015
    Адрес
    Берлин
    Возраст
    31
    Сообщений
    727
    Цитата Сообщение от alexeykozin Посмотреть сообщение
    только скорость тянуть сильнее или и скорость и позицию?
    возможно есть какие то наработанные константы?
    что то вроде норматива скорость 1мс - нейтральное положение коэффициента подтяга. 5 мс в N раз больше, свыше не меняется
    Думаю наилучший норматив это стабильное поведение аппарата во всех условиях. Если разрабатывать с нуля то без экспериментов и доводки алгоритма на аппарате сложно посоветовать чтото конкретное.

  6.  
  7. #5845

    Регистрация
    15.09.2011
    Адрес
    Москва
    Возраст
    45
    Сообщений
    5,927
    Записей в дневнике
    22
    Цитата Сообщение от SergejK Посмотреть сообщение
    Думаю наилучший норматив это стабильное поведение аппарата во всех условиях. Если разрабатывать с нуля то без экспериментов и доводки алгоритма на аппарате сложно посоветовать чтото конкретное.
    полеты - дело долгое и хлопотное, особенно пока система сыра и не слишком стабильна
    но уже летаем по чуть чуть http://forum.apmcopter.ru/threads/so...llere-apm.324/

  8. #5846

    Регистрация
    24.12.2014
    Адрес
    Абакан
    Возраст
    29
    Сообщений
    159
    Записей в дневнике
    10
    Цитата Сообщение от alexeykozin Посмотреть сообщение
    только скорость тянуть сильнее или и скорость и позицию?
    возможно есть какие то наработанные константы?
    что то вроде норматива скорость 1мс - нейтральное положение коэффициента подтяга. 5 мс в N раз больше, свыше не меняется
    А если определить практическим путем?
    Задаем диапазон изменения пропорции и вешаем ее на крутилку. По результатам тестов определяем границы выше и ниже которых крутить нет смысла.
    Логически понятно что изменение пропорции вряд ли будет линейным, соответственно вешаем на крутилку "кривизну" изменения пропорции и снова тестим.

  9. #5847

    Регистрация
    15.09.2011
    Адрес
    Москва
    Возраст
    45
    Сообщений
    5,927
    Записей в дневнике
    22
    да можно и без крутилок, во всем остальном прошивка - ардукоптер. все легко регулируется через радиомодем по телеметрии с компа

  10.  
  11. #5848

    Регистрация
    19.04.2010
    Адрес
    Ханты
    Возраст
    40
    Сообщений
    1,471
    Цитата Сообщение от alexeykozin Посмотреть сообщение
    соственно просьба помочь советом
    Нужно весь интегратор обвязать петлей ОС через ПД-регулятор, т.е. velocity_increase.x = accel_ef.x * dt + _position_correction.x *p - delta(_position_correction.x) *d ;
    без промежуточной коррекции скорости, петля сама её выровняет пропорционально dt, p и d

  12. #5849

    Регистрация
    15.09.2011
    Адрес
    Москва
    Возраст
    45
    Сообщений
    5,927
    Записей в дневнике
    22
    спасибо Александр, возможно имеет смысл сделать обратную связь, но я глубоко убежден, без дополнительной коррекции от жпс не обойтись.
    я анализировал множество логов полета ардукоптера где изза отсутствия корекции скорости от жпс присходила сильнейшая деградация в случае минимальных ошибок компаса или ошибки определения магнитного склонения.
    тоесть ошибка компаса в 5-7 градусов приводит к сильнейшей деградации инерциальной скорости. и в результате получается "унитазинг"
    в результате "мастера" конечно же сделают коптер чтобы он летел стабильно, но при применении в широких массах "это не летит"

  13. #5850

    Регистрация
    19.04.2010
    Адрес
    Ханты
    Возраст
    40
    Сообщений
    1,471
    Цитата Сообщение от alexeykozin Посмотреть сообщение
    без дополнительной коррекции от жпс не обойтись.
    Дык я и не призываю отказаться от коррекции, я говорил что петля коррекции должна начинаться с интеграции ускорения, а скорость и позицию ОТДЕЛЬНО корректировать не надо, коррекция должна входить в интегратор ВМЕСТЕ С АКСЕЛЕМ. _position_correction.x - вот это как я понял как раз есть разность между жпс и ИНС

  14. #5851

    Регистрация
    04.05.2007
    Адрес
    Opa-locka, USA
    Возраст
    32
    Сообщений
    1,172
    Цитата Сообщение от alexeykozin Посмотреть сообщение
    для коптера тоже важна аэродинамика расположения датчика
    Под брюшком лучше?
    Ещё пеной залепляют, видел...

  15. #5852

    Регистрация
    15.09.2011
    Адрес
    Москва
    Возраст
    45
    Сообщений
    5,927
    Записей в дневнике
    22
    Цитата Сообщение от rual Посмотреть сообщение
    delta(_position_correction.x)
    Код:
    float delta( float position_correctionx)
    {
    static float position_correctionx_old;
    float ret;
    ret = position_correctionx  - position_correctionx_old;
    position_correctionx_old = position_correctionx;
    return ret;
    }
    это имелось в виду?
    каков может быть диапазон p,d для начала?

  16. #5853

    Регистрация
    19.04.2010
    Адрес
    Ханты
    Возраст
    40
    Сообщений
    1,471
    Цитата Сообщение от alexeykozin Посмотреть сообщение
    это имелось в виду?
    да, диффошибка положения = скорость (изменения положения)
    Цитата Сообщение от alexeykozin Посмотреть сообщение
    каков может быть диапазон p,d для начала?
    у меня p=d =0.1f , только само d = kd/dt. увеличение kd добавляет ВЧ на выходе фильтра, т.е. мгновенную ошибку, уменьшение приводит к "болтанию" положения. Всё как с обычным ПИД.

  17. #5854

    Регистрация
    15.09.2011
    Адрес
    Москва
    Возраст
    45
    Сообщений
    5,927
    Записей в дневнике
    22
    поскольку на высокой скорости инерциалка нужна существенно меньше, а сама скорость жпс более достоверна, решил пока попробовать увеличивать подтяг в зависимости от скорости
    Код:
    // speed 0-100 cm per second spd_kff = 1 200=2  300 and above  = 3  
        float spd_kff =mapf(constrain(fabs(pythagorous2(_velocity.x, _velocity.y)), 100.f, 300.f)  ,100.f ,300.f , 1.f , 3.f  );
    т.е. для 0-100 см надбавка "1" от метра в секунду до 3 пропорционально от1 до 3. свыше 3 мс подтяг утраивается.
    ставил эксперимент - идеально калибровал аксели по уровню в неподвижности.
    отключил подтяг и наблюдал как уплывает позиция. на одном боку в одну сторону плывет на другом в другую...
    собственно - это мотив к интегратору с обратной связью, но возможно общее значение интегратора следует ограничить каким нибудь IMAX ибо слишком большой накопленный интегратор может негативно сказываться при переваливании с одного боку на другой

  18. #5855

    Регистрация
    19.04.2010
    Адрес
    Ханты
    Возраст
    40
    Сообщений
    1,471
    Цитата Сообщение от alexeykozin Посмотреть сообщение
    собственно - это мотив к интегратору с обратной связью, но возможно общее значение интегратора следует ограничить каким нибудь IMAX ибо слишком большой накопленный интегратор может негативно сказываться при переваливании с одного боку на другой
    Алексей, ты меня не понял. Я имел ввиду не интегратор ошибки, который даст среднее смещение акселя. Я говорил об интеграторе ИНС ускорение-скорость-расстояние, что надо не "притягивать" скорость и расстояние ИНС к ЖПС скорости-расстоянию, а подавать ошибку ИНС-ЖПС непосредственно на вход интегратора ИНС.

  19. #5856

    Регистрация
    15.09.2011
    Адрес
    Москва
    Возраст
    45
    Сообщений
    5,927
    Записей в дневнике
    22
    я все понял, понятно что речь про обратную связь, но это не исключает что причиной больших значений этого интегратора может служить неверная калибровка акселя.. или вибрации..

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

  20. #5857

    Регистрация
    23.06.2010
    Адрес
    Москва
    Возраст
    53
    Сообщений
    360
    Алексей, а не может ли быть отсутствие "коробочки" следствием неточностей в компенсации наклонов?

  21. #5858

    Регистрация
    15.09.2011
    Адрес
    Москва
    Возраст
    45
    Сообщений
    5,927
    Записей в дневнике
    22
    Цитата Сообщение от DChernov Посмотреть сообщение
    Алексей, а не может ли быть отсутствие "коробочки" следствием неточностей в компенсации наклонов?
    думал Дим.
    и даже идея одна есть!
    переместить калькуляцию инав ближе к расчету ahrs
    но для этого придется опустить стабилизацию и управление моторами вниз.
    при этом изменятся пиды изза задержки команды моторам от изменения угла, но в принципе должно быть летабельно т.к. и на 50 гц сигнале можно настроить а тут весь луп с частотой 100гц идет

  22. #5859

    Регистрация
    01.11.2010
    Адрес
    Belarus Slonim
    Возраст
    36
    Сообщений
    4,462
    Записей в дневнике
    8
    Цитата Сообщение от rual Посмотреть сообщение
    Я говорил об интеграторе ИНС ускорение-скорость-расстояние, что надо не "притягивать" скорость и расстояние ИНС к ЖПС скорости-расстоянию, а подавать ошибку ИНС-ЖПС непосредственно на вход интегратора ИНС.
    про это я Алексею дня 3-4 назад говорил)))

    Цитата Сообщение от alexeykozin Посмотреть сообщение
    я все понял, понятно что речь про обратную связь, но это не исключает что причиной больших значений этого интегратора может служить неверная калибровка акселя.. или вибрации..
    причина как раз в том, что ты не исправляешь саму ошибку интегратора, а корректируешь её позже. Ошибка остаётся и нарастает.... я же тебе формулу писал - скорость конечная (исправленная) подставляется в интегрирование, а не скорость предыдущая чисто с акселя...

  23. #5860

    Регистрация
    19.04.2010
    Адрес
    Ханты
    Возраст
    40
    Сообщений
    1,471
    Цитата Сообщение от DChernov Посмотреть сообщение
    не может ли быть отсутствие "коробочки" следствием неточностей в компенсации наклонов?
    совершенно верно.
    Цитата Сообщение от alexeykozin Посмотреть сообщение
    переместить калькуляцию инав ближе к расчету ahrs
    но для этого придется опустить стабилизацию и управление моторами вниз.
    Алексей, в ИНС нельзя отдельно считать ахрс и отдельно линию, точнее можно , но нужно чтоб гира и аксели были на 3-4 порядка точнее. И система должна иметь устойчивость длиной минимум в минуты. На МЕМСах АХРС и линейный экстраполятор (интегратор) ускорений должны быть внутри ИНС и взаимосвязаны.
    Работает это как то так: если есть неравновесный сигнал акселя, то ИНС предполагает, что от части он вызван наклоном, отчасти линейным перемещением; смотрит на ДУС (гиру) был ли соответствующий акселю сигнал наклона, и "отбирает" у акселя пропорцию этого наклона, остаток считает линейным и интегрирует до перемещения экстраполятором; после чего сравнивает перемещение с "абсолютным" датчиком (ГНСС), разницу с обратным знаком добавляет с коэффициентом на вход к акселю. В общих чертах так...
    Если не понятно завтра нарисую.

    Цитата Сообщение от SergDoc Посмотреть сообщение
    про это я Алексею дня 3-4 назад говорил)))
    )))
    Ты сам расскажи как у тебя ИНС без ГНСС работает?
    Последний раз редактировалось rual; 02.12.2015 в 19:25.

  24. #5861

    Регистрация
    01.11.2010
    Адрес
    Belarus Slonim
    Возраст
    36
    Сообщений
    4,462
    Записей в дневнике
    8
    Цитата Сообщение от rual Посмотреть сообщение
    Ты сам расскажи как у тебя ИНС без ГНСС работает?
    не работает, а тестируется ))) тут словей не хватит - тут рисовать надо, плюс я где-то потерял данные с барометра- ищу второй день - куда-то не туда ссыпаются как только инс запускаю... да и компас в 9250 - г@вно, экстренно запускаю 5883 через мпу. В защиту 9250 скажу - фильтры дус и акселя настраиваются отдельно (не верте драйверам в интернете - они слизаны с 6000) что очень мне нравится, как вариант можно ставить 6500 - тоже самое что и 9250 но без компаса, ну и к нему вешать 5X83

  25. #5862

    Регистрация
    15.09.2011
    Адрес
    Москва
    Возраст
    45
    Сообщений
    5,927
    Записей в дневнике
    22
    Цитата Сообщение от rual Посмотреть сообщение
    Если не понятно завтра нарисую
    наверное лучше нарисовать .
    ведь в программировании все формально и не столько важно разделены ли инс и ахрс на раздельные программные модули.
    по идее ахрс может определять положение координат для инс а линейные и центрифугальные ускорения могут исправлять горизонт в ахрс
    в самом деле у арду весьма точно работает 3д гирскоп, к примеру народ пробовал включать на север носом без компаса и утверждают что в полете уход не более пары градусов в минуту. кроме того коэфициент коррекции гироскопа горизонта от "акселя" регулируется коэфициентом
    собственно к вектору акселя логично сумировать горизонтальные ускорения для вычисления "надира" и уже к этому надиру тянуть горизонт.
    в принципе в беседе с вами родилось ряд гипотез которые нетерпится проверить. но для теста нужен стенд чтобы поставить контроллер на рельсовые направляющие и погонять в ускорениях не нарушая горизонтальности

  26. #5863

    Регистрация
    23.06.2010
    Адрес
    Москва
    Возраст
    53
    Сообщений
    360
    Цитата Сообщение от alexeykozin Посмотреть сообщение
    рельсовые направляющие и погонять в ускорениях не нарушая горизонтальности
    Может быть, просто повозить по периметру прямоугольной коробки, прижимая к дну и последовательно к стенкам?

  27. #5864

    Регистрация
    01.11.2010
    Адрес
    Belarus Slonim
    Возраст
    36
    Сообщений
    4,462
    Записей в дневнике
    8
    Неужели ST гироаксели делать научились? http://www.st.com/web/catalog/sense_...C1946/PF261361 - это анонс...

  28. #5865

    Регистрация
    15.09.2011
    Адрес
    Москва
    Возраст
    45
    Сообщений
    5,927
    Записей в дневнике
    22
    Цитата Сообщение от SergDoc Посмотреть сообщение
    Неужели ST гироаксели делать научились? http://www.st.com/web/catalog/sense_...C1946/PF261361 - это анонс...
    а каие там ADC? раздельные или переключаемые? разрешение?

    MPU6000
    features three 16 bit analog to digital converters (ADCs) for digitizing the gyroscope
    outputs and three 16 bit ADCs for digitizing the accelerometer outputs

  29. #5866

    Регистрация
    01.11.2010
    Адрес
    Belarus Slonim
    Возраст
    36
    Сообщений
    4,462
    Записей в дневнике
    8
    нее... мпу я изменять не собираюсь))) разве что только с adxrs )))

  30. #5867

    Регистрация
    23.08.2011
    Адрес
    Краснодар
    Возраст
    38
    Сообщений
    951
    Записей в дневнике
    2
    Цитата Сообщение от SergDoc Посмотреть сообщение
    нее... мпу я изменять не собираюсь))) разве что только с adxrs )))
    А какой из MPU?
    Я слышал мнение, что самый продвинутые сенсоры у Frescale, по датащиту так и есть. Кто-нибудь сравнивал с MPU6500 и гирами от ST?

  31. #5868

    Регистрация
    19.04.2010
    Адрес
    Ханты
    Возраст
    40
    Сообщений
    1,471
    Цитата Сообщение от alexeykozin Посмотреть сообщение
    наверное лучше нарисовать .
    Картинку приложил, взята из неплохой методички http://kafpson.kpi.ua/bins1.pdf
    Красным выделена как раз схема коррекции положения от ГНСС, а ты Алексей, как я понял говорил про блок 5, тот что осредняет смещение осей акселя, включая g.

    При этом сигналы скорости и радиус вектор, которые входят в блок 2 влияют на вычисление ориентации.

    Цитата Сообщение от alexeykozin Посмотреть сообщение
    по идее ахрс может определять положение координат для инс а линейные и центрифугальные ускорения могут исправлять горизонт в ахрс
    Да, если АХРС представляет собой только угловой интегратор сигналов с гиры, я же не хочу разделять ахрс и инс, ибо там много взаимосвязей, и для меня это идеологически единая система, а ахрс и инс это только выходные функции ориентации и кинематики соответсвенно. Чистая ахрс дает истинную ориентацию только ограниченное время или длительно в состоянии покоя.

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

    Цитата Сообщение от alexeykozin Посмотреть сообщение
    кроме того коэфициент коррекции гироскопа горизонта от "акселя" регулируется коэфициентом
    собственно к вектору акселя логично сумировать горизонтальные ускорения для вычисления "надира" и уже к этому надиру тянуть горизонт.
    Да, всё верно.
    Миниатюры Миниатюры Нажмите на изображение для увеличения
Название: бинс1.jpg‎
Просмотров: 9
Размер:	28.9 Кб
ID:	1145715  
    Последний раз редактировалось rual; 04.12.2015 в 09:38.

  32. #5869

    Регистрация
    01.11.2010
    Адрес
    Belarus Slonim
    Возраст
    36
    Сообщений
    4,462
    Записей в дневнике
    8
    Цитата Сообщение от alexmos Посмотреть сообщение
    А какой из MPU? Я слышал мнение, что самый продвинутые сенсоры у Frescale, по датащиту так и есть. Кто-нибудь сравнивал с MPU6500 и гирами от ST?
    6500 он же 9250-9255 (компАс в расчёт не берём), 6000 - как бы он не был хорош но устаревает, корпус большой и у 6500 - 9255, как уже говорил фильтры дус и акселей раздельные...
    Freescale - это который в кролике, mma-чего-то там - 12-14 битные аксели для иму зажатые фильтрами может и да но не для ins, немцы вон до сих пор летают на аналоговом от ST, но у них ДУС-ы на несколько порядков лучше, но покупать 1 по цене всего моего контроллера (а их нужно 3) как-то страшновато))) можно конечно так: https://docs.google.com/spreadsheets...4B1GTE/pubhtml но это уже совсем другая история (

    Цитата Сообщение от alexmos Посмотреть сообщение
    Кто-нибудь сравнивал с MPU6500 и гирами от ST?
    примерно одинаково, а вот с акселями ST как-то накосячили (но не со всеми - аналоговые работают хорошо, значит в обработке и фильтрации напортачили), компасы тоже ничего - можно сказать содраны с HMC

    Цитата Сообщение от rual Посмотреть сообщение
    Да, всё верно.
    ты хотел ответ - вот по твоей картинке выкидываем ГНСС, перед первым интегратором всовываем адаптивный фильтр (раньше нет смысла петля иму будет медленная) с учётом вектора управления (обратная связь с ПИД-а)...
    фильтр примерно так работает:
    получили данные - предсказали положение, получили следуюшие данные - ух-ты ёпрст - промахнулись с предсказанием - поменяли коэффициенты, вектор управления тоже обязателен иначе не будем знать или это мы полетели или сам....
    Последний раз редактировалось SergDoc; 04.12.2015 в 11:52.

  33. #5870

    Регистрация
    15.09.2011
    Адрес
    Москва
    Возраст
    45
    Сообщений
    5,927
    Записей в дневнике
    22
    мануал и схему буду тщательно изучать, сходу проникнуться неполучилось.

    Тимур облетывает мои эксперименты по построению инерциалки (за что ему преогромнейшее спасибо)
    вот что он обнаружил - что достаточно спокойное поведение при входе в удержание позиции из нулевой скорости
    но очень плохой эффект если в режиме удержания позиции попробовать разогнаться и резко тормознуть - начинается раскачка.
    мои наблюдения таковы- у данной системы есть частота собственных колебаний!
    причем ка не меняй коэфициенты притяжки частота меняется мало.
    приблизительная частота 1/5 герца . тоесть цикл за 5 секунд.

    идея в том что неспроста в родном арду коде хранится история ошибки учитывающая задержку жпс данных.
    чтто получается - у меня идет подтяг к отстающей позиции жпс (как минимум переодически ошибка сотсавляет 0,2 сек т.к. используется частота обновления жпс 5 гц) при этом подтяг к устаревшей позиции приводит к нарастанию обратной скорости инав, за это время жпс дает отставшие данные по позиции "вперед" но коптер уже удетел назад и подтяг начинает обратную работу - отсюда источник раскачки..

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

    вместо
    инав_позиция = инав_позиция * 0.998 + жпс_позиция * 0.002

    на
    инав_позиция = инав_позиция * 0.998 + (жпс_позиция + прогноз_инав_за_время_задержки_жпс) * 0.002

    аналогично со скоростью
    пока вопрос в выборе незатратного алгоритма.
    решение в лоб - сохранять ускорения и dt в массиве,
    считать прогноз за константу времени задержки жпс (константу определить экспериментально)
    т.е
    суммировать ускорения из массива истории пока DT не достигнет времени задежки жпс
    дельта позиция = at**2
    дельта скорость = at
    но имхо просядет производительность

  34. #5871

    Регистрация
    01.11.2010
    Адрес
    Belarus Slonim
    Возраст
    36
    Сообщений
    4,462
    Записей в дневнике
    8
    Цитата Сообщение от alexeykozin Посмотреть сообщение
    но очень плохой эффект если в режиме удержания позиции попробовать разогнаться и резко тормознуть - начинается раскачка.
    вот о чём я говорил выше - нет обратной связи с управлением==ошибка расчёта... ты реально предсказываешь положение для команды на ПИД - но ты не знаешь предыдущей реакции ПИД

  35. #5872

    Регистрация
    15.09.2011
    Адрес
    Москва
    Возраст
    45
    Сообщений
    5,927
    Записей в дневнике
    22
    т.е. в данном случае этот пид- интегратор это некая система вычисляющая собственный резонанс и работающая "амортизатором"
    что напрягает в пид интеграторе. непонятна его временная храрактеристика и способность к деградации. будет ли он бесконечно деградировать в определенных ситуациях,
    например при постоянной ошибке курса, к примеру если компас врет градусов на 30

  36. #5873

    Регистрация
    01.11.2010
    Адрес
    Belarus Slonim
    Возраст
    36
    Сообщений
    4,462
    Записей в дневнике
    8
    Амортизатором служит только дифференциальная часть - всё остальное это по сути управление... Так вот вернёмся к КУК-у там как раз угловая скорость служит пропорцией угол- интегральной составляющей - развивая дальше мысль, можно пересмотреть пид для инерциалки, где скорость будет служить пропорцией, путь - интегральной составляющей, а ускорение дифференциальной! Главное в этом то, что нет лишних интеграторов!
    Последний раз редактировалось SergDoc; 04.12.2015 в 12:59.

  37. #5874

    Регистрация
    15.09.2011
    Адрес
    Москва
    Возраст
    45
    Сообщений
    5,927
    Записей в дневнике
    22
    ИМХО
    если говорить о "идеальной инерциалке" должны быть не P I D смешивания датчиков а коэфициенты к лагам компонетов системы.
    к примеру знаем что жпс запаздывает на 0,1 или 0,2 сек и компенсируем это
    знаем скорость деградации инерциальной скорости по времени - принимаем ее изменения в пропорции с достоверностью

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

  38. #5875

    Регистрация
    01.11.2010
    Адрес
    Belarus Slonim
    Возраст
    36
    Сообщений
    4,462
    Записей в дневнике
    8
    лаг ЖПС у тебя перекрывается уже здесь: инав_позиция = инав_позиция * 0.998 + жпс_позиция * 0.002 и служит это дело для долгосрочной коррекции "уплывания" интегратора и совершенно пофиг, что оно лагает пока ЖПС "доплывёт" до пределов способных существенно влиять на интегратор - оно усреднится так, что мама не горюй... короче показания будут правдоподобны...

  39. #5876

    Регистрация
    19.04.2010
    Адрес
    Ханты
    Возраст
    40
    Сообщений
    1,471
    Цитата Сообщение от SergDoc Посмотреть сообщение
    развивая дальше мысль, можно пересмотреть пид для инерциалки, где скорость будет служить пропорцией, путь - интегральной составляющей, а ускорение дифференциальной! Главное в этом то, что нет лишних интеграторов!
    Вот, золотые слова!

    Цитата Сообщение от alexeykozin Посмотреть сообщение
    знаем скорость деградации инерциальной скорости по времени - принимаем ее изменения в пропорции с достоверностью
    Как раз "угадывающие" фильтры с этим борятся, экстраполируя первообразные из производных, полученных с "быстрых" датчиков (ускорение, угловая сскорость/ускорение), подбирают коэффициенты экстраполятора по результатам сравнения с "медленными" датчиками абсолютных величин (скрость, путь, высота). В ПИДе экстраполятором является компонент И, демпфером Д.

  40. #5877

    Регистрация
    15.09.2011
    Адрес
    Москва
    Возраст
    45
    Сообщений
    5,927
    Записей в дневнике
    22
    Цитата Сообщение от SergDoc Посмотреть сообщение
    лаг ЖПС у тебя перекрывается уже здесь: инав_позиция = инав_позиция * 0.998 + жпс_позиция * 0.002 и служит это дело для долгосрочной коррекции "уплывания" интегратора и совершенно пофиг
    при условии что коэфициент подтяга маленький, а если он накручен сильно то может и подпортить - позиция слишком интенсивно будет догонять жпс.
    и кроме позиции еще ведь подтягивется скорость...

  41. #5878

    Регистрация
    19.04.2010
    Адрес
    Ханты
    Возраст
    40
    Сообщений
    1,471
    Цитата Сообщение от alexeykozin Посмотреть сообщение
    накручен сильно то может и подпортить - позиция слишком интенсивно будет догонять жпс.
    и кроме позиции еще ведь подтягивется скорость...
    я вчера писал про демпфер по дельте ошибки, он притормозит проскок равновесия. В этом кстати причина раскачки.
    Последний раз редактировалось rual; 04.12.2015 в 13:33.

  42. #5879

    Регистрация
    15.09.2011
    Адрес
    Москва
    Возраст
    45
    Сообщений
    5,927
    Записей в дневнике
    22
    Цитата Сообщение от rual Посмотреть сообщение
    я вчера писал про демпфер по дельте ошибки, он притормозит проскок равновесия.
    я попробую это реализовать, но мне нужно сначала выкурить как следует доку..

  43. #5880

    Регистрация
    24.02.2015
    Адрес
    Берлин
    Возраст
    31
    Сообщений
    727
    Цитата Сообщение от DChernov Посмотреть сообщение
    может ли быть отсутствие "коробочки" следствием неточностей в компенсации наклонов?
    Может как раз с этим связаны осцилляции? Всетаки при резком оттормаживании углы меняются очень сильно.

+ Ответить в теме

Похожие темы

  1. Система стабилизации гиро+акселерометр
    от Фантомас в разделе Полеты по камере, телеметрия
    Ответов: 32
    Последнее сообщение: 25.01.2011, 14:47
  2. Продам Продам Клона Trex 450SEV2 + Аппаратура + Запчасти+ система стабилизации RTF
    от omegapraim в разделе Барахолка. Вертолеты
    Ответов: 1
    Последнее сообщение: 12.01.2011, 18:16
  3. Продам Трёхосевую систему стабилизации Turnigy V-Bar 600
    от avi@tor в разделе Барахолка. Аппаратура
    Ответов: 1
    Последнее сообщение: 08.11.2010, 13:02
  4. Продам Gaui система стабилизации GU365, дёшево.
    от avi@tor в разделе Барахолка. Вертолеты
    Ответов: 3
    Последнее сообщение: 03.08.2010, 11:13
  5. Системы стабилизации
    от max815 в разделе Фото и видеосъемка, системы стабилизации
    Ответов: 16
    Последнее сообщение: 11.03.2010, 03:14

Метки этой темы

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения