Skocz do zawartości

Regulacja PID na podstawie pomiarów z dwóch źródeł


przemoch_

Pomocna odpowiedź

Hej,

piszę pracę magisterską, na której potrzeby buduję robota, który ma poruszać się pomiędzy zadanymi punktami. Ze względu na specyfikę konstrukcji (robot gąsienicowy, w całości wydrukowany na drukarce 3D), robot w czasie jazdy prosto (oba silniki z tym samym wypełnieniem PWM) mocno zbacza z kursu. Silniki posiadają enkoder, co częściowo rozwiązuje problem. Napisałem w pythonie prosty regulator PID, który poprawił sposób poruszania się robota. Udało mi się dobrać nastawy tak, że stosunek wskazań odczytów z obu enkoderów wynosi ~0.99. Wydaje się, że taka dokładność powinna zapenić poruszanie się w lini prostej na kilkumetrowych odcinkach. Enkodery nie są bardzo dokładne, a i gąsienice nie są spasowane idealnie, co sprawia, że robot dalej znoszony jest na jedną ze stron.

Niestety nie bardzo jestem w stanie osiągnąć więcej z obecnym setupem, więc zdecydowałem się na dodanie magnetometru, który działałby jako dodatkowe źródło do regulacji PWM. Tutaj pojawia się moje pytanie, czy dobrym rozwiązaniem jest dodanie kompasu dodatkowo do obecnego regulatora, wpinając go jakby "szeregowo"? Mam na myśli to, że sygnałem wejściowym drugiego regulatora byłoby położenie odczytane z kompasu a sygnał wyjściowy modyfikowałby wypełnienie PWM wcześniej zmodyfikowane przez PID z enkoderów? Czyli wypełnienie sygnału na silnikach z grubsza regulowane by było przez enkodery a w razie dalszej odchyłki działałby PID z kompasu?

Czy spotkaliście się z taką praktyką? Czy to rozsądne rozwiązanie, czy jednak są jakieś istotne minusy, których nie dostrzegam? Jestem otwarty na sugestie ;)

Z góry dziękuję,

Przemysław

Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.