Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Инструкция APM2.5.doc
Скачиваний:
30
Добавлен:
01.07.2025
Размер:
8 Мб
Скачать
☆

Failsafe по потере управления с наземной станции

термин GCS означает Наземная станция управления, она может быть реализована как в виде отдельного контроллера, так и в виде переносного компьютера с установленным п/о "Missoin Planner" с подключенным беспроводным модемом

Как это работает. При полете при использовании телеметрии на GCS, APM может быть запрограммирован таким образом, чтобы перейти в безопасный режим, если он теряет радиосигнал телеметрии. В случае, если APM прекращает прием контрольных сообщений MAVlink (протокол телеметрии) в течение более 20 сек, GCS Failsafe (FS_GCS_ENABL, 0 = отключено, 1 = включено) инициирует переход APM режим указанный в настройках для длительного failsafe, по умолчанию это RTL (возврат к месту запуска) .

Настройка.

  1. установите параметр FS_GCS_ENABL равным 1 для использования этой функции.

  2. Подключитесь из "Missoin Planner" по телеметрии. Проверьте на HUD (табло полета) в нижнем углу что вы используете не автоматический режим (подойдут Manual, Stabilize, FBW ).

  3. Отключите радиомодем от USB. Через несколько минут отключите контроллер APM. (Помним что APM не входит в failsafe до истечения 20 секунд отсутствия связи по радиомодему).

  4. Подключите APM к "mission planner" убедитесь что в логе зарегистрирован переход в режим RTL .

Фрагмент программного кода

Short Failsafe. events.pde line 4

static void failsafe_short_on_event() {         // This is how to handle a short loss of control signal failsafe.         failsafe = FAILSAFE_SHORT;         ch3_failsafe_timer = millis();     gcs_send_text_P(SEVERITY_LOW, PSTR("Failsafe - Short event on"));         switch(control_mode)         {                 case MANUAL:                 case STABILIZE:                 case FLY_BY_WIRE_A: // middle position                 case FLY_BY_WIRE_B: // middle position                         set_mode(CIRCLE);                         break;                 case AUTO:                 case GUIDED:                 case LOITER:                         if(g.short_fs_action == 1) {                                 set_mode(RTL);                         }                         break;                 case CIRCLE:                 case RTL:                 default:                         break;         }     gcs_send_text_fmt(PSTR("flight mode = %u"), (unsigned)control_mode); }

Long Failsafe. events.pde line 35

static void failsafe_long_on_event() {         // This is how to handle a long loss of control signal failsafe.         gcs_send_text_P(SEVERITY_LOW, PSTR("Failsafe - Long event on"));         APM_RC.clearOverride();         //  If the GCS is locked up we allow control to revert to RC         switch(control_mode)         {                 case MANUAL:                 case STABILIZE:                 case FLY_BY_WIRE_A: // middle position                 case FLY_BY_WIRE_B: // middle position                 case CIRCLE:                         set_mode(RTL);                         break;                 case AUTO:                 case GUIDED:                 case LOITER:                         if(g.long_fs_action == 1) {                                 set_mode(RTL);                         }                         break;                 case RTL:                 default:                         break;         } }