Czy można poruszać i stabilizować robota dwukołowego bez żyroskopów?

15

W przypadku robota dwukołowego takiego jak ten udało mi się go ustabilizować, utrzymując nieruchomość. Dokonano tego za pomocą cyfrowego systemu kontroli sprzężenia zwrotnego, odczytując pozycję kół w celu ustalenia położenia, a do określenia prędkości wykorzystano naturalną siłę elektromotoryczną wsteczną z silników kół w pętli sprzężenia zwrotnego. Utrzymywano go stabilnie za pomocą regulatora PID, który został zaprojektowany przy użyciu algorytmu locus root, aby utrzymać stabilność i modulować parametry wydajności (takie jak procent przekroczenia, czas ustalania itp.). Chciałem spróbować utrzymać go w stałym stanie, jednocześnie napędzając go do przodu, ale nie mogłem wymyślić, jak zaprojektować liniowy kontroler, który mógłby to zrobić. Czy możliwe jest zarówno napędzanie robota do przodu, jak i utrzymuj stabilność za pomocą kontrolera sprzężenia zwrotnego na kołach, czy też wymagany jest żyroskop?

Zetta Suro
źródło
1
Czy istnieje jakiś szczególny powód, dla którego nie można użyć żyroskopu? Po prostu z zainteresowania.
berry120
Chodzi o zadanie, które wykonałem podczas ostatniej kadencji. Przydzielono nam robota i mogliśmy korzystać tylko z tego, co zostało nam dane. Zadanie polegało tylko na utrzymaniu go w bezruchu, ale po prostu byłem ciekawy, czy (a jeśli tak, to w jaki sposób) może posunąć się do przodu i nadal pozostać stabilny.
Zetta Suro

Odpowiedzi:

4

Możesz użyć innych sposobów pomiaru orientacji, takich jak akcelerometr, optyczne śledzenie znaczników lub czujnik głębokości skierowany na podłogę.

AlcubierreDrive
źródło
Optyczny czujnik odległości wskazujący na podłogę jest całkiem dobrym sposobem na pomiar nachylenia robota. Pamiętaj tylko, że będzie mierzyć rzeczywiste pochylenie, podczas gdy żyroskop mierzy szybkość zmiany pochylenia
Rocketmagnet
2

Jeśli udało ci się go ustabilizować w konfiguracji stacjonarnej, tak naprawdę nie widzę, jak trudniej byłoby go ustabilizować dla stałej prędkości. Z punktu widzenia modelu systemu byłoby to skutecznie to samo z pewnymi przesunięciami prędkości. Jeśli przejścia między prędkościami nie są bardzo duże, powinny mieścić się w zakresie naturalnych zaburzeń układu.

Jakob
źródło
2

Potrzebujesz czujników do wykrycia stanu systemu.

Najpierw zlinearyzuj system do postaci przestrzeni stanu, a następnie zastanów się, jakie masz czujniki. Następnie sprawdź, czy można to zaobserwować. Jeśli można to zaobserwować, możesz podać szacowane stany do kontrolera.

Obecnie wygląda na to, że używasz pozycji koła i tylnego pola elektromagnetycznego (prędkości) jako bezpośrednich pomiarów. Bez sprawdzenia macierzy obserwowalności nie jestem pewien, czy system jest obserwowalny.

ronalchn
źródło
2

Matematycznie fakt, że masz teraz rotację (głównie) eliminuje ten parametr jako możliwy parametr kontrolny. Zasadniczo musiałbyś przeprojektować algorytm, aby akceptował duży i zmienny składnik prędkości kątowej, wciąż wykorzystując prędkość kątową w sprzężeniu zwrotnym. Im mniej jest to głośne, tym lepszy jest prawdopodobny wynik po prostu dlatego, że prawdopodobnie zastosujesz różnicę pozycji, aby uzyskać inny parametr kontrolny. A raczej to jest jeden sposób. Wygląda więc na to, że potrzebujesz innego wejścia sterującego, ale nie musi to być akcelerometr. Możesz zrobić horyzont, ustalić położenie znacznika, a nawet czujniki przechyłu.

symbol zastępczy
źródło