Skocz do zawartości

Pomocna odpowiedź

Napisano (edytowany)

Siema,
zbudowałem sobie takiego robota balansującego:
116361754_2677502675860302_6366621085091293443_n.thumb.jpg.46113b64d2af74cdf67bd61d58eb1a3a.jpg

i od miesiąca próbuję go zmusić do balansowania, a ten mnie nie słucha. 

MPU6050 -> filtr kalmana -> pid(na filmiku sam człon PD). Sterowanie wychyleniem wywoływane w w przerwaniu co ok 10 ms.

I teraz moje pytanie : Czy kaszanię coś programowo, regulacyjnie, Czy skaszaniłem coś mechanicznie ? 

 

1577150898_Beztytuu.thumb.png.1416f91f0a16e486d5805726c5e050c9.png

Tu podgląd z STMStudio ...

robot.zip

Edytowano przez olimek
24 minuty temu, FlyingDutch napisał:

Cześć,

 czy używasz regulatora PID ze wszystkimi członami ? Jakie masz współczynniki do tych członów? Próbowałeś zobaczyć jak robot się zachowuje w otwartej pętli sprzężenia zwrotnego?

Tutaj masz cały kurs dot. regulacji PID:

https://iautomatyka.pl/kurs-regulacji-pid-wstep-cz-1-34/

obszerny ale bardzo dobrze napisany.

Pozdrawiam

Na filmiku pracuje na PD, parametry po 20. Nie sprawdzałem przy otwartej pętli.

Hej,

to najpierw sprawdź jaka jest odpowiedź układu przy otwartej pętli.  20 dla członu P może być, ale dla członu D to trochę dużo. Tutaj masz kilka linków jak dobierać parametry dla regulatora PID:

https://termoregulatory.pl/pl/blog/p-dobor-nastaw-pid-w-praktyce

https://automatykab2b.pl/technika/46618-strojenie-pid-metody-doboru-nastaw-czesc-1

https://eia.pg.edu.pl/documents/1113028/0/KSS_Dobor_nastaw_PID.pdf

Pozdrawiam

  • Lubię! 2
(edytowany)

@Matthew11 


Ad. 1 TAK, TAK i testuje rozmieszczenie li pol. Teoretycznie im wyżej masa tym lepiej, na zdjęciu pakiet jest najniżej jak się da, myślałem że masa poniżej osi ułatwi balans.

Ad. 2 pętla 10 ms, mielenie danych ~4.6 ms

Ad. 3 Własnie próbuję na czuja. Tzn tylko P i na chybił trafił aż robot w miarę sam nie ustoi (i tu się zatrzymałem).

Ad. 4 Dzisiaj po pracy spróbuję z komplementarnym. 

 

przy mniejszych wartościach Kp robot nie jest w stanie nawet dojść do pionu.

 

Edytowano przez olimek
5 godzin temu, olimek napisał:

@Matthew11

przy mniejszych wartościach Kp robot nie jest w stanie nawet dojść do pionu.

 

Cześć,

może w otwartej pętli sprzężenia zwrotnego masz za małe wzmocnienie, wtedy to już kaplica.

Pozdrawiam

Cześć,

trzeba by wszystko policzyć - jakie masz momenty silników, jakie masy są umieszczone "na robocie" i jaki jest ich rozkład. Musiałbyś też zobaczyć jak wyglądają wyniki z filtru Kalmana.

Wydaje mi się, że powinieneś poczytać więcej teorii - dobór parametrów regulatora PID jest trudny i najlepiej zastosować jakąś sprawdzoną metodę.

Pozdrawiam

 

(edytowany)

https://forbot.pl/forum/profile/11725-flyingdutch/

 

Ok wartości policzone metodą Metoda Chiena-Hronesa-Reswicka wyglądają na mocno przeregulowane. Obecnie podniosłem środek ciężkości. Na filmiku robot z otwartą pętlą, silniki 50% mocy. Nie mam już pomysłu, co z tym robić. Raczej podejrzewam stronę mechaniczną... Silniki n20 300 RPM. Nie ma mowy nawet o próbie utrzymania równowagi autonomicznie.

20200728_171613.zip

a tu przebieg z kalmana 

image.thumb.png.83062a26c6515cc6daa9e957d86cd1dc.png

image.thumb.png.96dade8489c22d2c018e686527b2ac1c.png

 

 

Edytowano przez olimek

Cześć,

widać, że robot ma nawet zapas mocy. Spróbuj tak, jak kolega wyżej napisał ustawić współczynnik P na te 20 i wyzeruj D i I. D - odpowiada za niwelowanie "szybkich" zmian a I za "powolnych". Postaraj się stopniowo zwiększać te wartości (o ile pamiętam jak robiłem PID'a to te wartości końcowe były małe w porównaniu do P). Najlepiej z podanych linków wybierz jedną metodę ustawiania parametrów i staraj się postępować zgodnie z jej opisem.

Pozdrawiam

  • Lubię! 1

Nie ma problemu, cała przyjemność po mojej stronie. Polecam się na przyszłość. Ważne że udało się robota przywrócić do żywych. Z enkoderami byloby jeszcze lepiej ☺️.

  • Lubię! 1

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...