А давайте обсудим Arducopter - APM

DWK
Alex_from_Israel:

Может быть выкосами можно будет облегчить работу контроллера на удержание курса.

Если что то найдёте по перпендикулярному выкосу на лучах буду очень признателен если поделитесь ссылкой.

Necromant
DWK:

Если что то найдёте по перпендикулярному выкосу на лучах буду очень признателен если поделитесь ссылкой.

Не понимаю, в чем вопрос? ну выкашивай сколько нравиться, главное чтобы на всех лучах на одинаковый угол(что довольно сложно, а иначе будет болтать по курсу). Выкос делается в направление, в которое этот мотор вращает аппарат. Больше выкос - резче вращение по курсу. Использую выкос на мелкой пилотажной гексе, на глаз градуса 4. Крутиться на месте как сумашедшая.

SergDoc
parahawk:

Проблема для меня - что значит библиотеку создавать и не понимаю какого характера вытекающие?

тута github.com/diydrones/ardupilot/tree/…/AP_Motors новую раму делать, а потом объяснить ардукоптеру, что есть такая, планнеру желательно тоже - хотя там параметр только меняется с + на х , а сколько моторов неважно, должно прокатить и без доработки…

parahawk:

А может лучше действительно прошивку поправить каким-то образом?

можно попробовать стандартный файл гексы github.com/diydrones/…/AP_MotorsHexa.cpp подправить
на то что я накалякал:
это:

 // hard coded config for supported frames
    if( _flags.frame_orientation == AP_MOTORS_PLUS_FRAME ) {
        // plus frame set-up
        add_motor(AP_MOTORS_MOT_1,   0, AP_MOTORS_MATRIX_YAW_FACTOR_CW,  1);
        add_motor(AP_MOTORS_MOT_2, 180, AP_MOTORS_MATRIX_YAW_FACTOR_CCW, 4);
        add_motor(AP_MOTORS_MOT_3,-120, AP_MOTORS_MATRIX_YAW_FACTOR_CW,  5);
        add_motor(AP_MOTORS_MOT_4,  60, AP_MOTORS_MATRIX_YAW_FACTOR_CCW, 2);
        add_motor(AP_MOTORS_MOT_5, -60, AP_MOTORS_MATRIX_YAW_FACTOR_CCW, 6);
        add_motor(AP_MOTORS_MOT_6, 120, AP_MOTORS_MATRIX_YAW_FACTOR_CW,  3);
    }else{
        // X frame set-up
        add_motor(AP_MOTORS_MOT_1,  90, AP_MOTORS_MATRIX_YAW_FACTOR_CW,  2);
        add_motor(AP_MOTORS_MOT_2, -90, AP_MOTORS_MATRIX_YAW_FACTOR_CCW, 5);
        add_motor(AP_MOTORS_MOT_3, -30, AP_MOTORS_MATRIX_YAW_FACTOR_CW,  6);
        add_motor(AP_MOTORS_MOT_4, 150, AP_MOTORS_MATRIX_YAW_FACTOR_CCW, 3);
        add_motor(AP_MOTORS_MOT_5,  30, AP_MOTORS_MATRIX_YAW_FACTOR_CCW, 1);
        add_motor(AP_MOTORS_MOT_6,-150, AP_MOTORS_MATRIX_YAW_FACTOR_CW,  4);
    }

заменить на это:

// hard coded config for supported frames
    if( _flags.frame_orientation == AP_MOTORS_PLUS_FRAME ) {
        // plus frame set-up
        add_motor(AP_MOTORS_MOT_1, 0, AP_MOTORS_MATRIX_YAW_FACTOR_CW, 1);
        add_motor(AP_MOTORS_MOT_2, 0, AP_MOTORS_MATRIX_YAW_FACTOR_CCW, 7);
        add_motor(AP_MOTORS_MOT_3, 180, AP_MOTORS_MATRIX_YAW_FACTOR_CCW, 4);
        add_motor(AP_MOTORS_MOT_4, 180, AP_MOTORS_MATRIX_YAW_FACTOR_CW, 8);
        add_motor(AP_MOTORS_MOT_5,-120, AP_MOTORS_MATRIX_YAW_FACTOR_CW, 5);
        add_motor(AP_MOTORS_MOT_6,-120, AP_MOTORS_MATRIX_YAW_FACTOR_CCW, 9);
        add_motor(AP_MOTORS_MOT_7, 60, AP_MOTORS_MATRIX_YAW_FACTOR_CCW, 2);
        add_motor(AP_MOTORS_MOT_8, 60, AP_MOTORS_MATRIX_YAW_FACTOR_CW, 10);
        add_motor(AP_MOTORS_MOT_9, -60, AP_MOTORS_MATRIX_YAW_FACTOR_CW, 6);
        add_motor(AP_MOTORS_MOT_10, -60, AP_MOTORS_MATRIX_YAW_FACTOR_CCW, 11);
        add_motor(AP_MOTORS_MOT_11, 120, AP_MOTORS_MATRIX_YAW_FACTOR_CW, 3);
        add_motor(AP_MOTORS_MOT_12, 120, AP_MOTORS_MATRIX_YAW_FACTOR_CCW, 12);
    }else{
        // X frame set-up
        add_motor(AP_MOTORS_MOT_1, 90, AP_MOTORS_MATRIX_YAW_FACTOR_CW, 2);
        add_motor(AP_MOTORS_MOT_2, 90, AP_MOTORS_MATRIX_YAW_FACTOR_CCW, 7);
        add_motor(AP_MOTORS_MOT_3, -90, AP_MOTORS_MATRIX_YAW_FACTOR_CCW, 5);
        add_motor(AP_MOTORS_MOT_4, -90, AP_MOTORS_MATRIX_YAW_FACTOR_CW, 8);
        add_motor(AP_MOTORS_MOT_5, -30, AP_MOTORS_MATRIX_YAW_FACTOR_CW, 6);
        add_motor(AP_MOTORS_MOT_6, -30, AP_MOTORS_MATRIX_YAW_FACTOR_CCW, 9);
        add_motor(AP_MOTORS_MOT_7, 150, AP_MOTORS_MATRIX_YAW_FACTOR_CCW, 3);
        add_motor(AP_MOTORS_MOT_8, 150, AP_MOTORS_MATRIX_YAW_FACTOR_CW, 10);
        add_motor(AP_MOTORS_MOT_9, 30, AP_MOTORS_MATRIX_YAW_FACTOR_CCW, 1);
        add_motor(AP_MOTORS_MOT_10, 30, AP_MOTORS_MATRIX_YAW_FACTOR_CW, 11);
        add_motor(AP_MOTORS_MOT_11,-150, AP_MOTORS_MATRIX_YAW_FACTOR_CW, 4);
        add_motor(AP_MOTORS_MOT_12,-150, AP_MOTORS_MATRIX_YAW_FACTOR_CCW, 12);
    }

может и проканает…
только с моторами разобраться, последняя цифра - это номер выхода на плате, цфирка после AP_MOTORS_MOT_(номер в микшере), - угол луча, нечётные - верхние(соответствуют стандартной гексе), чётные - нижние …
если не ошибаюсь у APM есть 4 лишних выхода на сервы, так вот они по идее должны стать недостающими моторами…
то что предложил alexeykozin должно летать,но “коряво” крен к тангажу будет примешиваться 😦

parahawk

Спасибо, мощный вариант, но понял что пока не готов в исходники лезть. Может предложить ардукоптеру внести вариант в прошивку с x12? Но это им как-то тестить же надо. Странно что нет такой конфигурации в апм, наверное есть основания. А вдруг с Y6 сработает?..

mejnkun:

а схему Y6 разве не прокатит?ну типа по 2 луча на канал запаралелить? через Y-переходники? у меня в режиме квадра 6-моторник нестандартной схемы летает и ничего…

А как правильно подключить при Y6 конфе АПМа 12 двигателей через Y кабели?

Y6B если брать в расчёт, правильно я понимаю?

Немного поразмыслил и сам отвечу на свой вопрос пока что на примере Y6A:

нумерация двигов у гексы

Запараллеливаем сигналы регов 2 и 3й луч гексы X - на левый луч Y6
5 и 1й двиги гексы X - это правый луч Y6
6 и 4й двиги гексы X - хвост Y6

Правильно?

zveruga
nikolaypet:

Фото не смог сделать, но сравнил фото с оф сайтов производителей точьно такие же.
НЕ РЕКЛАМА
…3drobotics.com/…/3dr-gps-ublox-with-compass
А вот медленный
www.rctimer.com/index.php?gOo=goods_details.dwt&go…

оффтоп:
народ, а зачем вы каждый раз пишите НЕ РЕКЛАМА перед ссылками на магазины? Всерьез считаете что вас кто-то обвините в рекламе таких компаний как 3drobotics, rctimer, banggood и т.д.?

SergDoc
parahawk:

Правильно?

нет, есть матрица моторов и в зависимости от расположения есть коэффициенты влияния roll, pith, yaw на каждый из моторов, и для каждой рамы они свои, т.к. лучи под разными углами…

Freepooh
zveruga:

а зачем вы каждый раз пишите НЕ РЕКЛАМА

OFF чтоб никто из присутствующих не лоханулся, и не побежал в тот магазин покупать втридорога 😃
ЗЫ каждый из присутствующих покупает в уже излюбленных магазинах и у проверенных продавцов, и про них никто ничего не говорит, все молчат…

parahawk
SergDoc:

нет, есть матрица моторов и в зависимости от расположения есть коэффициенты влияния roll, pith, yaw на каждый из моторов, и для каждой рамы они свои, т.к. лучи под разными углами…

Я имел ввиду вот так:

Вроде всё линейно. Даже вроде не придётся что-то переподключать, а просто в АПМ выбрать конфу Y6 и проверить аппарат. (пока думаю к чему бы его привязать… по ходу всё равно пиды настраивать, нужно трос растягивать где-то и коптер ~8 кг с батареей 10900…)

Вот если Y6B, то тогда надо мне переподключать 6 лучей на выходах АПМ. Или ошибаюсь я где-то?

SergDoc

Ну вот по вашим картинкам:
Y6 - 1 и 2 учавствуют в крене тангаже и курсе, 3 тангаж и курс…
Hexa X - 4 мотора учавствуют и в крене и в тангаже и в курсе кроме 1 и 2 (левый правый), у них только крен и курс…
Hexa + передний и задний - тангаж и курс, левые и правые - крен, тангаж и курс

NinjaFoX

Подскажите, ненагуглил, хотя проблема наверняка была. Коптер в лойтере, висит нормально, в пределах 1-2м, но если разворачивать вокруг своей оси (по Yaw) начинает уплывать довольно резко на 5-6м в разные стороны (высоту держит нормально). Прошивка 3.1.5

parahawk
NinjaFoX:

Подскажите, ненагуглил, хотя проблема наверняка была. Коптер в лойтере, висит нормально, в пределах 1-2м, но если разворачивать вокруг своей оси (по Yaw) начинает уплывать довольно резко на 5-6м в разные стороны (высоту держит нормально). Прошивка 3.1.5

Компас откалибруйте более точно. Если компас не очень качественно откалиброван - ещё может “унитазить”, накручивать круги.

Либо пид’ы по yaw уменьшить?..

ENGINEERUS
NinjaFoX:

Подскажите, ненагуглил, хотя проблема наверняка была. Коптер в лойтере, висит нормально, в пределах 1-2м, но если разворачивать вокруг своей оси (по Yaw) начинает уплывать довольно резко на 5-6м в разные стороны (высоту держит нормально). Прошивка 3.1.5

а если не в лойтере, а в алтхолде?

Олег24
NinjaFoX:

Подскажите, ненагуглил, хотя проблема наверняка была. Коптер в лойтере, висит нормально, в пределах 1-2м, но если разворачивать вокруг своей оси (по Yaw) начинает уплывать довольно резко на 5-6м в разные стороны (высоту держит нормально). Прошивка 3.1.5

Было то-же самое на гексе. Поставил стойку с компасом по центру рамы ( чтобы центр компаса совпал с центром рамы ) и все стало нормально

parahawk
Олег24:

Было то-же самое на гексе. Поставил стойку с компасом по центру рамы ( чтобы центр компаса совпал с центром рамы ) и все стало нормально

После установки на стойку расстояние от силовых проводов до компаса изменилось?

ENGINEERUS
Alex_from_Israel:

У меня тоже. Но хочу проверить. Все же компас на АРМ штука неточная. Может быть выкосами можно будет облегчить работу контроллера на удержание курса.

Глупости все это, основное направление берется от гиро, компас дает погрешность 2 градуса, гиро 0.1. Грубо говоря, компас только мешает ввиду своей несовершенности. Выкосы только добавят нагрузку. Не забываем законы: сила действия равна силе противодействия.
И вообще, погода зашибись, надо летать!

DWK:

Если что то найдёте по перпендикулярному выкосу на лучах буду очень признателен если поделитесь ссылкой.

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

Alex_from_Israel

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

ENGINEERUS
Alex_from_Israel:

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

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

Alex_from_Israel

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

Олег24
parahawk:

После установки на стойку расстояние от силовых проводов до компаса изменилось?

Нет. compassmot как был в нуле так и остался. Теперь при вращении по Yaw компас и GPS вращаются вокруг свой оси ,а на описывают круг

aka_Дмитрий
Alex_from_Israel:

грохнут Патриотом

Что за наивная вера в старый штатовский хлам? 😃
Эффективная отражающая поверхность коптера с карбоновыми винтами резко меньше того, что радар способен вообще считать чем-то, кроме шума. Есть вероятность, что система наведения Купола может и могла бы его разглядеть, да только винты создают дикие смещения по частотам и фазам отраженного сигнала, что никак не характеризует классические “малоразмерные низколетящие”. а за хамасовскую ракету коптер точно не примут, т.к. отсутствует баллистическое движение цели, а это один из критериев отбора логики Купола.

Alex_from_Israel

Шуток не понимаете? Если серьезно, то в поле выехать нельзя по другой причине. Купол сбивает только ракеты, летящие на заселенный район. Вычисляет траекторию и принимает решение на перехват в автоматическом режиме. В городе получить ракету на голову шанс стремящийся к нулю, в отличии от чистого поля.