Вопросы по iNav

R0K

Использую попроше VL53L0X на своём экранопланчике.Над водой утромболее или менее, когда солнце, то проблемы. Вот американец использует

на 9й минуте проверяют его работу в мастерской. Где-то видос есть как он лидар внутрь ставит, очень похож на ваш. УПавла Спихальского есть натрубе видео с опытами ссонаром на квадрике где он через скамейку перелетает.Как будут результаты стукните в личку, может и себе такой возьму. Успежов.

shakalby

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

SadSoldier
EHOT:
  • Есть ли реализация iNav для Linux или другой ОС (ОСРВ)?

Нет. Inav/Betafligth это однопоточная встраиваемая программа для SMT32. Embedded bare application.

EHOT:
  • сть ли возможность выполнить какой либо скрипт - Lua, Basic, Python… Типа как Lua в OpenTx?

Нет. Встраивать интерпретатор кода в однопоточную летную программу, работающую на голом железе, это что-то из разряда “безумие и отвага”.

EHOT:
  • Или свернуть шею к Ардупилот +NAVIO 2 ?

Можно просто сразу свернуть шею своему самолету. Скоротать путь до креша.

EHOT:
  • Например отключить мотор самолета, если и так поднимает термичкой.

Если все так просто, то и доработайте. Код Inav тут, в свободном доступе github.com/iNavFlight/inav Мне даже интересно, как при имеющейся сенсорике (бортовые вольметр, амперметр, датчики линейного и углового ускорений, координат, давления) определить “если и так поднимает термикой”.

Предполагаю, необходим интеллектуальный датчик термики.

Koloboff
SadSoldier:

Встраивать интерпретатор кода в однопоточную летную программу, работающую на голом железе, это что-то из разряда “безумие и отвага”.

Расскажите это ардупилоту 😄

SadSoldier
Koloboff:

Расскажите это ардупилоту

Ardupilot построен на базе ChibiOS

ChibiOS/RT — компактная многозадачная операционная система реального времени (ОСРВ) для встроенных систем. Данная ОСРВ характеризуется высокой мобильностью, маленьким объёмом и, в основном, по своей архитектуре оптимизирована для чрезвычайно эффективного переключения между задачами.

В ней множество потоков исполнения, переключаемых планировщиком потоков-заданий

    xTaskCreate(_timer_thread, "APM_TIMER", TIMER_SS, this, TIMER_PRIO, &_timer_task_handle);
    xTaskCreate(_rcout_thread, "APM_RCOUT", RCOUT_SS, this, RCOUT_PRIO, &_rcout_task_handle);
    xTaskCreate(_rcin_thread, "APM_RCIN", RCIN_SS, this, RCIN_PRIO, &_rcin_task_handle);
    xTaskCreate(_uart_thread, "APM_UART", UART_SS, this, UART_PRIO, &_uart_task_handle);
    xTaskCreate(_io_thread, "APM_IO", IO_SS, this, IO_PRIO, &_io_task_handle);
    xTaskCreate(_storage_thread, "APM_STORAGE", STORAGE_SS, this, STORAGE_PRIO, &_storage_task_handle); //no actual flash writes without this, storage kinda appears to work, but does an erase on every boot and params don't persist over reset etc.

Если встанет поток с интерпретатором скрипта, то у зарработчика системы есть возможность хотя бы просто не планировать интерпретатор к исполнению. Хотя сам интерпретатор это тоже прекрасная возможность выстрелить в ногу.

Inav/Betaflight/Emuflight и прочие наследники Cleanflight это однониточная программы. Один поток команд в цикле. Если что-то заблокирует этот поток, даже будет придерживать этот поток на несколько циклов обработки данных с сенсоров, то летная система в общем случае итого рухнет в последнем состоянии. Что, кстати, иногда и происходит, по разным причинам.

PS

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

kasatka60
SadSoldier:

Ardupilot построен на базе ChibiOS

Смотря на каком полетнике.

SadSoldier
kasatka60:

Смотря на каком полетнике.

Причем здесь полетники, если дело в реализации используемой RTOS? =) Понимаю, вам трудно ориентироватся в исходном коде.

Интерграция ChibiOS была начата 2018 году.

$ git log ardupilot/modules/ChibiOS/

commit 6d8d8630bc4afb6106938713c56320b4a3abd3ad
Author: bugobliterator <siddharthbharatpurohit@gmail.com>
Date:   Sat Jan 13 04:23:06 2018 +0530

    modules: update ChibiOS

commit b8e246f347482517042d61bf00646b242c4e5527
Author: Andrew Tridgell <andrew@tridgell.net>
Date:   Fri Jan 5 17:50:07 2018 +1100

    added ChibiOS submodule

До релизов 4.x и до сих пор в ветке 3.x используется своя реализация многопоточной операционной системы. К примеру, вы можете увидеть список планируемых заданий для версии 3.8.x github.com/ArduPilot/ardupilot/…/ArduCopter.cpp#L8…

То есть, если поднять историю, то Arducopter строился как много-ниточная система. В отличие от наследников Cleanflight, которые были и отстаются однопотоковыми встраиваемыми программами.

Kirill-G

С новым годом всех!!! Счастья, здоровья, чистого неба и мягких посадок!!!

8 days later
GolubIvan

Всем привет! Подскажите, пожалуйста, собираю квадрокоптер по примеру Юлиана (Череп который), все подключил, но при попытке протестировать моторы оказалось, что один крутиться как положено (цифра 3), два не крутятся вообще (цифры 1 и 4) и один крутиться, но не в ту сторону (цифра 2). Думал, что проблема в моторах, но поменял его с работающим мотором оказалось не так. В чем может быть проблема и как ее выявить? Версия INAV 3.0.2.

Все остальное работает (даже через аппаратуру армиться)

kasatka60

Скорее всего проблема в плате. На всякий случай попробуйте прошить по новой со стиранием памяти, но не восстанавливайте диф или дамп. А по новой настройте. Либо брак самой платы, либо както криво прошивка, либо криво настроили.

Bathory

На новом регуле без калибровки могут моторы не заработать или неправильно набирать обороты…надо произвести калибровку регулятора оборотов - снимаете пропы, отключаете аккум, подключаете к айнав, во вкладке где проверяете моторы(ваше второе фото) включаете моторы, поднимаете газ бна максимум(100%), и подключаете аккум…коптер попищит или даже изобразит музычку моторами, затем убираете газ в минимум…коптер опять пропищит, это и будет означать, что он определился с газом для моторов, откалибровался…

shakalby

для регуляторов через dshot калибровка не нужна

shakalby

тут вопрос скорее в не правильно сборке или настройке. проверьте пайку

shakalby
Bathory:

и подключаете аккум…коптер попищит

может попищать и подпалить плату, сперва акб подключаем потом уже к компу. Риск есть поджечь если сперва к компу, а потом акб.

Bathory

Да, точно, по этому протоколу калибровка не нужна…

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

GolubIvan

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

shakalby

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

shakalby

Проверьте моторы в Blheli конфигураторе

GolubIvan

Смотрел видео Юлиана и настраивал по его инструкциям. На вкладку “Preset” от не заходил. Когда подключил пустой контроллер INAV предложил выбрать тип, я отказался и оставил как есть, перешел на вкладку “Mixer”, платформу выбрал “Multirotor”, в миксере “Quad X”, нажал на “Save and Reboot”. Все остальное после перезагрузки подтянулось само. В “Outputs” поменял с “Multishot” на “DSHOT 600” для ESC протокола. Пробовал вернуть обратно - тоже не помогло