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

сандор

на фоне баталий решил глянуть что я залил в свеже настроенное крыло, оказалась версия ArduPlane V4.0.9 (a632c813)что это за версия или не рисковать и откатить на любую стаб?

Koloboff

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

сандор

кстати летаю на другом самолете с Матек 765 и прошивкой 4,1 дев. без нареканий, уже намотал прилично

Koloboff
сандор:

кстати летаю на другом самолете с Матек 765 и прошивкой 4,1 дев. без нареканий, уже намотал прилично

Найтбилд найтбилду рознь. Ну, или лотерея.

khomyakk

Развернуло по флагу сбас. Появилась связь. Переключение напрямую на фбва не помогает. Но если включить на пульте сначала Ртл, а потом фбва, то прокатывает. 4.09

сандор

братцы, кто летает с толкающим винтом например на крыле, задержка 4 мс достаточно чтобы не сделать по пальцам? кидаю за нос крыло с предзапуском весом 2,6 кг и не всегда получается ровно кинуть + скручивающий момент с вытекающими последствиями. газ конечно я убавил но еще дело в самом броске. хочу попытаться держать за нижнюю часть,

suris2009

ВОПРОС по неожиданному поведению телеметрии. Имеется автопилот Holybro Pixhawk 4, minimOSD, прошивка Arduplane 4.0.9. Dragon Link управление он же модем по 433мГц, видео 1,2. Во время полёта, на расстоянии примерно 30км и высоте 1000м. показания расстояния до дома и высота на уровне дома на экране монитора видео 1,2 обнулились и стали показывать как будто бы арминг прошёл здесь и сейчас. То есть при возвращении к дому показания наоборот нарастали с нуля, а не уменьшались, а высота на 1000м стала 0 и соответственно при снижении стала уходить в минус. В то же время высота GPS, скорость воздушная и скорость GPS, пройденный путь, все показания батареи, направление на дом и показания ветра- работали правильно. Кроме того, показания телеметрии с Dragon Link на ноутбук весь полёт шли верно. И растояние домой и высота на уровне дома- всё время показывало правильно, даже когда на видеотелеметрии они обнулились. Что это было? Какие мысли?

Роман1971

MINIM OSD по моему только отображает телеметрию. У меня была проблема, когда некоторые данные отображались 0. Температура например. Причем проблема носила мигающий характер, и даже когда на экране был 0, то иногда раз там в 2-3 сек проскакивало верное значение. Но то цифры, а Вашем случае вычисляемые значения. Странно…

suris2009
Роман1971:

Странно…

Странно то что телеметрия через Dragon Link показывала верно, а через видео- нет…

Роман1971

Если бы OSD выполняла расчеты, то было бы ясно. Но она по -моему только отображает данные…

suris2009
Роман1971:

Но она по -моему только отображает данные…

Она накладывает данные mavlink на видео. И это ясно. Вопрос не про ОСД.

Shuricus

В Мавлинке нет данных под названием “расстояния до дома”. )
Надеюсь остальное понятно. Так что вопрос про ОСД.

Роман1971

Тогда просто перегруз OSD произошел. То ли по питанию, то ли еще почему то.

suris2009
Shuricus:

В Мавлинке нет данных под названием “расстояния до дома”. )
Надеюсь остальное понятно. Так что вопрос про ОСД.

Спасибо! Уже легче и менее тревожно. А как ОСД вычисляет расстояние до точки взлёта?

Shuricus

Судя по тому что вы наблюдали, оно запоминает координаты дома в момент Арма, потом вычисляет видя текущую позицию. Скорее всего мавлинк не передает координаты дома по умолчанию.

suris2009
Shuricus:

Судя по тому что вы наблюдали, оно запоминает координаты дома в момент Арма, потом вычисляет видя текущую позицию. Скорее всего мавлинк не передает координаты дома по умолчанию.

Странная ситуация была, если бы не телеметрия по управлению- очканул бы конкретно. Мысль мелькнула, что АП перегрузился… 😃

Hyperion
Роман1971:

Если бы OSD выполняла расчеты, то было бы ясно. Но она по -моему только отображает данные…

расстояние до дома вычисляет именно OSD
void GPS_distance_cm_bearing(int32_t* lat1, int32_t* lon1, int32_t* lat2, int32_t* lon2, uint32_t* dist, int32_t* bearing) {
float rads = (abs((float) * lat1) / 10000000.0) * 0.0174532925;
float dLat = *lat2 - *lat1; // difference of latitude in 1/10 000 000 degrees
float dLon = (float)(*lon2 - *lon1) * cos(rads);
*dist = sqrt(sq(dLat) + sq(dLon)) * 1.113195;
*bearing = 9000.0f + atan2(-dLat, dLon) * 5729.57795f; //Convert the output redians to 100xdeg
if (*bearing < 0) *bearing += 36000;
}
вот кусок кода
Нет в мавлинке пункта “расстояние до дома”

Роман1971

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