dondu Napisano Grudzień 1, 2010 Udostępnij Napisano Grudzień 1, 2010 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 🙂 Cytuj Link do komentarza Share on other sites More sharing options...
riddyk Grudzień 1, 2010 Udostępnij Grudzień 1, 2010 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. 1 Cytuj Link do komentarza Share on other sites More sharing options...
dondu Grudzień 1, 2010 Autor tematu Udostępnij Grudzień 1, 2010 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ć? Cytuj Link do komentarza Share on other sites More sharing options...
nes86 Grudzień 1, 2010 Udostępnij Grudzień 1, 2010 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 1 Cytuj Link do komentarza Share on other sites More sharing options...
Polecacz 101 Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Zarejestruj się lub zaloguj, aby ukryć tę reklamę. 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
riddyk Grudzień 1, 2010 Udostępnij Grudzień 1, 2010 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ę. 1 Cytuj Link do komentarza Share on other sites More sharing options...
BlackJack Grudzień 4, 2010 Udostępnij Grudzień 4, 2010 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. Cytuj Link do komentarza Share on other sites More sharing options...
dondu Grudzień 4, 2010 Autor tematu Udostępnij Grudzień 4, 2010 No to będziesz miał materiał na nowego robota - APORTer! 🤣 Cytuj Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
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!