Вопросы по iNav
В Ardupilot это можно сделать.
Дальше продолжать?
Тут давно на это намекают.
если надо поенять - поднимает ли борт термичкой ли мотором
А вот зачем это понимать? Задача в приципе какая стоит - чтобы борт не поднимался? Для этого используется тяга моторов? Снижение тяги приводит к прекращению подъема? Тогда какая разница, чем он поднимается?
Задача конкретная - иметь возможность выполнить скрипт под текущие нужды без модификации прошивки тчк
Про задачу понятно 😃 вопрос отдельный
Вот например коптер увеличивает высоту
Для коптера парения в термиках нет, насколько мне известно.
Контроллеру все равно, там термик или не термик, правильно?
обрабатываюся многие параметры. Можете почитать в документации подробнее.
ardupilot.org/plane/docs/soaring.html
обрабатываюся многие параметры. Можете почитать в документации подробнее.
подробнее там, если в итоге, то срабатывает тупо по параметрам высоты.
ну вот реально тупо - SOAR_ALT_MIN, SOAR_ALT_MAX и SOAR_ALT_CUTOFF.
вот и вопрос - зачем тогда все остальное.
высота падает - включаем тягу
высота растет - выключаем тягу
по какой причине растет или падает высота - какая разница?
Короче, есть тема профильная rcopen.com/forum/f90/topic132831 . Лучше туда писать. Там лучше подскажут. А тут у нас айнав.
подскажите как добавить пресеты по этой ссылке? есть статья ?
Rate Dynamics где найти такой пункт?
команды писать в CLI консоле?
Ссылка на эмуфлайт. При чем здесь айнав?
github.com/iNavFlight/inav/releases листайте в низ до Оценить динамику
Релизы кто ни будь читает изменения)))?
летал на новой прошивке 7 дюймовый, на 4 айнаве последнем, при подлете к дому, точнее к стене дрон тянет в стену. раньше такого не было( тоесть он сильно гуляет по навигации режиму на метр - два его носит медленно. Что то они там намудрили с нави режимами
Собирай логи и пиши разрабам, пусть правят.
кто ни будь ставил сонар или датчик лидара???
как они работают на препятствие ???
я лазерный определитель дальности получу сегодня, пробовать буду
Использую попроше VL53L0X на своём экранопланчике.Над водой утромболее или менее, когда солнце, то проблемы. Вот американец использует
на 9й минуте проверяют его работу в мастерской. Где-то видос есть как он лидар внутрь ставит, очень похож на ваш. УПавла Спихальского есть натрубе видео с опытами ссонаром на квадрике где он через скамейку перелетает.Как будут результаты стукните в личку, может и себе такой возьму. Успежов.
ну это датчик для удержания высоты, а важно как они работаю на препятствие в лоб что бы в стену не влететь или в дерево. не найду таких видео
А айнав вроде не поддерживает такое.
- Есть ли реализация iNav для Linux или другой ОС (ОСРВ)?
Нет. Inav/Betafligth это однопоточная встраиваемая программа для SMT32. Embedded bare application.
- сть ли возможность выполнить какой либо скрипт - Lua, Basic, Python… Типа как Lua в OpenTx?
Нет. Встраивать интерпретатор кода в однопоточную летную программу, работающую на голом железе, это что-то из разряда “безумие и отвага”.
- Или свернуть шею к Ардупилот +NAVIO 2 ?
Можно просто сразу свернуть шею своему самолету. Скоротать путь до креша.
- Например отключить мотор самолета, если и так поднимает термичкой.
Если все так просто, то и доработайте. Код Inav тут, в свободном доступе github.com/iNavFlight/inav Мне даже интересно, как при имеющейся сенсорике (бортовые вольметр, амперметр, датчики линейного и углового ускорений, координат, давления) определить “если и так поднимает термикой”.
Предполагаю, необходим интеллектуальный датчик термики.
Встраивать интерпретатор кода в однопоточную летную программу, работающую на голом железе, это что-то из разряда “безумие и отвага”.
Расскажите это ардупилоту 😄
Расскажите это ардупилоту
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
Программы и операционные системы реального времени поэтому так и называются, потому что каждый кусок алгоритма должен выполняться в строго отведенное ему время, и не более.
Ardupilot построен на базе ChibiOS
Смотря на каком полетнике.
…Смотря на каком полетнике.
Причем здесь полетники
, если дело в реализации используемой 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, которые были и отстаются однопотоковыми встраиваемыми программами.