Roboty z klocków

Chcesz mieć robota, który będzie ci serwował ulubiony napój? Zrób go sobie sam! W jeden wieczór, z dobrze znanych klocków.

Chcesz mieć robota, który będzie ci serwował ulubiony napój? Zrób go sobie sam! W jeden wieczór, z dobrze znanych klocków.

Pozornie myśl o konstruowaniu własnego robota w warunkach domowych może się wydawać niedorzeczna. Przecież podjęcie takiego wyzwania wymaga dostępu do technologii dostępnych raczej w profesjonalnych laboratoriach, a nie w szafce Kowalskiego. Tymczasem okazuje się, że jest to całkowicie błędne przekonanie. Dostęp do zaawansowanych technologii tworzenia robotów daje każdemu firma Lego, mylnie kojarzona wyłącznie z klockami dla dzieci. Okazuje się, że w ofercie tego producenta znajdują się również zabawki dla całkiem dużych dzieci. Zbliżający się Dzień Dziecka to idealna okazja, żeby tę ofertę nieco przybliżyć.

Roboty z klocków

Nasz przykładowy robot to lekko zmodyfikowana konstrukcja, opisana w podręczniku pod nazwą Roverbot. Wyposażona jest w czujnik kolizji i czujnik światła, wykrywający krawędź stołu.

Nasz przykładowy robot to lekko zmodyfikowana konstrukcja, opisana w podręczniku pod nazwą Roverbot. Wyposażona jest w czujnik kolizji i czujnik światła, wykrywający krawędź stołu.

Wśród różnych mniej i bardziej zaawansowanych zestawów klocków lego znalazła się specjalna, najbardziej rozwinięta seria Mindstorms, a w niej zestaw Robotics Invention System 2.0. Służy do tworzenia konstrukcji robotów, które dzięki specjalnemu systemowi można programować za pomocą komputera. Wyjaśniając całą ideę w największym skrócie: sercem każdego robota jest specjalny moduł RCX - mała skrzynka, pełniąca funkcję komputera pokładowego, czyli mózgu robota. Moduł RCX wyposażony jest w trzy złącza do sterowania pracą silników i trzy złącza do czujników zewnętrznych, m.in. wykrywających zderzenia bądź zmianę natężenia światła. Poprzez wbudowany w RCX port podczerwony przesyłane są do pamięci robota specjalne programy, które jego twórca przygotowuje w odpowiedniej aplikacji, działającej pod kontrolą systemu Windows.

Programy te pozwalają sterować praktycznie każdym elementem robota. Najważniejsza jest, oczywiście, kontrola pracy silników oraz reakcja na zdarzenia rejestrowane przez czujniki. System programistyczny firmy Lego pozwala tworzyć logiczne rozgałęzienia oraz pętle, dzięki czemu możliwe jest tworzenie skomplikowanych opisów zachowania robota w zależności od sytuacji, jaką napotyka.

Na tej podstawie wykorzystuje się następnie cały zestaw klasycznych klocków, takich jak znany Technics, które pozwalają tworzyć skomplikowane mechanizmy przekazywania ruchu. Mamy do dyspozycji wszelkiego rodzaju przekładnie, łącznie ze ślimakowymi i kątowymi, paski napędowe, przenoszące napęd na duże odległości, różnej długości osie, tuleje i proste łożyska. Oczywiście do budowania konstrukcji możemy wykorzystać też najbardziej klasyczne klocki - mniejsze i większe, grubsze i cieńsze bloki itd. W opisywanym zestawie znajduje się w sumie ponad 700 elementów, ale jeśli dysponujesz innymi zestawami klocków lego, będziesz mógł je bez problemu wykorzystać do budowania większych, bardziej rozbudowanych modeli. Szczególnie mogą się przydać wszelkiego rodzaju układy pneumatyczne, które pozwalają tworzyć roboty wykonujące bardzo skomplikowane ruchy.

Trudności w praktyce

Wyszukanie odpowiedniego elementu wśród takiej rozmaitości bywa dość trudne, zwłaszcza na początku.

Wyszukanie odpowiedniego elementu wśród takiej rozmaitości bywa dość trudne, zwłaszcza na początku.

Choć klocki lego słyną ze swojej prostoty, zbudowanie działającego, rozbudowanego robota może się wydawać wciąż bardzo poważnym wyzwaniem, przede wszystkim koncepcyjnym. Pomijając osoby, które mają w tym względzie specjalne przygotowanie, wyobrażenie sobie całej konstrukcji, a następnie jej szczegółowe zaplanowanie wymaga znacznego wysiłku intelektualnego. Trzeba zdawać sobie sprawę z zależności, jakie łączą ze sobą poszczególne elementy i z konsekwencji zastosowania jednego zamiast drugiego rozwiązania.

Oczywiście najprostsze konstrukcje, np. czterokołowe pojazdy z czujnikiem zderzenia, tworzy się stosunkowo łatwo. Warto jednak zajrzeć na stronę internetową firmy Lego i obejrzeć, jak skomplikowane dzieła tworzą najwięksi zapaleńcy. Wystarczy wymienić kilka - model ręki sterowanej ręką ludzką, odtwarzający szczegółowo ruch każdego palca. System grający w grę, polegającą na łączeniu czterech pionków pionowo, poziomo lub na ukos - skanuje planszę, ustawia pionki i oczywiście podejmuje decyzje o strategii. Roboty grające ze sobą w piłkę. Te przykłady powinny uzmysłowić potencjał, ale też skalę trudności.

Na szczęście podstawowy zestaw został tak przygotowany, aby użytkownika wprowadzić w świat robotów za rękę i maksymalnie bezboleśnie. Pomaga w tym świetna dokumentacja, przetłumaczona starannie na język polski. Opisuje w szczegółach konstrukcję kilku przykładowych robotów, poczynając od najprostszych, a kończąc na całkiem skomplikowanych, wielofunkcyjnych. Składając te roboty na podstawie szczegółowych wskazówek, możemy się nauczyć podstawowych zasad i mechanizmów i wykorzystać je później we własnych projektach. Największym problemem podczas budowy przykładowych robotów jest odnalezienie właściwych elementów w gąszczu innych, zwłaszcza że wiele z nich różni się tylko drobnymi szczegółami, np. długością. Gdy uda się je zgromadzić, postępowanie zgodnie ze wskazówkami nie nastręcza najmniejszych trudności.

Do tego dochodzi, oczywiście, płyta z oprogramowaniem. Poznanie zasad programowania robotów umożliwia nam niezwykle interesujący i systematycznie prowadzony zestaw interaktywnych prezentacji, w trakcie których możemy od razu testować działanie wszystkich poleceń i algorytmów. Niestety, tkwi tu pewien haczyk - wszystkie prezentacje prowadzone są przez narratora, który posługuje się piękną... angielszczyzną. Dla wielu użytkowników może to być bardzo poważna przeszkoda, zwłaszcza że w całym zestawie nie ma ani słowa po polsku o programowaniu robotów. Szkoda, bo wprawdzie interfejs programu jest bardzo prosty, ale odkrycie kilku co najmniej sztuczek nie będzie proste bez zapoznania się z prezentacjami.

Same programy przesyłane są do robotów z wykorzystaniem specjalnej wieży z portem podczerwonym, podłączanej do komputera przez USB. Zasięg tej wieży jest dość dobry i w komunikacji zwykle nie przeszkadza nawet mocno rozbudowana konstrukcja robota.

Podstawowe porady

Budując własnego robota, warto pamiętać o kilku wskazówkach, które sprawią, że szybciej osiągniemy pożądane rezultaty.

Niezwykle istotne jest prawidłowe podłączenie przewodów kontrolek modułu RCX do silników. Chodzi o prawidłowe ustawienie kabli - podłączając je niewłaściwie, możemy spowodować, że jedno koło będzie się kręciło do przodu, drugie zaś do tyłu, podczas gdy obydwa powinny pracować w tym samym kierunku. W przypadku silników umieszczonych symetrycznie jest to prawie oczywiste, ale jeśli budujemy nietypową konstrukcję, łatwo się pomylić.

Podczas testowania robota ze skomplikowanym programem przydaje się przycisk View, umieszczony na obudowie modułu RCX. Przyciskając go, możemy kolejno odczytać na wyświetlaczu LCD stan wszystkich czujników (np. natężenie światła) i instrukcje przekazywane do silników (czyli w zasadzie prędkość, z jaką mają pracować). Jeśli robot zachowuje się nieprawidłowo, np. nie reaguje na zderzenia pomimo zainstalowania czujnika, można sprawdzić, czy sygnały są prawidłowo odczytywane.

Budując wszelkiego rodzaju pojazdy kołowe, należy mieć w pamięci podstawowe zasady związane z działaniami przekładni, znane chociażby z roweru z przerzutkami. Generalnie: im koło zębate podłączone do napędu jest większe, a drugie, podłączone do faktycznego koła - mniejsze, tym mniejsza będzie prędkość pojazdu, ale większa zdolność do pokonywania trudnego terenu. I odwrotnie - duża przekładnia przy napędzie, podłączona do małej przy kole, daje szybkość, ale małą siłę. Bardzo mocne przekładnie można tworzyć, stosując - znajdujący się w zestawie - mechanizm ślimakowy.

Istotne znaczenie dla dobrego funkcjonowania większych robotów ma przemyślane rozmieszczenie belek wzmacniających konstrukcję. Sam moduł RCX jest dość ciężki, a roboty czasami poruszają się dość szybko i narażone są na różne zderzenia. Belki wzmacniające pozwalają zachować stabilność konstrukcji. Szczególnie przydają się do wzmacniania zawieszenia - oś przechodząca przez solidnie osadzoną belkę wspornikową (czarne, wąskie klocki z poprzecznymi otworami) będzie na pewno spisywać się lepiej niż oś zawieszona w powietrzu.

Z zupełnie innego gatunku wskazówek, dla osób, które wciągną się na tyle, że zapragną tworzyć szczególnie skomplikowane roboty. Konstrukcje takie, jak łatwo się przekonać na stronach Lego, wymagają czasami kilku modułów RCX i kilku silników (jeden z robotów, które udało nam się znaleźć, wykorzystuje trzy moduły i dziewięć silników). Cały zestaw klocków jest, niestety, drogi i dlatego trudno zdecydować się na kilkakrotny zakup. Na szczęście, na stronach Ebay można dokupować pojedyncze elementy - moduły RCX, silniczki, czujniki. W trakcie pisania tego tekstu pojawiło się kilkanaście podobnych ofert, dość atrakcyjnych cenowo.

Na następnych stronach pokazujemy, w jaki sposób przygotować podstawowy program dla robota. Bazą jest Roverbot, którego konstrukcję opisano w podręczniku. Nasz Roverbot został nieco zmodyfikowany, ponieważ jednocześnie wyposażony jest w czujniki zderzenia i czujnik światła, skierowany w dół. Techniczny sposób rozwiązania instalacji wszystkich czujników pozostawiamy naszym czytelnikom.

Zaprogramowany zgodnie z tym warsztatem robot omija przeszkody, a także wykrywa krawędzie stołu, dzięki czemu nie spada. Uwaga - w zestawie jest jeden czujnik światła. Jeśli umieścimy go z przodu, robot nie spadnie, jadąc przodem, ale najeżdżając tyłem na krawędź stołu, oczywiście może spaść i ulec uszkodzeniu. Dlatego zawsze warto zachować ostrożność.


Zobacz również