Skocz do zawartości

Jak ułożyć czujniki optyczne do robota follow line?


piotom0

Pomocna odpowiedź

A zastanawialiście się, nad zastosowaniem 5 czujników pod robotem i 5 czujników(lub mniej), wysuniętych z przodu? Dały by z wyprzedzeniem sygnał o ostrości zakrętu, dzięki temu można rozwijać większe prędkości.

Link do komentarza
Share on other sites

A zastanawialiście się, nad zastosowaniem 5 czujników pod robotem i 5 czujników(lub mniej), wysuniętych z przodu? Dały by z wyprzedzeniem sygnał o ostrości zakrętu, dzięki temu można rozwijać większe prędkości.

Wystarczyłoby użyć 5 czujników, ale ustawionych w V (ramionami do przodu). Czujniki z przodu wystarczająco szybko wykrywałyby zmiany w torze.

Link do komentarza
Share on other sites

Niejedna osoba napisze, że nawet z 1 czujnikiem dałoby się przejechać po każdym torze. Tak to jest prawda, ale nie zawsze ten przejazd byłby optymalny i poprawny. Na Bionikaliach były pętle obok głównej trasy, w które robot nie musiał wjeżdżać aby poprawnie ukończyć przejazd. Mając 1 tylko czujnik prawdopodobieństwo, że robot poprawnie zinterpretuje taką pętlę lub skrzyżowanie jest bardzo małe, rzekłbym nawet zerowe.

Ale przecież mając czujnik robot chyba nie jest w stanie stwierdzić czy zakręt jest w lewo czy w prawo, ponieważ dostaje on informacje tylko o tym, że jest lub nie ma linii. Mam rację? Więc dwa to chyba minimum. Ja bym dał 6 czujników w takim ułożeniu:

PS: Przepraszam, nie wiedziałem jak kogoś zacytować, ale teraz już wiem 😉

Link do komentarza
Share on other sites

➡️ Le_Cheque

Zacytowałeś mnie, ale chyba nie przeczytałeś tego co napisałem w tym cytacie. W 100% się z tobą zgadzam. Jednak dodam coś jeszcze jeden czujnik wystarczy na zwykłym torze (zamknięta krzywa) bez żadnych udziwnień w postaci pętli obok głównej trasy, przerw w linii i skrzyżowań. Z tego co wdziałem na filmikach, na bardzo wielu zawodach na świecie jest "zwykły" tor.

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

według mnie 5 czujników to rozsądna ilość, rozmieszczenie najlepiej na lekkim łuku lub w linii prostej. Jeśli chodzi o rozstaw, to jest to parametr zależny od szerokości linii. Ze scalonych optotranzystorów refleksyjnych miałem okazję testować CNY70, ale szczerze mówiąc lepiej według mnie spisuje się zestaw dioda nadawcza + fototranzystor ze względu na możliwość pracy w różnych odległościach od podłoża. Co do metody przetwarzania danych: komparatory są szybsze i można odczytać stan wszystkich czujników naraz ale mamy jedynie informację zero-jedynkową. Wykorzystanie multipleksowanego przetwornika ADC co prawda wiąże się z bardziej skomplikowanym kodem źródłowym i dłuższym odczytem, ale według mnie warto. Problemy pojawiają się przy naprawdę szybkich robotach, wtedy konieczne jest stosowanie regulatorów PID.

Link do komentarza
Share on other sites

Właśnie testuję line followera z pięcioma czujnikami ustawionymi w V, procek to Atmega8 (odczyt z czujników przez przetwornik AD, do tego autokalibracja czujników), znalazło się nawet miejsce na odbiornik podczerwieni 😃 Jak dotąd testy wypadają dość obiecująco, niestety mam za wolne silniki i robot jedzie na maksymalnej prędkości (co wcale nie znaczy, że wolno 🙂 ).

Jeśli znajdę trochę więcej czasu to opublikuję to na forum.

Link do komentarza
Share on other sites

Nie znam assemblera, więc niewiele rozumiem z Twojego kodu. Ja napisałem kod w Bascomie, właściwie tylko przerobiłem kod z TEJ strony (i tu od razu podziękować Jarkowi 🙂 za wytłumaczenie kodu i pomoc przy tym robocie).

Moja autokalibracja polega na tym, że robot obraca się o 90° w prawą stronę, następnie o 180° w lewą i podczas obracania zapisuje najwyższy oraz najniższy stan odczytany przez czujniki, po czym liczy średnią z nawyższego oraz najniższego stanu (czułość ustalana dzielnikiem) a potem znowu o 90° w prawo, podczas jazdy odczytuje stany z czujników i porównuje je ze średnią - jeśli stan jest wyższy od średniej, wtedy robot uznaje, że ten czujnik jest poza linią a jeśli niższy - wtedy czujnik jest nad linią (mówię tu o czarnej linii i białym podłożu).

Link do komentarza
Share on other sites

hehe dobry filmik 😃 a co do autokalibracji to mój robot dostosowuje się co każdy cykl próbkowania sygnału z czujników 😉

Link do komentarza
Share on other sites

w kawałku kartonu wytnij dziurki w miejscu czujników, przejedz takim "układem" przykładowy tor, sprawdź kiedy i jakie czujniki łapią tor a kiedy nie. Ja tak sprawdzałem moje koncepcje co do ustawienia.

Przedni wysunięty czujnik razem ze środkowym powinien pozwolić na sprawne przejechanie prostych...pełna prędkość aż do zgubienia lini tymże czujnikiem. ale raczej nigdy przy takim ustawieniu bocznych czujników nie udało by się dłużej utrzymać jazdy dokładnie wzdłuż lini prostej.... (model, poobracaj na boki..)

rozważone teoretycznie IMO. Nie testowałem więc opinia może być bardzo wątpliwa ;]

Link do komentarza
Share on other sites

A ja myślałem nad jednym czujnikiem umieszonym na obrotowym ramieniu.

Ramie kręciło by się ze stałą prędkością np 300obr/min.

Czyli czujnik zakreślał by koło.

Teraz odczytując wartość czujnika i położenia ramienia mamy praktycznie nieograniczoną rozczielczość czujnika oraz duże pole widzenia.

Oczywiście komplikuje to trochę budowę ale coś za coś

Link do komentarza
Share on other sites

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

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.