LEGO EV3 i regulacja PID: Identyfikacja oraz automatyczne strojenie

Implementacja algorytmu PID to nie wszystko

Dzisiejszy post będzie kontynuacją ciągu artykułów na temat tworzenia algorytmu sterowania mobilnym robotem w środowisku Simulink. Dla przypomnienia, w ostatnim wpisie zajęliśmy się omówieniem robota oraz implementacją podstawowych algorytmów obsługujących silniki, doczytujących dane z enkoderów i wyliczających faktyczne prędkości obrotowe oraz liniowe kół robota. Również, na samym końcu rozpoczęliśmy implementację regulatora PID pozwalającego zadawanie konkretnej prędkości robota.

Sama implementacja regulatora PID to nie wszystko, aby regulator był dokładny i szybki, wymagane jest prawidłowe dobranie nastaw. Istnieje wiele metod doboru nastaw PID, wśród nich metody analityczne, obliczeniowe oraz eksperymentalne typu „próby i błędy”. My, do realizacji naszego zadania wykorzystamy pakiet narzędzi wchodzących w skład Simulink Control Design Toolbox oraz Identification Toolbox.

Narzędzia środowiska Simulink pozwalają na automatyczne strojenie regulatorów oraz symulację ich działania w połączeniu z zamodelowanym obiektem regulacji. Nie zawsze mając możliwość utworzenia całego modelu obiektu sterowania (np. silnik, serwonapęd, zawór etc.) korzystając z narzędzi Simulinka możemy przeprowadzić tzw. Proces identyfikacji tj. utworzenie modelu komputerowego naszego urządzenia i jego charakterystyki dynamicznej poprzez pobudzenie obiektu znanym sygnałem i rejestrowanie jego zachowania.

W naszym przypadku, obiektami, które będziemy modelować są silniki Lego, będziemy pobudzali je znanym, sygnałem generowanym w środowisku Simulink (blok Signal Builder) i zarejestrujemy odpowiedź silnika tj. jak szybko będzie się obracał przy danej wartości sygnału. Na tej podstawie utworzony zostanie przybliżony model komputerowy obiektu.

W kolejnym kroku, mając już nasz obiekt, będziemy mogli wykorzystać narzędzie PID Tuner, aby łatwo z poziomu interfejsu graficznego dobrać nastawy regulatora spełniające nasze oczekiwania (czas regulacji/narastania, uchyb ustalony, przeregulowanie etc.).

W następnym odcinku będziemy w dalszym ciągu dopracowywać nasz algorytm sterowania. Aktualnie nasz robot potrafi jechać do przodu i tyłu z zadaną prędkością jednak aby mógł on się swobodnie poruszać robot powinien również skręcać. Ostatecznie, będziemy również chcieli, aby nasza platforma mobilna cechowała się pewną autonomią i poruszała się np. zgodnie z określoną trasą.

(Visited 93 times, 1 visits today)

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *