Dlaczego mój robot nie jedzie prosto?
Jeśli zaprogramujesz robota, aby jechał prosto, oczekujesz, że właśnie to zrobi. Oto kilka powodów, dla których typowy robot LEGO może nie spełnić tego oczekiwania, oraz kilka sugestii, jak sobie z tym poradzić.
Rozsądne wydaje się oczekiwanie, że kiedy programujesz robota, aby jechał prosto, powinien po prostu działać zgodnie z programem. I oczywiście, do tego służy następujący blok ruchu:
Podobnie jak w przypadku wszystkich bloków ruchu, blok ten wykorzystuje enkodery wału w silnikach i proporcjonalne sprzężenie zwrotne, aby utrzymać parę silników w synchronizacji ze sobą.
Przetestuj to za pomocą prostej podstawy jazdy. Podnieś robota i uruchom program. Podczas działania programu chwyć jedno z kół i zobacz, co dzieje się z drugim. Drugie koło zatrzymuje się, dopóki nie zwolnisz pierwszego koła.
Różowe bloki ruchu ułatwiają programowanie bazy napędowej. Trudniejszą opcją jest użycie niebieskich bloków silnika. Kompromisem dla tej prostoty jest jednak to, że szczegóły synchronizacji silnika (tj. mechanizm proporcjonalnego sprzężenia zwrotnego) są ukryte przed użytkownikiem.
Prawdziwe roboty nie jeżdżą prosto
Wiele lat temu Fred Martin, profesor informatyki na Uniwersytecie Massachusetts Lowell, napisał wnikliwy artykuł pod prowokacyjnym tytułem “Real robots don’t drive straight”
Artykuł Martina porusza ważne pytania dotyczące w szczególności edukacji inżynierskiej i zawodów w robotyce. Koncentrując się na kontroli sprzężenia zwrotnego, bada rolę robotyki w edukacji oraz pedagogiczne wyzwanie, jakim jest rozwój technologii. Twierdzi, że sprzężenie zwrotne jest centralnym procesem nie tylko w naszym życiu, ale także w systemach inżynieryjnych. Informacje zwrotne są wszechobecne, ale często niewidoczne.
„Autonomiczne procesy fizjologiczne, takie jak regulacja temperatury i oddychanie, zachodzą bez naszej świadomej uwagi, podobnie jak wyuczone czynności, takie jak balansowanie i chodzenie”.
Martin podsumowuje, że „z biegiem czasu nasza zdolność do projektowania systemów sprzężenia zwrotnego również stale się poprawiała, do tego stopnia, że pojazdy i procesy, które normalnie byłyby wysoce niestabilne (np. samolot myśliwski), mogą pozornie latać prosto. W praktyce zarówno systemy biologiczne, jak i inżynierskie dokonują ciągłych poprawek, nawet minimalnych do granicy percepcji. Jako edukatorzy musimy wprowadzić uczniów w tę centralną zasadę, a nie ukrywać jej przed nimi. Prawdziwe roboty nie jeżdżą prosto”.
Dlaczego?
Oto kilka powodów, dla których typowy robot LEGO może nie jechać prosto, oraz kilka sugestii, jak sobie z tym poradzić:
- Różnice w wydajności motorycznej. Spróbuj zamienić lub wymienić silniki.
- Kierunek włosia dywanu. Spróbuj uruchomić robota w przeciwnym kierunku lub pod kątem prostym.
- Równowaga / symetria. Sprawdź symetrię pod względem konstrukcji, masy, materiału, kół, osi obrotu i wyważenia.
- Konstrukcja robota. Sprawdź, czy koła są dobrze połączone z osią i ramą, a belki i inne klocki są mocno złączone ze sobą.
- Wyrównanie kółek zębatych. Sprawdź ustawienie wszystkich kółek zębatych. Czy obracają się swobodnie.
- Problemy z początkową trajektorią. Podczas uruchamiania robota spróbuj ustawić krótki czas oczekiwania po naciśnięciu przycisku. Zacznij od małej mocy silnika, później ją zwiększ aby uniknąć skokowego rozruchu.
- Silniki mają niewielki wewnętrzny luz między enkoderami a wałem napędowym, który może wpływać na początkową trajektorię. Zmniejszenie biegów silników zmniejszy wpływ tego problemu.
- Koła lub koła zębate zaczepiają się lub ocierają bardziej z jednej strony niż z drugiej. Sprawdź, czy nie ma zgiętych osi i nieosadzonych opon
- Kurz/brud powodujący utratę przyczepności. Oczyść opony i ewentualnie oczyść podłoże.
- Jest więcej tarcia po jednej stronie niż po drugiej. Czy w połączeniach, w których należy stosować łączniki bez elementów hamujących (beżowe, szare), nie zastosowałeś czarnych lub niebieskich (z elementami hamującymi)?
Lepsze podejście?
Jeśli przyjmiemy, że prawdziwe roboty nie jeżdżą prosto, być może lepszym podejściem jest unikanie stawiania takich wyzwań naszym uczniom? Zamiast tego wykorzystujmy fizyczne granice i informacje z czujników w celu aktualizacji ruchu robotów.
To, czy podejście zawierające analizę informacji zwrotnej jest odpowiednie, oczywiście zależy od tego, jak sformułowane jest wyzwanie. Możesz zastosować jedną lub więcej z następujących strategii:
- Zbuduj szynę, po której porusza się robot.
- Użyj czujnika ultradźwiękowego do jazdy wzdłuż ściany.
- Użyj czujnika światła, aby podążać za linią.
- Śledź trasę za pomocą kompasu i/lub czujnika GPS.
- Użyj nadajnika podczerwieni aby określić kierunek i odległość robota.
- Użyj wbudowanego czujnika żyroskopowego SPIKE Prime Hub aby zachować orientację.
Jak sądzisz?
Czy przegapiliśmy niektóre z powodów, dla których zbudowane przez Ciebie roboty nie jeżdżą prosto?
Czy na swoich lekcjach stosujesz pojęcie informacji zwrotnej?
Na podstawie materiałów LEGO Education
Komentarze