Автопилот Arduplane - открытое ПО

Владимир1961418
suris2009:

Ссылка на передатчик 5.8… Это точно Ваш???

Да.Передатчик установлен на планере ASW-28 внутри стабилизатора,камера будет там-же(пока едет с хоббикинга),прокинул провода для питания и данных ОСД(будет сразу за кабиной).

suris2009
Владимир1961418:

Да.

Ну так если у Вас питание не 6S, так и питайте напрямую. Хотя у китайцев бывают нюансы… Не помешало бы почитать где нибудь на форуме про этот передатчик.

Роман1971
Карабас:

Поставил воздушный датчик скорости…Смущает, что после включения на столе он изначально уже показывает в мишинПланере AS 2,5kts. И это значение прыгает ± 1. ARSPD_OFFSET =2149,743. Это нормальная точность установки нулевой скорости? И, кстати, AS 2,5kts - это м/c или км/ч?

Основой является воздушная калибровка. Только делать очень надо в штиль по возможности. Летать минут 10 хотя бы. Далее не забыть отключить автокалибровку перед Desarm -ом а то опять калиброваться будет. Еще, как показала практика большое значение имеет расположение самого датчика. Самый лучший вариант спереди в носу. Но он и самый стремный. Хотя я делаю так, что он держится только на трении там. В случае чего прячется в корпус. Если распорлагать в других местах, то чтобы не было паразитных воздушных потоков от крыльев , корпуса итд. У меня при полете в штиль показания GPS и AS почти совпадают. Что касается каких-то показаний при лежании на столе, то у меня тоже они присутствуют примерно в тех же числовых значениях. Только в м/с. Тут переключить же надо в метрическую систему. Еще переодически осматривайте вс. систему воздушного датчика. У меня переодически там грязь какая -то образуется.

schs
Glinco:

АПМ не может рожать надпись.

Mavlink messages OSD только отображает, формирует автопилот. Например при автотюне можно увидеть.
“Motor dead” формирует OSD.

Glinco
Роман1971:

Основой является воздушная калибровка. Только делать очень надо в штиль по возможности. Летать минут 10 хотя бы. Далее не забыть отключить автокалибровку перед Desarm -ом а то опять калиброваться будет. Еще, как показала практика большое значение имеет расположение самого датчика. Самый лучший вариант спереди в носу. Но он и самый стремный. Хотя я делаю так, что он держится только на трении там. В случае чего прячется в корпус.

Для одновинтовых классических самолетов не катит - в носовой части стоит винт.
Так как летаю на полукопиях, ставлю ПВД там, где у оригинала - на консоли крыла. Использую магниты, при задевании или ударе ПВД повисает на трубках.

schs:

Mavlink messages OSD только отображает, формирует автопилот. Например при автотюне можно увидеть.
“Motor dead” формирует OSD.

А подскажите, где именно в прошивке АПМ/библиотеке МавЛинка хранятся эти строки? Я в описании протокола нашел исключительно коды. Никакого текста.

Роман1971

У меня надпись иногда проскакивает DISARMED. И это то в полете! Видимо отуда же ноги растут.

Glinco

Коллеги. Надпись - это ОСД. Я и спросил - где в протоколе АПМ передает строковые команды? Я не нашел.
Возможно, он отдает неверный статус, который ОСД тупо показывает по коду.

schs
Glinco:

А подскажите, где именно в прошивке АПМ/библиотеке МавЛинка хранятся эти строки? Я в описании протокола нашел исключительно коды. Никакого текста.

Разбираться сейчас с прошивкой пикса лениво.
По протоколу

mavlink.io/en/messages/common.html
Посмотрите на этой страничке команды в которых передаются текстовые поля, искать по char[
К примеру.

STATUSTEXT ( #253 )

Status text message. These messages are printed in yellow in the COMM console of QGroundControl. WARNING: They consume quite some bandwidth, so use only for important status and error messages. If implemented wisely, these messages are buffered on the MCU and sent only at a limited rate (e.g. 10 Hz).
Field NameTypeValuesDescriptionseverityuint8_tMAV_SEVERITYSeverity of status. Relies on the definitions within RFC-5424.textchar[50]
Status text message, without null termination character

Glinco

Посмотрю для саморазвития. Спасибо.

kasatka60

Есть apm 2.6 и прошивка arduplane 3.4. Там можно ли как-то настроить газ в зависимости от угла атаки?

Glinco

Так это наоборот, угол от газа.

alexeykozin
Glinco:

Так это наоборот, угол от газа.

да.
github.com/ArduPilot/ardupilot/…/Attitude.cpp#L114

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

kasatka60
Glinco:

А чем определите угол атаки?

Полетный контроллер определяет.

alexeykozin
kasatka60:

Полетный контроллер определяет.

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

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

Glinco
kasatka60:

Полетный контроллер определяет.

АПМ и другие автопилоты не могут определить угол атаки. Для этого нужен спец датчик, который определяет направление обтекания планера.
Погрешность бародатчика, а также постоянное изменение положения самолета в воздухе не даст расчитать угол атаки крыла.
Если вы про тангаж, то это другое дело. 😃

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

AndreyI

Подскажите пожалуйста, есть ли в последней версии Arduplane, возможность настроить что бы в RTL самолет до дома шел на высоте включения RTL (если она выше заданной) и начинал снижаться только по прилету в точку?

alexeykozin

ALT_HOLD_RTL: RTL altitude

Target altitude above home for RTL mode. Maintains current altitude if set to -1. Rally point altitudes are used if plane does not return to home.

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

AndreyI

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

Необходимый вариант возврата реализован в ArduCopter, но тут я не вижу похожих параметров…