Spisu treści:

LEGO jedzie przez labirynt: 9 kroków
LEGO jedzie przez labirynt: 9 kroków

Wideo: LEGO jedzie przez labirynt: 9 kroków

Wideo: LEGO jedzie przez labirynt: 9 kroków
Wideo: Ludzie, którzy zamienili się w zwierzęta 😲🤔 2024, Lipiec
Anonim
Image
Image
Podstawa Robota
Podstawa Robota

Jest to prosty, autonomiczny robot zaprojektowany do przejazdu przez labirynt do wyjścia. Jest zbudowany przy użyciu LEGO Mindstorms EV3. Oprogramowanie EV3 działa na komputerze i generuje program, który jest następnie przesyłany do mikrokontrolera zwanego klockiem EV3. Metoda programowania jest oparta na ikonach i na wysokim poziomie. Jest bardzo łatwy i wszechstronny.

CZĘŚCI

  1. Zestaw LEGO Mindstorms EV3
  2. Czujnik ultradźwiękowy LEGO Mindstorms EV3. Nie znajduje się w zestawie EV3.
  3. Tektura falista do labiryntu. Powinny wystarczyć dwa kartoniki.
  4. Mały kawałek cienkiego kartonu, który pomaga ustabilizować niektóre narożniki i ściany.
  5. Klej i taśmę do łączenia kawałków tektury.
  6. Czerwona koperta na kartkę z życzeniami identyfikująca wyjście z labiryntu.

NARZĘDZIA

  1. Nóż uniwersalny do cięcia kartonu.
  2. Linijka stalowa wspomagająca proces cięcia.

METODA ROZWIĄZYWANIA LABIRYNTU

Istnieje kilka metod poruszania się po labiryncie. Jeśli jesteś zainteresowany ich badaniem, są one bardzo dobrze opisane w następującym artykule Wikipedii:

Wybrałem zasadę podążania za ścianą po lewej stronie. Pomysł polega na tym, że robot będzie trzymał ścianę po lewej stronie, podejmując następujące decyzje podczas przechodzenia przez labirynt:

  1. Jeśli możesz skręcić w lewo, zrób to.
  2. W przeciwnym razie idź prosto, jeśli to możliwe.
  3. Jeśli nie może iść w lewo lub prosto, skręć w prawo, jeśli to możliwe.
  4. Jeśli żadne z powyższych nie jest możliwe, musi to być ślepy zaułek. Obróć się.

Jedna uwaga jest taka, że metoda może się nie powieść, jeśli labirynt ma w sobie pętlę. W zależności od umiejscowienia pętli robot może poruszać się wokół pętli i wokół niej. Możliwym rozwiązaniem tego problemu byłoby przełączenie robota na prawą regułę podążania za ścianą, gdyby zorientował się, że porusza się w pętli. Nie uwzględniłem tego udoskonalenia w moim projekcie.

KROKI BUDOWY ROBOTA

Chociaż LEGO Mindstorms EV3 jest bardzo wszechstronny, pozwala na podłączenie nie więcej niż jednego czujnika każdego typu do jednego klocka. Co najmniej dwa klocki można było połączyć łańcuchowo, ale nie chciałem kupować kolejnego, dlatego użyłem następujących czujników (zamiast trzech czujników ultradźwiękowych): czujnika podczerwieni, czujnika koloru i czujnika ultradźwiękowego. Udało się to dobrze. Pary zdjęć poniżej pokazują, jak zbudować robota. Pierwsze zdjęcie każdej pary pokazuje potrzebne części, a drugie zdjęcie pokazuje te same części połączone ze sobą.

Krok 1: Podstawa robota

Podstawa Robota
Podstawa Robota

Pierwszym krokiem jest zbudowanie podstawy robota z przedstawionych części. Podstawa robota jest odwrócona. Mała część w kształcie litery L z tyłu robota stanowi podparcie dla pleców. Ślizga się, gdy robot się porusza. To działa dobrze. Zestaw EV3 nie posiada części typu tocząca się kula.

Krok 2: Wierzch podstawy

Wierzchołek bazy
Wierzchołek bazy
Wierzchołek bazy
Wierzchołek bazy
Wierzchołek bazy
Wierzchołek bazy

Kolejne 3 kroki dotyczą górnej części podstawy robota, czujnika koloru i kabli, które są wszystkimi 10-calowymi (26 cm) kablami

Krok 3: Czujniki podczerwieni i ultradźwiękowe

Czujniki podczerwieni i ultradźwiękowe
Czujniki podczerwieni i ultradźwiękowe
Czujniki podczerwieni i ultradźwiękowe
Czujniki podczerwieni i ultradźwiękowe

Dalej są czujnik podczerwieni (po lewej stronie robota) i czujnik ultradźwiękowy (po prawej). Również 4 szpilki do mocowania klocka na górze.

Czujniki podczerwieni i ultradźwiękowe są umieszczone pionowo zamiast normalnego poziomego. Zapewnia to lepszą identyfikację narożników lub końców ścian.

Krok 4: Kable

Kable
Kable

Zamocuj klocek i podłącz kable w następujący sposób:

  • Port B: lewy duży silnik.
  • Port C: prawy duży silnik.
  • Port 2: czujnik ultradźwiękowy.
  • Port 3: czujnik koloru.
  • Port 4: czujnik podczerwieni.

Krok 5: Ostatni krok w budowie robota: dekoracja

Ostatni krok w budowie robota: dekoracja
Ostatni krok w budowie robota: dekoracja
Ostatni krok w budowie robota: dekoracja
Ostatni krok w budowie robota: dekoracja
Ostatni krok w budowie robota: dekoracja
Ostatni krok w budowie robota: dekoracja

Skrzydła i płetwy służą wyłącznie do dekoracji.

Krok 6: Pseudokod programu

  1. Poczekaj 3 sekundy i powiedz „Idź”.
  2. Uruchom robota jadącego na wprost.
  3. Jeśli można skręcić w lewo (tj. jeśli czujnik podczerwieni nie wykryje pobliskiego obiektu), powiedz „W lewo” i idź w lewo.
  4. Idź do przodu około 6 cali (15 cm), aby uniknąć fałszywego skrętu w lewo. Powodem jest to, że po obróceniu się robota czujnik widziałby długą przestrzeń, z której właśnie wyszedł, a robot pomyślałby, że powinien skręcić w lewo, co nie jest właściwe. Wróć do kroku 2.
  5. Jeśli nie możesz skręcić w lewo, sprawdź, co czujnik koloru widzi przed robotem.
  6. Jeśli nie ma koloru (tj. brak obiektu), wróć do kroku 2.
  7. Jeśli kolor jest czerwony, to jest wyjście. Zatrzymaj robota, zagraj fanfarę i zatrzymaj program.
  8. Jeśli kolor jest brązowy (tj. brązowy karton z przodu), zatrzymaj robota.

    1. Jeśli można skręcić w prawo (tj. jeśli czujnik ultradźwiękowy nie wykryje pobliskiego obiektu), powiedz „W prawo” i idź w prawo. Wróć do kroku 2.
    2. Jeśli nie możesz skręcić w prawo, powiedz „Uh-oh”, cofnij się o około 5 cali (12,5 cm) i odwróć się. Wróć do kroku 2.

Krok 7: Program

Program
Program

LEGO Mindstorms EV3 ma bardzo wygodną metodę programowania opartą na ikonach. Bloki są wyświetlane na dole ekranu komputera i można je przeciągać i upuszczać w oknie programowania, aby zbudować program. Zrzut ekranu przedstawia program dla tego projektu. Bloki są opisane w następnym kroku.

Nie mogłem wymyślić, jak skonfigurować pobieranie programu dla was, więc bloki są opisane w następnym kroku. Każdy blok ma opcje i parametry. Jest bardzo łatwy i wszechstronny. Opracowanie programu i/lub dostosowanie go do własnych potrzeb nie powinno zająć dużo czasu. Jak zawsze, warto okresowo zapisywać program podczas jego tworzenia.

Klocek EV3 Brick można podłączyć do komputera za pomocą kabla USB, Wi-Fi lub Bluetooth. Gdy jest podłączony i włączony, jest to sygnalizowane w małym oknie w prawym dolnym rogu okna EV3 na komputerze. „EV3” po prawej stronie zmienia kolor na czerwony. Gdy ten wyświetlacz jest ustawiony na widok portu, pokazuje w czasie rzeczywistym, co wykrywa każdy czujnik. Jest to przydatne do eksperymentowania.

Podczas budowania tego programu sugerowałbym pracę od lewej do prawej i od góry do dołu oraz powiększanie bloków pętli i przełączania przed przeciągnięciem innych bloków do środka. Natknąłem się na kłopotliwe problemy, próbując wstawić dodatkowe bloki do środka przed powiększeniem.

Krok 8: Bloki programu

  1. Zaczynając od lewej strony programu, blok startowy pojawia się automatycznie, gdy program jest rozwijany.
  2. Dalej jest Wait Block, który daje nam 3 sekundy na umieszczenie robota przy wejściu do labiryntu, po uruchomieniu programu.
  3. Sound Block sprawia, że robot mówi „Idź”.
  4. Blok pętli zawiera większość programu. Obraz powinien być pomniejszony 4 lub 5 razy, a ten blok pętli powinien zostać powiększony prawie do prawej krawędzi płótna programowania przed rozpoczęciem wstawiania bloków. Można go później zmniejszyć.
  5. Pierwszy blok wewnątrz pętli to blok sterowania ruchem z ustawieniem sterowania na zero i mocą ustawioną na 20. To uruchamia silniki na wprost z niską prędkością. Większa prędkość spowodowałaby, że robot posunąłby się za daleko, gdy kontynuowałby do przodu podczas mówienia w kolejnych krokach.
  6. Blok przełącznika w trybie zbliżeniowym czujnika podczerwieni sprawdza, czy w odległości większej niż 30 znajduje się jakiś obiekt. Jest to odpowiednik około 9 cali (23 cm) w przypadku brązowej tektury. Jeżeli wartość jest większa niż 30, to wykonywane są bloki 7, 8 i 9, w przeciwnym razie program przechodzi do bloku 10 poniżej.
  7. Sound Block sprawia, że robot mówi „W lewo”.
  8. Blok sterowania ruchem ze sterowaniem ustawionym na -45, mocą ustawioną na 20, rotacjami ustawioną na 1,26 i hamulcem na końcu ustawioną na Prawda. To sprawia, że robot skręca w lewo.
  9. Blok sterowania ruchem z opcją Sterowanie ustawioną na zero, Moc ustawioną na 20, Obroty ustawioną na 1.2 i Hamulec na końcu ustawioną na Prawda. To sprawia, że robot idzie do przodu o około 15 cm, aby uniknąć fałszywego skrętu w lewo.
  10. Blok przełącznika w trybie pomiaru koloru czujnika koloru sprawdza, jaki kolor jest przed robotem. Jeśli nie ma koloru (tzn. obiektu), program przechodzi do końca pętli. Jeśli kolor jest czerwony, to bloki 11, 12 i 13 są wykonywane. Jeśli kolor jest brązowy, program przechodzi do bloku 14 poniżej.
  11. Przesuń blok sterowania w trybie wyłączenia, aby zatrzymać silniki.
  12. Sound Block gra fanfary.
  13. Blok przerwań pętli opuszcza pętlę.
  14. Przesuń blok sterowania w trybie wyłączenia, aby zatrzymać silniki.
  15. Blok przełącznika w trybie porównania czujników ultradźwiękowych w calach odległości sprawdza, czy w odległości większej niż 8 cali (20 cm) znajduje się jakiś obiekt. Jeśli ma więcej niż 8 cali, wykonywane są bloki 16 i 17, w przeciwnym razie program przechodzi do bloku 18 poniżej.
  16. Sound Block sprawia, że robot mówi „Dobrze”.
  17. Blok sterowania ruchem z opcją Sterowanie ustawioną na -55, Moc ustawioną na -20, Obroty ustawioną na 1,1 i Hamulec na końcu ustawioną na Prawda. To sprawia, że robot skręca w prawo.
  18. Sound Block sprawia, że robot mówi „Uh-oh”.
  19. Move Tank Block z Power Left ustawioną na -20, Power Right ustawioną na -20, Rotations ustawioną na 1 i Brake at End ustawioną na True. To sprawia, że robot cofa się o około 5 cali (12,5 cm), aby zrobić miejsce do zawrócenia.
  20. Move Tank Block z Power Left ustawioną na -20, Power Right ustawioną na 20, Rotations ustawioną na 1.14 i Brake at End ustawioną na True. To sprawia, że robot się odwraca.
  21. Na wyjściu z pętli znajduje się blok programu zatrzymania.

Krok 9: ZBUDUJ Labirynt

ZBUDUJ Labirynt
ZBUDUJ Labirynt
ZBUDUJ Labirynt
ZBUDUJ Labirynt
ZBUDUJ Labirynt
ZBUDUJ Labirynt

Dwa kartony z tektury falistej powinny wystarczyć na labirynt. Wykonałem ściany labiryntu o wysokości 5 cali (12,5 cm), ale 4 cale (10 cm) powinny działać równie dobrze, jeśli brakuje Ci tektury falistej.

Najpierw wycinam ścianki kartonów, 10 cali (25 cm) od dołu. Następnie przeciąłem ściany 5 cali od dołu. Zapewnia to kilka 5-calowych ścian. Ponadto wycinam dna kartonów, pozostawiając około 2,5 cm przymocowane do ścian, aby zapewnić stabilność.

Poszczególne elementy można wyciąć i skleić lub przykleić taśmą w dowolnym miejscu, aby utworzyć labirynt. Pomiędzy ścianami na każdej ścieżce ze ślepym zaułkiem powinien być odstęp 12 cali (30 cm). Ta odległość jest potrzebna, aby robot mógł się obrócić.

Niektóre narożniki labiryntu mogą wymagać wzmocnienia, a niektóre proste ściany muszą być zabezpieczone przed wygięciem, jeśli zawierają wyprostowany narożnik kartonu. W tych miejscach od spodu należy przykleić małe kawałki cienkiej tektury, jak pokazano na rysunku.

Wyjście ma czerwoną barierkę składającą się z połowy czerwonej koperty na kartkę z życzeniami i podstawy wykonanej z 2 kawałków cienkiego kartonu, jak pokazano.

Jedna uwaga jest taka, że labirynt nie powinien być duży. Jeśli obroty robota są pod niewielkim kątem od właściwego, rozbieżności sumują się po kilku obrotach. Na przykład, jeśli skręt w lewo jest o 3 stopnie, to po 5 skrętach w lewo robot schodzi o 15 stopni. Duży labirynt miałby więcej zakrętów i dłuższą ścieżkę niż mały, a robot mógłby wbiegać w ściany. Musiałem kilka razy bawić się ustawieniami obrotów zakrętów, aby uzyskać udaną jazdę nawet przez mały labirynt, który zrobiłem.

PRZYSZŁE ROZSZERZENIA

Oczywistym projektem kontynuacyjnym jest sprawienie, aby robot był w stanie określić bezpośrednią ścieżkę przez labirynt podczas nawigowania nim, a następnie przejechać tą bezpośrednią ścieżką (unikając ślepych zaułków) zaraz po tym.

To znacznie bardziej skomplikowane niż obecny projekt. Robot musi zapamiętać drogę, którą przebył, usunąć ślepe zaułki, zapisać nową ścieżkę, a następnie podążać nową ścieżką. Planuję pracować nad tym projektem w najbliższej przyszłości. Spodziewam się, że można to osiągnąć z LEGO Mindstorms EV3 za pomocą bloków Array Operations Blocks i niektórych bloków związanych z matematyką.

UWAGA KOŃCOWA

To był fajny projekt. Mam nadzieję, że tobie też się spodoba.

Zalecana: