Skocz do zawartości

Dobre praktyki przy sterowaniu szybkim robotem kołowym


dondu

Pomocna odpowiedź

Witam serdecznie,

Jako nowicjusz w branży robotów z byle czego (mój z 2 walkmanów) chciałbym poradzić się Was w sprawie "dobrych praktyk" przy wyborze rozwiązania (algorytmu) poruszania się robota.

Mam robota 3 kołowego (2 koła napędzane osobnymi silniczkami DC + trzecie koło obrotowe.

Wszystko działa prawidłowo - bączki kręci dość sprawnie - prostą trzyma wystarczająco dokładnie (choć silniczki dwóch różnych producentów).

Jestem na etapie planowania algorytmu poruszania się robota w pierwszym etapie na zasadzie:

- jedź do przodu skręcając losowo co jakiś czas

- gdy dojdziesz do przeszkody (wąsy) zawróć i uciekaj!

- w trakcie poruszania się mogą zajść nieprzewidziane wydarzenia np. ktoś klaśnie dłońmi co ma wywołać u niego np. reakcje w postaci ucieczki.

Oczywiście dalej będzie bardziej skomplikowane poruszanie się i dojdą czujniki różnych maści, dlatego chcę od początku wybrać właściwe podejście od strony programowej.

Teraz muszę podjąć decyzję, jak zorganizować sobie algorytm poruszania się.

Z powodów technicznych układu jezdnego prosty rozkaz wykonania np. skrętu w prawo wiąże się z kilkoma czynnościami:

1. zatrzymaj silniki,
2. poczekaj aż prędkość spadnie,
3. przełącz sterownik i daj pełną moc na 80 ms by ruszyć

4. zmniejsz moc kontynuując skręt

....

O co właściwie pytam?

Czy w swoich rozwiązaniach stosujecie jakieś kolejkowanie rozkazów do wykonania?

Ponieważ to mój dziewiczy projekt wymyśliłem sobie, że taka kolejka może być bardzo pomocnym narzędziem przy optymalizacji działania robota (wiele czynności na raz: czujniki, dźwięki, itp).

Kolejkę zawsze łatwo zatrzymać i usunąć z niej zadania do realizacji gdy wystąpi np. moment wystraszenia robota, i załadować rozkazami panicznej ucieczki.

A może są inne metody?

Czekam na Wasze zdanie - z góry dziękuję.

Choć to raczej nie istotne ale podam:

- ATMega8

- język C

- radzę sobie nieźle 🙂

Link do komentarza
Share on other sites

Do algorytmu sterowania wrzuć jakiś regulator z sprzężeniem wzrotnym np. enkoderem, ewentualnie pomiarem prądu silnika.

Regulatory np:

-2-stanowy (nie wymaga sprzeżenia zwrotnego)

-n-stanowy (na PWM)

-korekta charakterystyki (nie wymaga sprzeżenia zwrotnego)

-P

-I

-PI

-PD

-PID

Kolejkowanie dobre, ale przy początkach z robotami.

[ Dodano: 01-12-2010, 09:10 ]

Bądź przy nietypowych zachowaniach np. omijanie przeszkód.

  • Lubię! 1
Link do komentarza
Share on other sites

Do algorytmu sterowania wrzuć jakiś regulator z sprzężeniem wzrotnym ...

Ok, poczytałem o regulatorach.

Czy miałeś na myśli regulator realizowany programowo (na bazie informacji ze sprzężenia zwrotnego np. ilości obrotów poszczególnych kół napędowych), czy regulator elektroniczny?

Stosuję do silników układ mostka H (LB1848M) wyciągnięty ze starej stacji FDD: http://www.alldatasheet.net/datasheet-pdf/pdf/40557/SANYO/LB1848M.htm

Nie zawiera możliwości pomiaru np. natężenia prądu.

Ale za to przewiduję pomiar obrotów za pomocą hallotronów z tej samej stacji FDD 🙂

Więc programowo taki regulator będzie przeze mnie realizowany.

Bardziiej mnie interesuje ten wątek:

Kolejkowanie dobre, ale przy początkach z robotami ... bądź przy nietypowych zachowaniach np. omijanie przeszkód.

Czy mam rozumieć, że są inne zasady (algorytmy) postępowania zamiast kolejkowania rozkazów? Jakieś podpowiedzi czego mam szukać?

Link do komentarza
Share on other sites

Czy miałeś na myśli regulator realizowany programowo (na bazie informacji ze sprzężenia zwrotnego np. ilości obrotów poszczególnych kół napędowych), czy regulator elektroniczny?

Chodzi oczywiście o regulator realizowany programowo.

Czy mam rozumieć, że są inne zasady (algorytmy) postępowania zamiast kolejkowania rozkazów? Jakieś podpowiedzi czego mam szukać?

Przeczytaj sobie o oprogramowaniu robota Shine z tego PDFa:

http://konar.pwr.wroc.pl/uploads/download/raporty/00raport.pdf

  • Lubię! 1
Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Mam na myśli regulator realizowany programowo z urzyciem sprzężenia zwrotnego. Atmega steruje wartością prędkości za pomocą wartości napięcia ustawianego za pomocą PWM (lub po polsku MSI). Pomiar prądu można zrobić za pomoca bocznika przy silniku, bądź mieżąc faktyczną wartość napięcia na silniku.

Mostek jest tylko elementem wykonawczym.

Jak najbardziej można urzyć czujnika halotronowego od pomiaru prędkości.

Jeśli założysz, że parametrem sterowanym jest prędkość robota + kąt skrętu. To program realizujesz za pomocą regulatora, bez kolejkowania bo to wykonuje regulator (podprogram).

A jeśli regulujesz wartością napięcia 2 silników, to musisz kolejkować, bo inaczej tego nie zrobisz.

A jeśli masz robota LF omijający przeszkody np. cegłę na trasie, to warto jest zrobić dla niego podprogram który omija cegłę, niż do równań regulatora dołożyć, koleje równania omijające tą przeszkodę.

  • Pomogłeś! 1
Link do komentarza
Share on other sites

Apropo algorytmów sterowania, to na spacerze dzisiaj ciekawie natchnął mnie mój pies. Otóż na śniegu fajnie widać ślady, a on uwielbia jak rzuca się mu patyk. Już jakiś czas temu zacząłem się zastanawiać obserwując go na jakiej zasadzie szuka go w trawie, i to co na pierwszy rzut oka wygląda na chaotyczne bieganie, wcale nim nie jest. Muszę zrobić eksperymenty, w miejscu gdzie jeszcze śnieg jest świeży, i mu porzucać, a potem nagrać jego wyczyny, i przeanalizować po tropach jego algortym przeszukiwania. Mogą z tego być ciekawe wnioski, przydatne w robotyce np. gdy robot będzie miał tryb eksploracji otoczenia.

Inna ciekawa rzecz jaka zauważyłem spacerując po lesie (tak las zimą jest piękny), to to że zwierzęta chodząc nie zależnie czy droga jest prosta jak linijka, czy nie, zostawiają trasę w kształcie sonisuidy.

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

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