Вопросы по iNav

jShadow
Talentfrei:

Ах, точно, он же в см считает. Тогда что то не так. Я вчера почти 40кмч в посхолд летел. Pixhawk и APM не возвращаются в точку где был отпущен джойстик, а просто тормозят и т.к. они медленно летят далеко от этого места не улетают.

Настройка nav_manual_speed используется только если nav_user_control_mode=CRUISE, т.е. если правый стик контролирует скорость. По умолчанию nav_user_control_mode=ATTI, правый стик контролирует крен и скорость не лимитируется.

Talentfrei:

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

У APM логика такая же как у меня - считается ожидаемая точка остановки, а вот PX4 оттормаживается, а только потом захватывает позицию.

Talentfrei

Мне казалось они одинаково в посхолд летают. Я AРМ ,уже два месяца как продал, может и подзабыл. Попробую переставить на Cruise.

jShadow
Talentfrei:

Мне казалось они одинаково в посхолд летают. Я AРМ ,уже два месяца как продал, может и подзабыл. Попробую переставить на Cruise.

А по внешнему поведению оно, по идее, отличаться и не должно. Фокус в том, чтобы расчетную позицию остановки вычислить корректно.

Andy_Durin
Talentfrei:

Мне казалось они одинаково в посхолд летают

До версии 3.2 точно одинаковая была логика. Потом Pix дальше развивался а АПМ нет. Возможно, сейчас по разному летают.

Talentfrei

Ok, понял. Мне в общем то все ети полёты в посхолд не нужны, я летать умею. Пытаюсь приобщить старшую дочь к хобби. На 330 ом коптере всё нормально с, а вот 250 вчера метался туда сюда с наращиванием скорости и амплитуды. Доча с этим бы не справилась…

Andy_Durin:

До версии 3.2 точно одинаковая была логика. Потом Pix дальше развивался а АПМ нет. Возможно, сейчас по разному летают.

Я на Pix досих пор с 3.2 летаю. У меня с 3.3 глюки с компасом были.

Andy_Durin
Talentfrei:

Я на Pix досих пор с 3.2 летаю

А я на АПМ с 3.1.5. 😃 На 3.2.1 гекса дважды пыталась улететь “в Китай”.
Но что-то мы уже офтопим в Костиной теме…

lokanaft

Попробовал в общем удержание высоты. Квадрик висит на трети газа, когда переключил на удержание высоты - он подпрыгнул метра на 2, потом опять точно также, как и на других прошивках, пришлось газом вручную ловить больше/меньше “удержание высоты”. И не на 1500, а на 1600-1700 примерно. Хотя и gps, и барометр с поролоном, и сонар.

jShadow
lokanaft:

Попробовал в общем удержание высоты. Квадрик висит на трети газа, когда переключил на удержание высоты - он подпрыгнул метра на 2, потом опять точно также, как и на других прошивках, пришлось газом вручную ловить больше/меньше “удержание высоты”. И не на 1500, а на 1600-1700 примерно. Хотя и gps, и барометр с поролоном, и сонар.

set nav_mc_hover_thr какое значение? По умолчанию - 1500, т.е. 50% газа. Этот параметр - хинт для прошивки на каком примерно газе коптер должен висеть.

lokanaft

Так и есть 1500, но дело то в том, что как будто это включён самый обычный режим удержания, не ваш модифицированный, где газом надо ловить высоту ещё интенсивнее, чем без удержания.

Вот настройки:


Entering CLI Mode, type 'exit' to return, or 'help'

# dump

# version
# INAV/SPRACINGF3 1.1.0 Apr 12 2016 / 00:58:41 (1ee9e12)
# pflags
# Persistent config flags: 0x00000001
# dump master

# mixer
mixer QUADX
mmix reset
smix reset


# feature
feature -RX_PPM
feature -VBAT
feature -INFLIGHT_ACC_CAL
feature -RX_SERIAL
feature -MOTOR_STOP
feature -SERVO_TILT
feature -SOFTSERIAL
feature -GPS
feature -FAILSAFE
feature -SONAR
feature -TELEMETRY
feature -CURRENT_METER
feature -3D
feature -RX_PARALLEL_PWM
feature -RX_MSP
feature -RSSI_ADC
feature -LED_STRIP
feature -DISPLAY
feature -ONESHOT125
feature -BLACKBOX
feature -CHANNEL_FORWARDING
feature VBAT
feature RX_SERIAL
feature MOTOR_STOP
feature SERVO_TILT
feature SOFTSERIAL
feature GPS
feature FAILSAFE
feature SONAR
feature TELEMETRY
feature CURRENT_METER
feature ONESHOT125
feature BLACKBOX


# beeper
beeper GYRO_CALIBRATED
beeper RX_LOST
beeper RX_LOST_LANDING
beeper DISARMING
beeper ARMING
beeper ARMING_GPS_FIX
beeper BAT_CRIT_LOW
beeper BAT_LOW
beeper GPS_STATUS
beeper RX_SET
beeper ACC_CALIBRATION
beeper ACC_CALIBRATION_FAIL
beeper READY_BEEP
beeper MULTI_BEEPS
beeper DISARM_REPEAT
beeper ARMED
beeper SYSTEM_INIT
beeper ON_USB


# map
map AETR1234


# serial
serial 0 1 115200 38400 0 115200
serial 1 2 115200 57600 0 115200
serial 2 64 115200 38400 0 115200
serial 30 32 115200 38400 0 115200


# led
led 0 15,15:ES:IA:0
led 1 15,8:E:WF:0
led 2 15,7:E:WF:0
led 3 15,0:NE:IA:0
led 4 8,0:N:F:0
led 5 7,0:N:F:0
led 6 0,0:NW:IA:0
led 7 0,7:W:WF:0
led 8 0,8:W:WF:0
led 9 0,15:SW:IA:0
led 10 7,15:S:WF:0
led 11 8,15:S:WF:0
led 12 7,7:U:WF:0
led 13 8,7:U:WF:0
led 14 7,8:D:WF:0
led 15 8,8:D:WF:0
led 16 8,9::R:3
led 17 9,10::R:3
led 18 10,11::R:3
led 19 10,12::R:3
led 20 9,13::R:3
led 21 8,14::R:3
led 22 7,14::R:3
led 23 6,13::R:3
led 24 5,12::R:3
led 25 5,11::R:3
led 26 6,10::R:3
led 27 7,9::R:3
led 28 0,0:::0
led 29 0,0:::0
led 30 0,0:::0
led 31 0,0:::0


# color
color 0 0,0,0
color 1 0,255,255
color 2 0,0,255
color 3 30,0,255
color 4 60,0,255
color 5 90,0,255
color 6 120,0,255
color 7 150,0,255
color 8 180,0,255
color 9 210,0,255
color 10 240,0,255
color 11 270,0,255
color 12 300,0,255
color 13 330,0,255
color 14 0,0,0
color 15 0,0,0

set looptime = 2000
set emf_avoidance = OFF
set i2c_overclock = OFF
set gyro_sync = OFF
set gyro_sync_denom = 2
set mid_rc = 1500
set min_check = 1100
set max_check = 1900
set rssi_channel = 0
set rssi_scale = 30
set rssi_ppm_invert = OFF
set rc_smoothing = ON
set input_filtering_mode = OFF
set min_throttle = 1020
set max_throttle = 2000
set min_command = 1000
set servo_center_pulse = 1500
set 3d_deadband_low = 1406
set 3d_deadband_high = 1514
set 3d_neutral = 1460
set 3d_deadband_throttle = 50
set motor_pwm_rate = 400
set servo_pwm_rate = 50
set disarm_kill_switch = ON
set auto_disarm_delay = 5
set small_angle = 25
set reboot_character = 82
set gps_provider = UBLOX
set gps_sbas_mode = AUTO
set gps_nav_model = LOW_G
set gps_auto_config = ON
set gps_auto_baud = ON
set inav_accz_unarmedcal = ON
set inav_use_gps_velned = OFF
set inav_gps_delay = 200
set inav_gps_min_sats = 6
set inav_w_z_baro_p =  0.350
set inav_w_z_gps_p =  0.200
set inav_w_z_gps_v =  0.200
set inav_w_xy_gps_p =  1.000
set inav_w_xy_gps_v =  2.000
set inav_w_z_res_v =  0.500
set inav_w_xy_res_v =  0.500
set inav_w_acc_bias =  0.010
set inav_max_eph_epv =  1000.000
set inav_baro_epv =  100.000
set nav_disarm_on_landing = OFF
set nav_use_midthr_for_althold = ON
set nav_extra_arming_safety = ON
set nav_user_control_mode = ATTI
set nav_position_timeout = 5
set nav_wp_radius = 300
set nav_max_speed = 300
set nav_manual_speed = 500
set nav_manual_climb_rate = 200
set nav_landing_speed = 200
set nav_emerg_landing_speed = 500
set nav_min_rth_distance = 500
set nav_rth_tail_first = OFF
set nav_rth_alt_mode = AT_LEAST
set nav_rth_altitude = 1000
set nav_mc_bank_angle = 30
set nav_mc_hover_thr = 1500
set nav_mc_min_fly_thr = 1200
set nav_fw_cruise_thr = 1500
set nav_fw_min_thr = 1300
set nav_fw_max_thr = 1900
set nav_fw_bank_angle = 30
set nav_fw_climb_angle = 20
set nav_fw_dive_angle = 15
set nav_fw_pitch2thr = 20
set nav_fw_roll2pitch = 50
set nav_fw_loiter_radius = 3000
set serialrx_provider = SBUS
set spektrum_sat_bind = 0
set telemetry_switch = OFF
set telemetry_inversion = ON
set frsky_default_lattitude =  0.000
set frsky_default_longitude =  0.000
set frsky_coordinates_format = 0
set frsky_unit = IMPERIAL
set frsky_vfas_precision = 0
set hott_alarm_sound_interval = 5
set battery_capacity = 0
set vbat_scale = 111
set vbat_max_cell_voltage = 43
set vbat_min_cell_voltage = 31
set vbat_warning_cell_voltage = 33
set current_meter_scale = 400
set current_meter_offset = 0
set multiwii_current_meter_output = OFF
set current_meter_type = ADC
set align_gyro = DEFAULT
set align_acc = DEFAULT
set align_mag = CW0FLIP
set align_board_roll = 0
set align_board_pitch = 0
set align_board_yaw = -900
set gyro_lpf = 98HZ
set moron_threshold = 32
set imu_dcm_kp = 2500
set imu_dcm_ki = 50
set imu_dcm_kp_mag = 10000
set imu_dcm_ki_mag = 0
set pos_hold_deadband = 20
set alt_hold_deadband = 50
set yaw_control_direction = 1
set yaw_motor_direction = 1
set yaw_jump_prevention_limit = 200
set tri_unarmed_servo = ON
set servo_lowpass_freq = 400
set servo_lowpass_enable = OFF
set failsafe_delay = 10
set failsafe_off_delay = 200
set failsafe_throttle = 1000
set failsafe_kill_switch = OFF
set failsafe_throttle_low_delay = 100
set failsafe_procedure = SET-THR
set rx_min_usec = 885
set rx_max_usec = 2115
set acc_hardware = 0
set baro_use_median_filter = ON
set baro_hardware = 0
set mag_hardware = 0
set blackbox_rate_num = 1
set blackbox_rate_denom = 1
set blackbox_device = SPIFLASH
set magzero_x = -141
set magzero_y = -11
set magzero_z = -124
set acczero_x = 38
set acczero_y = 2
set acczero_z = -112
set accgain_x = 4062
set accgain_y = 4077
set accgain_z = 4063

# rxfail
rxfail 0 a
rxfail 1 a
rxfail 2 a
rxfail 3 a
rxfail 4 h
rxfail 5 h
rxfail 6 h
rxfail 7 h
rxfail 8 h
rxfail 9 h
rxfail 10 h
rxfail 11 h
rxfail 12 h
rxfail 13 h
rxfail 14 h
rxfail 15 h
rxfail 16 h
rxfail 17 h

# dump profile

# profile
profile 0

# aux
aux 0 0 3 1800 2100
aux 1 2 0 1300 2100
aux 2 7 3 1800 2100
aux 3 3 1 1800 2100
aux 4 10 0 1800 2100
aux 5 9 2 1800 2100
aux 6 0 0 900 900
aux 7 0 0 900 900
aux 8 0 0 900 900
aux 9 0 0 900 900
aux 10 0 0 900 900
aux 11 0 0 900 900
aux 12 0 0 900 900
aux 13 0 0 900 900
aux 14 0 0 900 900
aux 15 0 0 900 900
aux 16 0 0 900 900
aux 17 0 0 900 900
aux 18 0 0 900 900
aux 19 0 0 900 900

# adjrange
adjrange 0 0 0 900 900 0 0
adjrange 1 0 0 900 900 0 0
adjrange 2 0 0 900 900 0 0
adjrange 3 0 0 900 900 0 0
adjrange 4 0 0 900 900 0 0
adjrange 5 0 0 900 900 0 0
adjrange 6 0 0 900 900 0 0
adjrange 7 0 0 900 900 0 0
adjrange 8 0 0 900 900 0 0
adjrange 9 0 0 900 900 0 0
adjrange 10 0 0 900 900 0 0
adjrange 11 0 0 900 900 0 0

# rxrange
rxrange 0 1000 2000
rxrange 1 1000 2000
rxrange 2 1000 2000
rxrange 3 1000 2000

# servo
servo 0 1450 1860 1580 50 90 30 -1
servo 1 1000 2000 1500 90 90 100 -1
servo 2 1000 2000 1500 90 90 100 -1
servo 3 1000 2000 1500 90 90 100 -1
servo 4 1000 2000 1500 90 90 100 -1
servo 5 1000 2000 1500 90 90 100 -1
servo 6 1000 2000 1500 90 90 100 -1
servo 7 1000 2000 1500 90 90 100 -1

set nav_alt_p = 50
set nav_alt_i = 0
set nav_alt_d = 0
set nav_vel_p = 100
set nav_vel_i = 50
set nav_vel_d = 10
set nav_pos_p = 65
set nav_pos_i = 120
set nav_pos_d = 0
set nav_posr_p = 180
set nav_posr_i = 15
set nav_posr_d = 100
set nav_navr_p = 14
set nav_navr_i = 2
set nav_navr_d = 8
set deadband = 5
set yaw_deadband = 5
set throttle_tilt_comp_str = 0
set yaw_p_limit = 300
set default_rate_profile = 0
set gimbal_mode = NORMAL
set mag_declination = 0
set p_pitch = 45
set i_pitch = 50
set d_pitch = 70
set p_roll = 45
set i_roll = 50
set d_roll = 70
set p_yaw = 100
set i_yaw = 40
set d_yaw = 0
set p_level = 160
set i_level = 10
set d_level = 75
set max_angle_inclination_rll = 300
set max_angle_inclination_pit = 300
set gyro_soft_lpf_hz = 60
set acc_soft_lpf_hz = 15
set dterm_lpf_hz = 30

# dump rates

# rateprofile
rateprofile 0

set rc_rate = 90
set rc_expo = 70
set rc_yaw_expo = 20
set thr_mid = 50
set thr_expo = 0
set roll_rate = 50
set pitch_rate = 50
set yaw_rate = 50
set tpa_rate = 30
set tpa_breakpoint = 1750

# 

Вот лог: lokanaft.ru/blackbox_log_2016-04-14_190341.TXT

Висел просто на месте пытался держать.

ashtuchkin

Давно наблюдаю за развитием iNavFlight, очень интересный проект, спасибо, Константин, за ваши усилия по его развитию!

Хотел обсудить небольшой проект который я затеваю. Есть задача - посадить коптер с точностью ±2 см, в помещении (не на улице). Есть технология которая позволяет определять 3д-положение коптера с точностью ок. 5 мм. Как вы думаете, можно ли будет (с возможными минимальными модификациями) использовать iNavFlight RTH для решения задачи? Сейчас думаю начать с того, чтобы эмулировать GPS формат и просто передавать коптеру текущее положение (как я понимаю там точность 1/10^7 градуса долготы/широты => 1.1 см), а далее просто использовать RTH.

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

Talentfrei

Переставил на nav_user_control_mode=CRUISE и nav_manual_speed=300 и все стало чудненко !!!

lokanaft

RTL как то странно работает, если отлететь метров на 30 на высоте трёх метров, то взлетает на 10 метров и идёт строго к месту взлёта по линии с такой скоростью, что я даже не решился это досмотреть ни разу) Если подальше и повыше то лучше, но очень сильно дёргает в обратку и мгновенно вращает курс, потом идёт со снижением, но метров до 15 к точке взлёта и снижается также быстро до самого конца, но один раз всё таки притормозил в двух метрах.
На апм это выглядит так, что
сначала он более менее останавливается,
поднимается до 15м - зависит от настройки, обратно не спускается до самого конца,
в новых прошивках уже можно ввести цифру, на сколько ему подняться перед обратным путём чисто визуально против дёрганья в обратку, можно 0 оставить,
начинает путь назад медленно вращаясь на курс, либо как был остаётся - от настройки,
спускается с заданной скоростью и в 5 метрах начинает спускаться ну очень медленно.

mahowik
jShadow:

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

jShadow:

У APM логика такая же как у меня - считается ожидаемая точка остановки, а вот PX4 оттормаживается, а только потом захватывает позицию.

Ну так, если компас врет, то и расчет точки останова будет не верным по идее + как мне кажется это совсем не тривиальная задача сделать подобный правильный расчет, т.е. зависит от конфигурации дрона, пидов + внешних условий. Можно конечно программно задавать желаемoe ускорение торможения дрона (т.е. target acceleration и полагать что он выполнил этот таск), но это такой же фейк в итоге 😃 Не знаю, не смотрел как это сделано у тебя, в апм и пиксе, т.е. всего лишь мысли…

У меня в текущей имплементации, ИНС используется только для удержания позиции, т.к. остальным режимам типа полет по точкам и возврат домой сантиметровая точность не нужна (возможно пересмотрю это на след-й релиз). Но появляется ограничение, когда в момент активации удержания позиции стартует ИНС и приходится брать сырые гпс координаты в качестве точки удержания. И если коптер двигается с приличной скоростью, то сырые гпс координаты заметно отстают. Соот-но нужна компенсация. Варианта два и оба простые:

  1. врубаем торможение по скорости на 1-2 сек, далее делаем захват точки с удержанием
  2. врубаем торможение по скорости до определенного порога (например 1м/с), далее делаем захват точки с удержанием

upd: rcopen.com/forum/f134/topic224458/6330

karabasus

Спасибо Константин (jShadow) за прошивку и за советы, удалось сегодня прошить и настроить Taulabs Sparky 1 , из сложностей только один момент был - решил не использовать внутренний компас (гулял ± 5-7 градусов), а прицепить внешний, заодно с GPS такой banggood.com/UBLOX-NEO-M8N-BN-880-Flight-Control-G… но на плате нет разъёма i2c для компаса пришлось запаивать в переходные отверстия (в родной прошивке от Taulabs есть возможность переназначить flexi порт). Дома всё работает отлично-летает лучше чем с прошивкой от taulabs - в поле попробую позже. (Ну и не забывать про ориентацию внешнего компаса)

jShadow
lokanaft:

Вот лог: lokanaft.ru/blackbox_log_2016-04-14_190341.TXT

Висел просто на месте пытался держать.

Проблема в том, что с этими настройками

set nav_use_midthr_for_althold = ON
set alt_hold_deadband = 50

надо довольно точно попасть в середину газа чтобы поймать “висение”. Как только это удалось (~2:40 по времени ПК) - висит хорошо, дрейф высоты минимальный.

При таком низком газе висения (20%) лучше выставить set nav_mc_hover_thr=1170, включить альтхолд сразу после арминга (до взлета), и взлетать уже с удержанием.

Ну или сделать

set nav_use_midthr_for_althold = OFF

чтобы он нейтральным положением стика газа запоминал “газ в момент включения альтхолда”

ashtuchkin:

Сейчас думаю начать с того, чтобы эмулировать GPS формат и просто передавать коптеру текущее положение (как я понимаю там точность 1/10^7 градуса долготы/широты => 1.1 см), а далее просто использовать RTH.

Да, это самый простой вариант.

lokanaft:

RTL как то странно работает

Надо смотреть логи.

lokanaft:

на 30 на высоте трёх метров, то взлетает на 10 метров и идёт строго к месту взлёта по линии с такой скоростью, что я даже не решился это досмотреть ни разу) Если подальше и повыше то лучше, но очень сильно дёргает в обратку и мгновенно вращает курс, потом идёт со снижением, но метров до 15 к точке взлёта и снижается также быстро до самого конца, но один раз всё таки притормозил в двух метрах.

Проблема в том, что удержание направления (MAG HOLD) пока сильно зависит от “set rc_rate = 90”. Отсюда и очень агрессивное дерганье по курсу. Я об этом глюке знаю и он обязательно будет поправлен!

Скорость возврата определяется set nav_max_speed = 300 - это 3м/с. Можно зажать до 100 (1 м/с), тогда возврат будет медленный и печальный.
То же самое посадка: set nav_landing_speed = 200 (2 м/с).

karabasus:

Спасибо Константин (jShadow) за прошивку и за советы, удалось сегодня прошить и настроить Taulabs Sparky 1 , из сложностей только один момент был - решил не использовать внутренний компас (гулял ± 5-7 градусов), а прицепить внешний, заодно с GPS такой www.banggood.com/UBLOX-NEO-M8...p-971082.html? но на плате нет разъёма i2c для компаса пришлось запаивать в переходные отверстия (в родной прошивке от Taulabs есть возможность переназначить flexi порт). Дома всё работает отлично-летает лучше чем с прошивкой от taulabs - в поле попробую позже. (Ну и не забывать про ориентацию внешнего компаса)

Пиды настраивали или так полетело? Уже не первый раз слышу, что INAV летает лучше OpenPilot/Taulabs 😃

mahowik:

Ну так, если компас врет, то и расчет точки останова будет не верным по идее + как мне кажется это совсем не тривиальная задача сделать подобный правильный расчет, т.е. зависит от конфигурации дрона, пидов + внешних условий. Можно конечно программно задавать желаемoe ускорение торможения дрона (т.е. target acceleration и полагать что он выполнил этот таск), но это такой же фейк в итоге Не знаю, не смотрел как это сделано у тебя, в апм и пиксе, т.е. всего лишь мысли…

Вот я и в раздумьях, как сделать. Пока меня устраивает как есть, думаю к версии 1.2 буду допиливать.

Talentfrei

Мне пришлось на обоих квадриках пиды настраивать. Причем P на обоих двойной, I на обоих в половину меньше, D на одном в два раза больше, на другом почти в три!

karabasus
jShadow:

Пиды настраивали или так полетело? Уже не первый раз слышу, что INAV летает лучше OpenPilot/Taulabs

Пока не подстраивал - так полетел, на дефолтных (рама ZMR250). Сейчас поеду в поле, испытаю с ветром. Заодно и Poshold и возврат. Ну и самолетик возьму мелкий (mini sky walker) на него тоже поставил openpilot CC3d с прошивкой inav.

lokanaft
jShadow:

Скорость возврата определяется set nav_max_speed = 300 - это 3м/с. Можно зажать до 100 (1 м/с), тогда возврат будет медленный и печальный.

Ну это нормально, только вот он летел непосредственно в точку на земле, а не на высоте 15м.

jShadow
karabasus:

Пока не подстраивал - так полетел, на дефолтных (рама ZMR250). Сейчас поеду в поле, испытаю с ветром. Заодно и Poshold и возврат. Ну и самолетик возьму мелкий (mini sky walker) на него тоже поставил openpilot CC3d с прошивкой inav.

Отпишитесь по результату, мне очень интересно как Sparky у вас полетит 😃

lokanaft:

Ну это нормально, только вот он летел непосредственно в точку на земле, а не на высоте 15м.

Вот я и говорю - нужны логи 😃

lokanaft

Хочу сейчас на крыле с cc3d и gps с компасом попробовать. Для этой сборки нужны какие то особые указания или можно откалибровать аксель и компас и можно в тучу?

jShadow
lokanaft:

Хочу сейчас на крыле с cc3d и gps с компасом попробовать. Для этой сборки нужны какие то особые указания или можно откалибровать аксель и компас и можно в тучу?

Самолетный код сильно не отлажен пока. Особенно ПИДы требуют доводки - умолчания на самолетах работают плохо. Надо быть готовым в любой момент перехватить управление и “спасать” самолет руками.

Да, еще желательно использовать собственную сборку из исходника - я не далее как час назад поправил серьезную ошибку в коде контроллера позиции (используется RTH/PH), после фикса код еще не тестировался.