Krótkie pytanie
Czy istnieje wspólny sposób radzenia sobie z bardzo dużymi anomaliami (rząd wielkości) w obrębie poza tym jednolitego regionu kontrolnego?
Tło
pracuję nad algorytmem sterowania, który napędza silnik w ogólnie jednolitym obszarze sterowania. Przy braku / minimalnym obciążeniu kontrola PID działa świetnie (szybka reakcja, przeregulowanie od niewielkiego do zerowego). Problem, na który wpadam, to zwykle jest co najmniej jedna lokalizacja wysokiego obciążenia. Pozycja jest ustalana przez użytkownika podczas instalacji, więc nie ma rozsądnego sposobu, aby wiedzieć, kiedy / gdzie się spodziewać.
Kiedy dostrajam PID do obsługi miejsca o dużym obciążeniu, powoduje to duże przesady w obszarach nieobciążonych (czego się w pełni spodziewałem). Podczas gdy przekraczanie środkowego odcinka drogi jest w porządku , nie ma mechanicznych twardych ograniczników na obudowie. Brak ograniczników oznacza, że każde znaczące przekroczenie może / powoduje odłączenie ramienia sterującego od silnika (w wyniku czego powstaje martwa jednostka).
Rzeczy, które prototypuję
- Zagnieżdżone PID (bardzo agresywne, gdy daleko od celu, konserwatywne, gdy w pobliżu)
- Naprawiono wzmocnienie, gdy jest daleko, PID, gdy blisko
- Konserwatywny PID (działa bez obciążenia) + sterowanie zewnętrzne, które sprawdza, czy PID utknie i zastosuje dodatkową energię do momentu: osiągnięcia celu lub wykrycia szybkiego tempa zmian (tj. Opuszczenia obszaru wysokiego obciążenia)
Ograniczenia
- Określono pełną podróż
- Nie można dodać przystanków (w tym momencie)
- Błąd prawdopodobnie nigdy się nie wyzeruje
- Wysokie obciążenie można było uzyskać przy skoku mniejszym niż 10% (co oznacza brak „rozruchu”)