Mam prosty system serwo, który wykorzystuje kontroler PID zaimplementowany w MCU do wykonania sprzężenia zwrotnego. Jednak właściwości systemu zmieniają się dynamicznie, dlatego parametrów PID nie można nigdy dostosować do wszystkich okoliczności.
Mój robot to lekkie ramię z napędzanymi z tyłu silnikami elektrycznymi, podobnymi do tego:
Ramię wykonuje kilka zadań, w tym podnoszenie dużych ciężarów, pchanie i ciągnięcie przedmiotów po biurku. Każde z tych zadań wymaga innych parametrów strojenia PID, których nie mogę łatwo przewidzieć.
To, co naprawdę chciałbym, to funkcja wyższego poziomu, która może ostrożnie dostosowywać parametry w odpowiedzi na zachowanie ramienia. Na przykład, jeśli zauważy, że ramię oscyluje, może zmniejszyć P i zwiększyć D. Lub jeśli zauważy, że ramię nie osiąga celu, może zwiększyć I.
Czy takie algorytmy istnieją? Byłbym szczęśliwy, nawet gdyby algorytm nie udoskonalił parametrów od razu. EG ramię mogło oscylować kilka razy, zanim parametry zostały dostosowane do ich nowych wartości.
Dobrym podejściem do takiego problemu jest kontrola adaptacyjna. W skrócie, metodologia kontroli zakłada, że model jest znany, ale parametry modelu (masa, bezwładność itp.) Nie są znane. Jego zadaniem jest oszacowanie nieznanych parametrów. Krótkie wprowadzenie można znaleźć na wikipedii . Tekst Robotics: Modeling, Planning and Control autorstwa Siciliano i in. dokładniej opisz ten temat.
Edytuj w odpowiedzi na zapytanie @Rocketmagnets:
Krótko mówiąc, musisz mieć model matematyczny swojego układu, tj. Równania opisujące, jak twój system ewoluuje w czasie, gdy jest wymuszony lub w inny sposób, ale nie musisz znać parametrów dynamicznych, takich jak masa różnych składników, ich bezwładność itp. .. Zadaniem kontrolera adaptacyjnego jest oszacowanie tych parametrów. Musisz jednak wstępnie zgadnąć dla każdego z nieznanych parametrów. Następnie podczas działania systemu wykorzystuje sygnały sterujące, sygnały wyjściowe i metodę, taką jak regresja liniowa lub opadanie gradientu, w celu aktualizacji nieznanych wartości parametrów. Z czasem parametry zbiegną się w wartości, które spowodują stan ustalony, chociaż mogą nie pasować do rzeczywistych parametrów, tj. Może to spowodować błędną masę, ale wartość nadal będzie działać.
Stąd radzę odnieść się do tekstu omawiającego tę metodę. Właśnie zauważyłem na przykład, że dr Marc Bodson oferuje na swojej stronie internetowej kopię swojego tekstu Adaptive Control: Stabilność, Wytrzymałość i Konwergencja w formacie PDF .
źródło
Opisany proces jest znany jako adaptacyjny PID.
Wydaje się to jednak przesadą. Odkryłem, że PID jest dość niezawodny w radzeniu sobie z zakłóceniami zewnętrznymi, a zadania, które opisujesz, nie wydają się wykraczać poza możliwości jednego zestawu korzyści.
źródło