Od objawu do hipotezy#

Diagnostyka zaczyna się od dokładnego czasu, trybu, konfiguracji i warunków. „Dron zadrżał” trzeba zamienić na pytanie: czy setpoint zmienił się przed gyro, czy wyjście osiągnęło limit, czy napięcie spadło i czy estymator zgłosił błąd.

Minimalny zestaw sygnałów#

Loguj setpoint i pomiar każdej osi, składniki regulatora, wyjście przed i po mikserze, napięcie, prąd, RPM, stan estymatora, tryb i flagi failsafe. Wszystkie strumienie potrzebują wspólnej osi czasu.

Widmo drgań#

FFT pokazuje energię względem częstotliwości. Szczyt zmieniający się z throttle sugeruje napęd; stały może pochodzić od rezonansu ramy lub elektroniki. Aliasing może przenieść wysoką harmoniczną do niższego pasma. Przed filtrowaniem sprawdza się śmigło, łożysko, mocowanie i sztywność.

Setpoint kontra measurement#

Jeśli oscyluje setpoint, źródłem może być operator lub pętla zewnętrzna. Jeśli setpoint jest gładki, a gyro oscyluje, bada się pętlę rate i mechanikę. Jeśli PID żąda korekcji, lecz silnik osiągnął limit, problemem jest autorytet, nie samo strojenie.

Zasilanie#

Brownout rozpoznaje się przez reset reason, napięcie po przetwornicy i korelację z obciążeniem. Napięcie baterii logowane wolno może nie uchwycić mikrosekundowego zapadu FC. Potrzebny jest oscyloskop i punkt pomiarowy przy odbiorniku.

Crash analysis#

Nie zaczynaj od ostatniej próbki — może być już skutkiem uderzenia. Cofnij się do pierwszej trwałej niespójności. Zachowaj oryginalny log, firmware, parametry i zdjęcia. Rozdziel fakt („gyro X nasycił się o 12:14:03.220”) od interpretacji („prawdopodobne uderzenie śmigła”).

Procedura#

  1. Zabezpiecz dane bez konwersji.
  2. Zbuduj oś zdarzeń.
  3. Sprawdź zdrowie sensorów i zasilania.
  4. Porównaj żądanie, odpowiedź i ograniczenia.
  5. Utwórz konkurencyjne hipotezy.
  6. Zaprojektuj bezpieczny test rozróżniający.

Jedna zmiana na test jest wolniejsza operacyjnie, ale szybsza poznawczo.

Przypisy

  1. Sumit Sharma, „Drone Development from Concept to Flight” [książka]
  2. ArduPilot: Downloading and Analyzing Data Logs [dokumentacja]
  3. Betaflight: Blackbox logging internals [dokumentacja]