F4BY. Отечественный ответ Pixhawka'm

ufk
alexeykozin:

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

Я 3.6 много не гонял но унитазило так же как и прочие… тест очень прост, с дефолтными настройками лоитера(имеется ввиду максимальная горизонтальная и вертикальная скорость) совершаем эволюции в воздухе(пролеты, повороты, воронки и т.д. а не просто летатем по прямой, висим и т.д.)… с ублоксом любым(даже шестым) все ок, с медиатеком - после нескольких минут подобных эволюций после остановки(я делал остановки каждые несколько минут, и проверял… если этого не делать - ошибка как я понимаю накапливается и уже может в полете “повести в сторону”) - унитаз…
Да, если дефолтные настройки максимальной скорости лоитера повысить - эфект наступит бысрее… снизить - дольше будет летать, иногда даже в течении одного полета 20-30 мин может без проблем отлетать, со сниженной в два раза относительно дефолтной скоростью…
Такие дела.
Мне видится что накапливается некая ошибка, как при повышенных вибрациях например, что и приводит к подобной проблеме…

arb
ufk:

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

Для понимания (анализа) неплохо схему пролета. Подозреваю, что можно найти полезное.
Кстати только в этом сообщении появилась инфа объясняющая суть разницы (или так понятнее стало). Все же пролет по прямой как раз и используется для настройки компаса. А вот воронка скорее наоборот.

ufk
arb:

Для понимания (анализа) неплохо схему пролета. Подозреваю, что можно найти полезное.
Кстати только в этом сообщении появилась инфа объясняющая суть разницы (или так понятнее стало). Все же пролет по прямой как раз и используется для настройки компаса. А вот воронка скорее наоборот.

Рамазан, я еще осенью прошлого года подробно описывал проблему… и судя по ответу я так понял что как минимум о ней в курсе… и по поводу магнитометров тоже писал соображения, но на самом деле все это пустое… влияние магнитометров минимально в случае с использованием ублокса, грубо на ублоксе даже на встроенном в ПК магнитометре с офсетами в желтой зоне все ок, никаких проблем…а с медиатеком со внешним\внешними откалиброванными и с низкими офсетами - проблема присутствует… тобишь идти по пути ковыряния магнитометров мне видится бессмысленным. Я на самом деле в разных вариантах гонял тесты очень много, в среднем десятки часов на каждую прошивку…
Что касается схемы полета смысла в этом нет, достаточно сочетания поворотов с пролетами, восьмерками и т.д… просто активный пилотаж а не висение и полет блинчиком по прямой и проблема обязательно проявится… несколько минут акивного пилотажа - > остановка = унитаз на висении с увеличивающимся диаметром круга…

приведу вашу цитату из скриншота сверху:

“Связался с Алексеем.
Он уже давно думает по этому вопросу.
У него уже есть идеи по настройкам, но надо время на проверку.
Основная идея - у каждого ЖПС есть задержки на расчет координат.
Для ублокса ардушники подобрали корректировку, поэтому там нет унитайзинга с компасом любого качества. Для НМЕА надо искать. Один из параметров уже на пределе, надо искать другие.”

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

arb
ufk:

просто активный пилотаж

А к чему активный пилотаж в лойтере? Для этого есть и другие режимы. А если очень хочется, то как минимум нужна хорошая инфа для анализа (схемы (количество поворотов до срыва), видео, логи, ну Вы и так должны знать, вроде не первый год), иначе непонятно о чем идет разговор.

ufk
arb:

А к чему активный пилотаж в лойтере? Для этого есть и другие режимы. А если очень хочется, то как минимум нужна хорошая инфа для анализа (схемы (количество поворотов до срыва), видео, логи, ну Вы и так должны знать, вроде не первый год), иначе непонятно о чем идет разговор.

“К чему” мне (и не только) позвольте решать самостоятельно… факт заключается в том что это не работает(в отличии от юблокса с которым работает)…

Я напоминаю вам ваш ответ:

“Связался с Алексеем.
Он уже давно думает по этому вопросу.
У него уже есть идеи по настройкам, но надо время на проверку.
Основная идея - у каждого ЖПС есть задержки на расчет координат.
Для ублокса ардушники подобрали корректировку, поэтому там нет унитайзинга с компасом любого качества. Для НМЕА надо искать. Один из параметров уже на пределе, надо искать другие.”

Зачем вы это написали(вы не написали, пришлите логи, данные и т.д., вы написали “проблема известна, думаем как решить”), что бы сейчас задавать мне вопрос “зачем мне это” и говорить про “схему полета”?
Объясните пожалуйста, получается вы солгали о том что проблема известна если сейчас просите какие то данные и т.д.?

alexeykozin

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

arb
alexeykozin:

по резервированию питания можно подать резервный источник на рейку output 1-8 оттуда идет диод к основному питанию.

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

19 days later
OrlOf

Привет всем!
А где можно почитать или, может быть, кто-то потрудится объяснить, как происходит распределение усилий по моторам для гексы и окты?
Для квадры понятно - 4 точки, либо строго по крену/тангажу, либо довёрнутые на 45 градусов через матрицу поворота.
А если винтов 6,8,12? Как это реализовывается? Для каждого луча решается своя матрица?

OrlOf

Не силён в Си… С математической или физической точки зрения как это происходит?
Повторюсь, для квадры всё ясно. Есть 2 оси, перекос тяг задаёт угол. Довернули на 45 и всё ровно то же. Но когда моторов, например, 6? Получается, для каждого луча своя матрица или как? Я понять не могу как через один поворот разложить усилие крена, например, на 6 моторов 😦

Ну, то есть матрицу я нашёл, но расшифровать из Си знаний не хватает:

case MOTOR_FRAME_HEXA:
            switch (frame_type) {
                case MOTOR_FRAME_TYPE_PLUS:
                    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);
                    success = true;
                    break;
                case MOTOR_FRAME_TYPE_X:
                    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);
                    success = true;
                    break;
                default:
                    // hexa frame class does not support this frame type
break;

А ещё есть коптеры, у которых не симметричен Х крест. Передние (как правило) моторы стоят ближе друг к другу. Этакие ножницы. Там же вообще рычаг воздействия на центр тяжести разный, значит одним поворотом не обойтись, надо пропорционально рычагу ещё усилия раскладывать?

arb

А для чего нужны такие знания, что Вам это даст?

Ну и судя по тексту усилия распределяются через угол.

alexeykozin

функция добваляет в модуль управления моторами моторы в зависимости от класса рамы
add_motor(AP_MOTORS_MOT_1, 0, AP_MOTORS_MATRIX_YAW_FACTOR_CW, 1);
если не ошибаюсь
первый аргумент - указатель на номер выхода для мотора
второй - угол установки мотора
трейтий - направление вращения винта и то как повышение оборотов влияет на воздействие по яв
последний - порядок включения мотора при выполнении теста моторов

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

2 months later
alexeykozin

Нас приняли в регулярные сборки тестовых и стабильных прошивок,
теперь можно не собирать самостоятельно прошивку если есть желание протестировать самые новые фичи а просто скачать самую свежую сборку.
Большое спасибо Александру Малышеву и Эндрю Тиджелу.

тут должна появиться папочка f4by firmware.ardupilot.org/Copter/latest/
это будет бинарник на ChibiOs.
Файл для загрузки имеет расширение APJ, он идентичен по структуре файлам с расширением PX4 (означает что собрано под ОС натикс)
если необходимо расширение можно изменить.

Gapey

эти сборки будут нормально работать на платах 2.1.2 или только на 2.1.5 ???
насколько мне не изменяет память там кардинально ничего не поменялось …
только компас 5983 туда не станет , но его можно вообще не паять и использовать внешний …
просто есть несколько печаток старых 2.1.2 , ну не выбрасывать же их …

alexeykozin

платы всех версий будут работать
компасы 5983 и 5883 будут также работать

у плат 2.1.2 нет сенсора боард вольтажа и сенсора серворэйл вольтажа а в остальном совместимо.
для чибиоса мы перенумеровали дигитал и аналог инпуты в соответствии с подписями на плате
под чибиосом не будет раздельных 8 пвм входов, т.к. их места занимают выходы 9-12,
поэтому следует позаботиться чтобы был приемник с ппм-сум сбас или дсм
дока тут swift-flyer.com/?page_id=83
фотка

18 days later
Antur

Подскажите пожалуйста на F4BY необходимо использовать Ваши прошивки или возможны стоковые, на которые заявлена поддержка discuss.ardupilot.org/t/…/31600?

alexeykozin

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

Antur

То есть обновить прошивку теперь можно штатно из последней версии Mission Planner?

alexeykozin
Antur:

То есть обновить прошивку теперь можно штатно из последней версии Mission Planner?

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

1 month later
Antur

Коллеги, простите криворукого любителя, но я по моему при прошивке F4BY завалил загрузчик. Дело было так…
При исполнении описанной в документации процедуре:

  • Для загрузки программного обеспечения в контроллер рекомендую использовать Mission Planner версии 1.2.99 загрузить можно отсюда (по крайней мере эта версия работает стабильнее всех) с использованием “Load custom firmware”.
    (ссылка загрузки Load custom firmware может быть недоступна если мишен планер не переведен в расширенный режим в соответствующих настройках)
  • При первой прошивке Mission Planner задал несколько вопросов касающихся какая версия платы использована:
  • сначала вопрос это апм 2+ надо ответь нет
  • второй вопрос что это “px4” надо ответить да
  • третий вопрос это пиксавк - ответ любой
  • Далее дождаться вопроса о перезагрузке…и вот тут вопроса я не дождаться и нажал ресет…
    Теперь при подключении полетника к USB порту не определяется сом порт, компьютер ругается что подключенное устройство не опознано, в диспетчере подключений вместо нормального порта так же висит неопознанное USB устройство…
    Подскажите, можно чем то оживить полетник? Обещаю больше так не делать :о)
alexeykozin

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

и через программку dfuse demo от стм влить туда бутлоадер

чисто теоретически есть еще и прошивка бут + прошива два в одном, она в регулятных сборках под чибиос firmware.ardupilot.org/Copter/latest/F4BY/

arb

но я по моему при прошивке у F4BY завалил загрузчик.

А что хоть решили прошить?

Antur

Перемычка boot возле кнопки Reset?
Замыкаем Boot, с замкнутой перемычкой вставляем USB и потом нажимаем Reset? Так?