Skocz do zawartości

[Test/recenzja] Embedded Linux - test modułu MMnet1001


Elvis

Pomocna odpowiedź

Na potrzeby testów zainstalowałem dystrybucję Ubuntu systemu Linux

Jak wygląda taka instalacja?

Miłośnikom line-followerów też mogłaby się przydać możliwość „widzenia” trasy przed robotem, a nie dopiero po najechaniu na linię.

Tak średnio to widzę. Można pewnie by osiągnąć przy dobrych lotach 25 klatek na sek, a trochę za mało, żeby poprawnie reagować przy wyższych prędkościach. Choć może jestem w błędzie 😉

Link do komentarza
Share on other sites

Ubuntu zainstalowałem oczywiście na PC. Na MMnet1001 działa OpenWRT.

Poprawiłem zdanie w artykule, mam nadzieję, że teraz będzie czytelniej.

Co do tych line-followerów, to oczywiście nie chodziło mi o poleganie tylko na obrazie z kamery. Raczej o zastosowaniu algorytmu z "przewidywaniem". Czyli zwykły line-follower z powiedzmy 5-8 czujnikami odbiciowymi + kamera, żeby z wyprzedzeniem "widzieć" zakręty. Nie mówię, że to będzie działać na 100%, ale wydaje mi się ciekawą koncepcją, a może tematem pracy dyplomowej.

Link do komentarza
Share on other sites

Witam.

Uważam, że układ dwu a nawet wieloprocesorowy jest doskonałym rozwiązaniem w przypadku bardzo wyrafinowanych zadań i skomplikowanych algorytmów.

Dobrym przykładem jest współpraca robotów w grupach i przykładowy projekt SwarmBot,
w którym każdy robot jest sterowany za pomocą układu wieloprocesorowego, w którym

jednostką nadrzędną jest procesor arm (o ile pamiętam pracujący pod linuxem)

natomiast małe procesorki AVR są jednostkami podrzędnymi kontrolującymi określone funkcje robota takie jak ruch kół, akwizycja danych z czujników, komunikacja z innymi robotami itd.

Wykorzystanie tego rozwiązania w prostych linefollowerach, gdzie istotnym jest czas reakcji napędów na informacje z czujników mija się z celem.

Wspomniana przez autora możliwość współpracy procesora z kamerą w linefollowerze nasuwa mi pomysł konstrukcji robota sterowanego za pomocą regulatora PID ale o zmiennych współczynnikach

obliczanych na podstawie krzywizny trajektorii przed robotem (dane z kamery).

Innym rozwiązaniem może być konstrukcja czujnika matrycowego nie złożonego z linijki 5 czujników

ale np 5x5 czujników wykrywających zmianę kierunku linii obsługiwana przez bardzo szybki procesor.

Odnośnie samego artykułu autor bardzo fajnie opisał same moduły. Trochę mało dokładnie ich obsługę, ale nie było jego intencją pisanie ich instrukcji obsługi.

Cenne jest porównanie szybkości działania układu I/O omawianego procesora z typowymi AVRkami

Uważam natomiast, że za mało napisał o możliwych zastosowaniach w robotyce, co sugeruje, zachęcające do przeczytania artykułu pierwsze zdanie.

Elvis Czy masz może zamiar rozszerzyć te informacje w artykule... ?

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

Artykuł miał niestety ustalony deadline - czas na który Propox udostępnił moduł. Jest jednak szansa na ciąg dalszy.

Jak chodzi o kamerkę i PID to dokładnie o coś takiego mi chodziło - AVR sterujący silnikami i wykorzystujący czujniki odbiciowe, a do tego kamerka+linux na potrzeby "przewidywania" tego, co jest przed robotem.

Opis jest nieco pobieżny głównie dlatego, że szczegóły są nieco zawiłe i mało ciekawe. Przykładowo instalacja i konfiguracja tftp, przydzielanie adresów IP itd.

Dopiero teraz dowiedziałem się, że Propox posiada już gotowe, skonfigurowane środowisko Linuxa. Jest to duży plus, sporo czasu można tak zaoszczędzić.

Jak chodzi o ciąg dalszy to planuję uruchomić LCD, karty SD oraz może kodek dźwięku.

Postaram się też podłączyć gotowego robota z AVR poprzez i2c lub uart.

Link do komentarza
Share on other sites

Ja się nad jednym zastanawiam... po co aż taka "armata" do robota ? Przecież to się niebardzo nadaje. Po pierwsze, pobór prądu, o wiele większy niż standardowego uC, rekompensuje to co prawda moc obliczeniowa, ale nie wiem za bardzo do czego jej tu użyć. Po co robotowi np. serwer plików onboard ? Można powiedzieć, że wówczas da się komunikować z robotem przez Internet, ale znów, aby to miało sens, trzeba by zastosować WiFkę na USB, która żre sporo prądu, obsłużyć to, czyli komunikacja Sterownik WiFki <-> MCU <-> układy sterowania i czujników. Pomogło by to w przypadku naprawdę wyrafinowanej konstrukcji.

Link do komentarza
Share on other sites

Z tego co wiem w planach było przetestowania robota z kamerką - jednak było za mało czasu. Może Elvis zajmie się tym przy okazji drugiej części tego artykułu, ale tutaj to już trzeba się jego zapytać 😉

Link do komentarza
Share on other sites

Ostatnio z braku czasu testy musiałem odłożyć.

Jak chodzi o pierwsze pytanie, to u mnie jest jakieś 54MB wolnej pamięci RAM. Do tego 900MB Flash. Więc raczej sporo.

Dostęp do PWM jest przez rejestry, nie znalazłem gotowego modułu w linux-ie. Oczywiście taki moduł można samemu napisać.

Natomiast co do wykorzystania modułu do budowy robota, to na pewno nie jest to temat łatwy i dobry dla początkujących.

Natomiast, czy jest to za duża armata, można polemizować. Jest to na pewno mniejszy kaliber niż montowanie PC w robocie.

Pobór prądu jest całkiem znośny, silniki biorą i tak dużo więcej prądu.

A jeśli jesteśmy minimalistami, to po co w ogóle używać mikrokontrolerów? Większość opisywanych na forum robotów spokojnie poradziłaby sobie bez mikrokontrolera, nawet mostek H nie jest w pełni wykorzystywany.

Moim zdaniem chodzi o poznanie czegoś nowego, zdobycie doświadczenia. Nie tylko budowanie konstrukcji minimalistycznych.

Link do komentarza
Share on other sites

Zaraz tam minimalizm. Cortex-M3 to takie minimum ? Po prostu, dodatkowa warstwa OS na pewno spowalnia procesy decyzyjne i sprawia, że sterowanie staje się mniej efektywne. Chyba, że jest to porządny RTOS, którym OpenWRT nie jest.

Link do komentarza
Share on other sites

Cortex-M3 to ciekawa platforma.

Natomiast linux daje możliwości, których goły RTOS nie oferuje. Wszystko oczywiście można zrobić - linux to też program jak każdy inny. Chodzi raczej o nakład pracy.

Wczoraj się zmobilizowałem i uruchomiłem kamerkę. Przed końcem konkursu artykuł powinien powstać, więc sens wykorzystania linuxa w robocie będzie lepiej widać.

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.