Ардупилот на платах OpenPilot Revolution / RevoMini (записей: 1756)

  • Аватар профиля Night_Ghost Night_Ghost287 пунктов в 6 г., 11 мес. назад

    Новая версия из аонса выше готова к тестированию.

  • Аватар профиля Night_Ghost Night_Ghost287 пунктов в 6 г., 11 мес. назад

    удалось победить компас - лоитер работает

     

  • Аватар профиля Night_Ghost Night_Ghost287 пунктов в 6 г., 10 мес. назад

    Да, чуть не забыл. Пока припиливал к ХАЛу Clock Security System, малость помучал камень оверклоком. Итог: до 240МГц работает стабильно, на 250 начинает врать при обработке FLOAT. Обычный Ф405. Так что на частоте Ф7 я полагаю работать будет вполне надежно.

  • Аватар профиля m--s s s6 пунктов в 6 г., 10 мес. назад

    Симлинки в архиве, скаченном с гитхаба, битые-ссылаются куда-то в /mnt/disk_d/...

  • Аватар профиля Night_Ghost Night_Ghost287 пунктов в 6 г., 10 мес. назад
    [2017-06-09 10:24:35] m-s писал(а): Симлинки в архиве, скаченном с гитхаба, битые-ссылаются куда-то в /mnt/disk_d/...

    Ах да, они ж по умолчанию абсолютные. Но вобщем-то там и latest.zip есть, он без симликов. 

    PS. а пример привести? Или предлагается бросить все дела и самому выискивать поломатые ссылки?

  • Аватар профиля An_private An_private в 6 г., 10 мес. назад

    https://github.com/night-ghost/ardupilot/blob/RevoMini/libraries/AP_HAL_REVOMINI/sbus.cpp

    https://github.com/night-ghost/ardupilot/blob/RevoMini/libraries/AP_HAL_REVOMINI/1_Revo-Mini_read_ME.md

  • Аватар профиля m--s s s6 пунктов в 6 г., 10 мес. назад

    Да, readme и sbus.h/.cpp.

    И ещё, возвращаясь к O0 O2 в исходниках. Не удалось ещё победить проблему из-за которой они нужны?

  • Аватар профиля Night_Ghost Night_Ghost287 пунктов в 6 г., 10 мес. назад
    [2017-06-09 11:25:23] m-s писал(а): Да, readme и sbus.h/.cpp.

    ридми из папки платы, СБУС из хал_линух. 

    [2017-06-09 11:25:23] m-s писал(а): возвращаясь к O0 O2 в исходниках. Не удалось ещё победить проблему из-за которой они нужны?

    чтоб победить -О0 надо минимум на неделю зависнуть в отладке, бросив все остальное. А что в итоге? Размер станет на 300 байт меньше - это разве достойная цель такого транжирства времени? Разве что найдется спонсор :)

    А вот -О2 эт вовсе не проблема а наоборот, решение проблемы. Ибо стандартная оптимизация -Os дает далеко не самый быстрый код.

    А почему вы спрашиваете? 

  • Аватар профиля m--s s s6 пунктов в 6 г., 10 мес. назад
    [2017-06-09 17:12:55] night_ghost писал(а): чтоб победить -О0 надо минимум на неделю зависнуть в отладке, бросив все остальное. А что в итоге? Размер станет на 300 байт меньше - это разве достойная цель такого транжирства времени? Разве что найдется спонсор :) А вот -О2 эт вовсе не проблема а наоборот, решение проблемы. Ибо стандартная оптимизация -Os дает далеко не самый быстрый код. А почему вы спрашиваете?

    Просто хотелось убедиться, что эхо этой проблемы не проявится в самое неподходящее время-например, в полёте. Пока из всего hal, на первый взгляд, вызывают вопросы два момента-этот O0 и магия с кастами и longjump-ами в scheduler.cpp

     

  • Аватар профиля Night_Ghost Night_Ghost287 пунктов в 6 г., 10 мес. назад

    [2017-06-09 19:54:50] m-s писал(а): Просто хотелось убедиться, что эхо этой проблемы не проявится в самое неподходящее время-например, в полёте. 

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

    [2017-06-09 19:54:50] m-s писал(а): магия с кастами и longjump-ами в scheduler.cpp

    А вот тут кто не спрятался - я не виноват. Ежли начал писать под контроллеры на ассемблере то все искусственнкые ограничения ЯВУ кажутся просто смешными :) 

    Я еще все обработчики прерываний переделаю под вызов универсального хендлера. Оно - работает!

    UPD. коммент доводилось читать?

    UPD2. Также стоило бы посмотреть, что вытворяет планировщик любой ОС с процом при переключении контекста. И ничего, многопоточными ОС пользуются все. А та же функциональность в шедулере почему-то вдруг "магия с кастами и longjump-ами"

  • Аватар профиля Night_Ghost Night_Ghost287 пунктов в 6 г., 10 мес. назад

    И еще о реальных проблемах. Вот только что.

    Кой-че меняю, перешиваю - не работает компас. Ну, думаю - поломал. Возвращаю как было, прошиваю - компас все равно не работает. Лезу отладчиком на чтение из компаса, а там... Канал Y читается нормально, а каналы X и Z в зашкале на -4096 независимо от. Получается что компас тихо-мирно помер при очередной перезагрузке, причем питание в этот момент не дергалось!

    Вот кто может поручиться что то же самое не может случиться в воздухе?

  • Аватар профиля m--s s s6 пунктов в 6 г., 10 мес. назад

    Коммент я читал )

    Ну в os эта часть на asm-ме и написана, а не на c++  с хаками. Это вообщем-то не претензия, а так мысли вслух. А кооперативной многозадачности, а ля bf/inav не хватает ardupilot-у?

     

    А какая версия gcc используется? Хочу сделать свою сборку по мотивам ...

     

    Ну а компас... 5883l уже не делают - появилось много клонов сомнительного качества. Хорошо, что для самолёта он не нужен )  Меньше датчиков-меньше проблем.

  • Аватар профиля Night_Ghost Night_Ghost287 пунктов в 6 г., 10 мес. назад
    [2017-06-10 11:23:11] m-s писал(а): Ну в os эта часть на asm-ме и написана, а не на c++  с хаками.

    Да разве? Обычно такие же асм вставки как и у меня.

    [2017-06-10 11:23:11] m-s писал(а): А кооперативной многозадачности, а ля bf/inav не хватает ardupilot-у?

    Нет в бетафлае и клонах многозадачности, вообще нет. Есть вызов функций по списку, которые должны отработать за определенное время. И сложные алгоритмы в таком случае приходится реализовывать в виде кучерявых автоматов состояния. Проектировать их нудно, отлаживать задолбаешься, и нет гарантии что нигде не напортачил. В Арду процедуры уровня драйверов тоже так сделаны, но при этом ОБЯЗАНЫ быть еще 2 потока - основной и фоновый. В которых программе не надо заботиться о состоянии, просто можно работать, иногда вызывая функции ХАЛа. Кои и сделают всю черную магию :) Собственно это и есть настоящая кооперативная многозадачность в стиле Windows 3.1, когда контекст переключается по явному вызову планировщика yield() либо по любому системному вызову. Я могу сделать и настоящую преемптивную многозадачность по таймеру (смотреть на обработку исключений с принудительным возвратом в нужное место), но для полетного контроллера это вредно а не полезно. Потому что. Как я уже говорил, для правильного полетного контроллера нужен простой, короткий и быстрый цикл стабилизации угла а-ля Бетафлай, и все остальное на другом проце. Самое забавное что такая вохможность была у PixHawk но реализовано было иначе.

    [2017-06-10 11:23:11] m-s писал(а): 5883l уже не делают

    смотря кто :) китайцы делают, похоже. Сдох0ший компас был на доп платке с Бангуда, а не на контроллере.

    [2017-06-10 11:23:11] m-s писал(а): Меньше датчиков-меньше проблем.

    Совсем наоборот - при правильной математике чем больше датчиков тем точнее известно состояние системы и тем лучше отсекаются сдохшие/проглючившие датчики. Смотреть в сторону алгоритма наименьших квадратов :)

     

  • Аватар профиля justason justason в 6 г., 10 мес. назад

    По ссылке в первом посте внешний барометр уже не доступен.

    Заработает-ли модуль для ардуино?

    https://www.aliexpress.com/item/10DOF-9-Axis-MPU9250-BMP180-Gyro-Acceleration-Barometer-Sensor-Module/32615129925.html?spm=2114.01010208.3.1.3RuxBG&ws_ab_test=searchweb0_0,searchweb201602_2_10152_10065_10151_10068_5030012_10171_10084_10083_10080_10082_10081_10110_10136_10137_519_10111_10060_10112_10113_10155_10062_10114_437_10154_10056_10055_10054_10182_10059_303_100031_10099_10078_10079_10103_10073_10102_10096_10123_10189_10052_10053_10142_10107_142_10050_10051,searchweb201603_16,ppcSwitch_5&btsid=b0604f52-f4e2-45d5-9632-a4fbc24f1bec&algo_expid=7a9bcd03-ecf2-49d9-bd5d-b597f335d1b2-0&algo_pvid=7a9bcd03-ecf2-49d9-bd5d-b597f335d1b2

    или такой?

    https://www.aliexpress.com/item/1Set-I2C-SPI-GY-89-10DOF-L3GD20-LSM303D-BMP180-Gyro-Accelerometer-Magnetometer-Barometer-Sensor-Board-Module/32804506374.html?spm=2114.01010208.3.9.nvu9TK&ws_ab_test=searchweb0_0,searchweb201602_2_10152_10065_10151_10068_5030012_10171_10084_10083_10080_10082_10081_10110_10136_10137_519_10111_10060_10112_10113_10155_10062_10114_437_10154_10056_10055_10054_10182_10059_303_100031_10099_10078_10079_10103_10073_10102_10096_10123_10189_10052_10053_10142_10107_142_10050_10051,searchweb201603_16,ppcSwitch_5&btsid=5f41fcad-db64-4f67-88f5-126d5754719c&algo_expid=1ae9dfd9-2549-4e86-a231-20e8f5057de2-1&algo_pvid=1ae9dfd9-2549-4e86-a231-20e8f5057de2

  • Аватар профиля Night_Ghost Night_Ghost287 пунктов в 6 г., 10 мес. назад

    оба набора датчиков избыточны, ибо на них еще и ненужные акселерометр с гирой стоят.  Хотя барометр заработать должен.  Однако лучше брать GY-652 

  • Аватар профиля Night_Ghost Night_Ghost287 пунктов в 6 г., 10 мес. назад

    в ближайшем будущем будет поддержка такого TOF датчика

  • Аватар профиля An_private An_private в 6 г., 10 мес. назад

    Как высотомер или обход препятствий?

  • Аватар профиля Night_Ghost Night_Ghost287 пунктов в 6 г., 10 мес. назад

    главное чтобы виделся, а там разберемся. ИМХО для обхода препятствий у него дальность маловата, над сложными поверхностями полметра только, но попробовать хочется. А вот для высоты в помещении смое то.

  • Аватар профиля Night_Ghost Night_Ghost287 пунктов в 6 г., 10 мес. назад

    Ха, чаще в апстрим  заглядывать надо. 5 дней назад там появилась своя поддержка этого датчика для высоты :)

  • Аватар профиля Night_Ghost Night_Ghost287 пунктов в 6 г., 10 мес. назад

    Обновлено до последней версии апстрима - Copter 3.5rc8

  • Аватар профиля m--s s s6 пунктов в 6 г., 10 мес. назад

    Собрал "на столе" железо для тестов.

    Плата - большая revo с Али. Прошивка - последняя plane. Вроде все работает.

    Прошивка заливается из андроида drone flasher ом.

    Из забавного - на первом канале оказалась серва, а не мотор. Похоже на артефакт ремапинга каналов с коптера. Все-таки для plane это желательно убрать )

  • Аватар профиля Night_Ghost Night_Ghost287 пунктов в 6 г., 10 мес. назад

    Плз поподробнее - железо, версия, что куда не туда уползло и вообще что получилось. Крайне желателен файл параметров.

    По умолчанию коптерная раскладка 1 в 1 как по картинке от АПМ

  • Аватар профиля m--s s s6 пунктов в 6 г., 10 мес. назад

    Все правильно работает, это я перепутал. Первый канал - это элерон, а не мотор (как в некоторых других ап)

  • Аватар профиля Night_Ghost Night_Ghost287 пунктов в 6 г., 10 мес. назад

    Отлично.

    Ремап для контроллера необходим как минимум потому что 1 и 2 выходы сидят на одном таймере, а остальные 4 на другом. Для коптера логично сервы посадить на 1 и 2 а моторы на остальное, для самолета наоборот, моторы на 1 и 2 (на 500гц для управления разнотягом и висения носом вверх) а сервы на остальное. Но по умолчанию раскладка стандартная.

  • Аватар профиля m--s s s6 пунктов в 6 г., 10 мес. назад

    Для самолёта вроде недавно появилась поддержка гибкой настройки выходов, но 500hz скорее всего нет.

  • Аватар профиля Night_Ghost Night_Ghost287 пунктов в 6 г., 9 мес. назад

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

  • Аватар профиля Night_Ghost Night_Ghost287 пунктов в 6 г., 9 мес. назад

    наконец-то новая версия

    • новый DMA API с поддержкой прерываний завершения обмена
    • плата AirbotV2 полностью поддерживается, включая SD-карту и OSD (ОСД не тестировалось, просто компиляется)
    • добавлена поддержка чтения SD карты через USB в режиме MassStorage  (включается через параметры HAL) - теперь контроллер можно ставить в корпус
    • Отловлен и исправлен баг планировщика, периодически приводившкй к HardFault
    • добавлен контроль за переполнением стека процессов

     

     

  • Аватар профиля m--s s s6 пунктов в 6 г., 9 мес. назад

    Airbot V2 -  это тоже самое что и Omnibus F4 Pro V2/V3?

    Вроде под этим именем она более известна.

  • Аватар профиля Night_Ghost Night_Ghost287 пунктов в 6 г., 9 мес. назад

    Возможно, но мне она досталась под именно тем именем , которое приведено. Зоопарк контроллеров сайчас такой что не вызывает желания пробовать все :) На бангуде это да, ОмнибусФ4 В2

  • Аватар профиля An_private An_private в 6 г., 9 мес. назад

    Было бы неплохо, кстати, чтобы была pdf'ка с хорошими фотографиями плат с обеих сторон и именем соответствующего файла прошивки. Примерно как сделано для BLHELI. А то действительно - зоопарк - названия везде разные, немудрено запутаться.

    PS: с S-BUS там ничего нового? :)

← Форум группы   Все форумы К последней записи
Постов на странице:

Вы автоматически вступите в эту группу, когда ответите в теме.

Добавить ответ:

-
Рейтинг@Mail.ru