Skocz do zawartości

Budowa line followera


Pomocna odpowiedź

Napisano

Witam wszystkich serdecznie, jestem nowy na forum dopiero zaczynam przygodę z robotyką. Przerobiłem kurs elektroniki i arduino dostępne na forbocie i zbudowałem mojego pierwszego robota - światłoluba 🙂

Piszę do was z prośbą o pomoc w budowie mojego kolejnego robota - line followera. Jako, że jestem początkujący, chciałbym użyć arduino. Mam zakupione 2 silniki dc i 4 czujniki IR (z dwoma wyjściami, analogowym i cyfrowym). Bawiłem się już tym trochę i umiem sterować silnikami i odczytywać wartości z czujników. Teraz pozostaje napisanie programu. Chciałbym to zrobić samemu, ale nie wiem na jakiej zasadzie to ma działać.

Tutaj zaczyna się moja wielka prośba do Was, czy ktoś mógłby mi wytłumaczyć jak to ma działać? Jedyne co mi przychodzi do głowy, to jak mamy 2 czujniki to jeśli linia jest pomiędzy nimi - oba silniki się kręcą, jeśli któryś z czujników wykryje linie, to skręcamy (kręci się jeden z silników). Ale takie rozwiązanie nie jest chyba zbyt eleganckie bo robot będzie jeździł jak idiota xd Podobno, aby temu zapobiec należy zastosować regulator pid.

Już kończąc, mógłby mi ktoś wyjaśnić o co chodzi i jak to wykonać? Program już sobie sam napiszę, tylko nie wiem co mam pisać ^^

Z góry dziękuję za wszelką pomoc,

pozdrawiam Sofnir

Regulator pid to swoją drogą ale zacznijmy od większej ilości czujników niż dwa. Już przy 5 można ładnie jeździć. Najpierw po prostu napisz program, żeby robot odbijał się od linii i kierunku czujnika najbardziej środka. Potem możesz się brać za pidy ale zacznij od zrozumienia mechaniki działania linefollowera i poeksperymentuj z takim prostym programem.

Regulator pid to swoją drogą ale zacznijmy od większej ilości czujników niż dwa. Już przy 5 można ładnie jeździć. Najpierw po prostu napisz program, żeby robot odbijał się od linii i kierunku czujnika najbardziej środka. Potem możesz się brać za pidy ale zacznij od zrozumienia mechaniki działania linefollowera i poeksperymentuj z takim prostym programem.

Okej, zacznę od czegoś łatwiejszego, mam 4 takie czujniki, jak myślisz wystarczy na początek? Później mogę jeszcze dokupić. Wytłumacz mi tylko co masz na myśli? Załóżmy, że mam moje 4 czujniki, w jednej linii, rozstawione co jakąś odległość. Podepnę je do pinów cyfrowych (będę dostawał wartości 0 lub 1 dla każdego z nich). Położę robota na kartce i teraz właśnie, jak ten robot ma się zachowywać? Robot ma się odbijać od linii? Czyli ta linia czarna ma być pomiędzy czujnikami, tzn. na środku jest linia, z jej lewej strony 2 czujniki, a z jej prawej też 2 czujniki? Jeśli żaden z czujników nie wykrył czarnej linii to jadę do przodu, jeśli lewy czujnik wykrył to skręcam w prawo, a jeśli prawy to skręcam w lewo? Nie wiem czy to na takiej zasadzie ma działać?

Tylko wtedy po co 5 czujników? Dla opisanego przypadku wystarczą 2 czujniki.

Jeśli nigdzie nie widzisz linii to jedziesz do przodu ile fabryka dała. Jeśli widzisz na którymś bliższym środka linię to lekko zwalniasz a jak na jednym z dalszych to bardziej zwalniasz. Proste? Możesz dowolnie eksperymentować z takim algorytmem.

Jeśli nigdzie nie widzisz linii to jedziesz do przodu ile fabryka dała. Jeśli widzisz na którymś bliższym środka linię to lekko zwalniasz a jak na jednym z dalszych to bardziej zwalniasz. Proste? Możesz dowolnie eksperymentować z takim algorytmem.

Jasne, że proste 🙂

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