Lego Mindstorms EV3 i środowisko ev3dev

Cel ćwiczenia

Zapoznanie się z elementami LEGO Mindstorms EV3 oraz oprogramowaniem sterującym.

Oprogramowanie Mindstorms EDU

  1. Zapoznaj się z prezentacją na google classroom

  2. Uruchom program Mindstorms, zapoznaj się z poszczególnymi ekranami (lobby, okno projektu, okno programowania)

  3. Podłącz brick, upewnij się, że jest zainstalowany najnowszy firmware (w razie potrzeby zainstaluj)

  4. Przetestuj działanie poszczególnych czujników i silników a także wyświetlanie tekstu na ekranie i sterowanie LEDami.

  5. Napisz przykładowy program sterujący robotem. Robot ma jechać do przodu, a jeśli zbliży się do przeszkody na odległość mniejszą niż założona (np. 50 albo 30cm), to ma skręcić o zadany (albo losowy) kąt. Inny przykład: robot utrzymujący się na stole – jeśli dojedzie do krawędzi stołu, to wycofuje się i skręca.

Instalacja ev3dev

  1. Przygotuj czystą kartę mikroSD (jeśli nie masz karty, to możesz wypożyczyć u prowadzącego – liczba kart mocno ograniczona!).

  2. Ze strony projektu ev3dev lub bezpośrednio z repozytorium GitHub pobierz najnowszą wersję oprogramowania stretch/beta (Uwaga! użyj właściwego pliku dla odpowiedniej platformy sprzętowej z nazwą zaczynającą się od ev3-). Rozpakuj pobrane archiwum.

  3. Przenieś system z pliku obrazu na kartę. Nie używaj polecenia kopiowania. Pod linuksem użyj polecenia dd if=plik.img of=/dev/xxx bs=4M zastępując /dev/xxx urządzeniem właściwym dla karty pamięci (można to sprawdzić poleceniem df -h). Podczas kopiowania karta powinna być odmontowana. Pod windows należy użyć odpowiedniego programu, np. Etcher lub Win32DiskImager.

  4. Włóż kartę do slotu z boku bricka EV3 i włącz zasilanie. Na ekranie powinien pojawić się obraz ładowania LEGO a LEDy powinny zaświecić na czerwono. Po krótkiej chwili na ekranie pojawi się obraz ładowania ev3dev a LED zmieni kolor na pomarańczowy. Przy pierwszym uruchomieniu po jakimś czasie ekran się wygasi, po następnej minucie-dwóch pojawi się napis brickman loading… oraz stan baterii (jeśli napięcie spadnie poniżej 5V ev3dev automatycznie się wyłączy).

Konfigurowanie połączenia sieciowego

  1. Połącz brick EV3 z komputerem przy pomocy kabla USB.

  2. Jeśli używasz swojego komputera/laptopa, skonfiguruj go zgodnie z opisem na stronie projektu ev3dev.

  3. W brickmanie wybierz Networking, następnie Manage connections… i Wired

  4. Przejdź do zakładki IPv4 i wybierz Change…

  5. Wczytaj wartości domyślne odpowiednie dla używanego systemu operacyjnego.

  6. W zakładce Conn. zaznacz Connect automatically a następnie włącz połączenie przyciskiem Connect. Stan połączenia powinien zmienić się na Online.

  7. Wróć do zakładki IPv4 i zanotuj przydzielony adres IP.

  8. Na komputerze uruchom terminal (linux) lub putty (windows) i nawiąż połączenie ssh z EV3.

  9. W nowszych wersjach (od grudnia 2015) jest już domyślny użytkownik robot z hasłem maker. Jeśli używasz starszej wersji, to wykonaj poniższe kroki:

  10. Zaloguj się jako root z hasłem r00tme.

  11. Utwórz nowego użytkownika poleceniem adduser nazwa_konta.

  12. Przydziel użytkownika do grup poleceniem usermod -a -G sudo,ev3dev,plugdev,audio,video,input,bluetooth,i2c nazwa_konta (gdzie nazwa_konta jest wybranym loginem).

Przykładowy kod

  1. Otwórz repozytorium projektu ev3dev-lang-python.

  2. Zapoznaj się z plikiem Readme.

  3. Podłącz poszczególne urządzenia i wykonaj przykładowe programy.

  4. Spróbuj napisać w pythonie te same przykłady, które działały w programie Mindstorms EDU.

Uwaga! W najnowszych wersjach projekt wspiera wyłącznie Pythona w wersji 3!

Dokumentacja projektu dostępna jest pod http://python-ev3dev.readthedocs.io/.

Jest też dostępna strona z samouczkami http://www.ev3python.com/.

Next Section - Robot śledzący linię