Zasady GBC

Great Ball Contraption czyli w wolnym tłumaczeniu: Piłek Wielka Maszyneria 🙂

Motto: „Może być naprawdę prosta, lub diabelsko skomplikowana, na co tylko czasu starczy!”


Tekst ten stanowi tak wierne jak się dało tłumaczenie dokumentu, którego oryginał znajduje się pod adresem http://www.teamhassenplug.org/GBC/


Cel:

Tworzenie konstrukcji przy użyciu LEGO Technic/Mindstorms (bez współzawodnictwa), w którym mogą wziąć udział ludzie o dowolnym poziomie umiejętności konstukcyjnych. Każda osoba może zbudować jeden (lub więcej) modułów. Wszystkie moduły zostaną połączone, aby uformować wielką maszynerię utrzymaną w stylu dzieł Ruby’iego Goldberg’a

W różnych koncepcjach tematycznych, AFOL-e (Adult Fan of LEGO) stworzyli zasady, tak aby ludzie mieszkający gdziekolwiek na świecie mogli budować fragmenty, które będą mogły być włączone we wspólną konstrukcję (przypis – np. dioramę). Parą przykładów są standardy Moonbase oraz Classic Castle.

Planujemy połączyć razem moduły GBC na BrickFest’05


Całość rozpoczęła się jako „przekazywanie piłki do Ping Ponga” w naszym klubie (The Lafayette LEGO Robotics Club lub inaczej LafLRC) i została połączona z SPRYTNĄ maszynerią do skrzynek aby stać się Piłek Wielką Maszynerią.Celem jest przeniesienie piłek LEGO z jednego modułu do drugiego. Każdy moduł może być tak prosty, albo tak złożony jak uzna budujący. GBC-Ball-x45px1s

 


Standard interfejsu „Type 1”:

 GBC-ModuleDimensions
  1. Każdy moduł powinien posiadać zasobnik „wejściowy” i przenosić piłki do zasobnika „wejściowego” następnego modułu w linii.
  2. Zasobnik „wejściowy” powinien mieć zewnętrzne wymiary 10 na 10 studów, z wewnętrznymi 8 na 8 studów oraz być wysoki na 10 bricków
  3. Przód zasobnika „wejściowego” powinien znajdować się w odległości 32 studów od tyłu modułu. To pozwoli na ustawienie modułów w linii przy ścianie. Tył modułu może znajdować się bliżej zasobnika „wejściowego” niż ta odległość, ale nie dalej
  4. Zasobnik „wejściowy” powinien znajdować się z lewej strony modułu, a wyjście powinno być po prawej stronie modułu
  5. Nie ma żadnych limitów wielkości poza tymi tu podanymi
  6. Każdy moduł powinien być zdolny przetwarzać piłki ze średnią częstotliwością 1 piłki na sekundę. Piłki mogą być przekazywane po kolei jedna po drugiej lub w grupach. Grupa nie powinna zawierać więcej niż 30 piłek

Tutaj znajduję się kilka przykładów układów modułów.

Używając interfejsu „Type 1”, tylko piłki mogą być przekazywane między modułami. W przyszłości, także skrzynie będą mogły być przenoszone do przodu i wstecz.

Standard interfejsu „Type 1b”:

Standard interfejsu „Type 1b” jest podzbiorem standardu „Type 1”. Ten typ modułów może być łatwo ułożony w układ ciągły. W standardzie „Type 1b” wszystkie moduły są zbudowane na bazie jednej lub więcej plansz do budowania o wymiarach 32×32 (jeśli więcej niż jednej to ułożonych w linii prostej).

Zaleca się aby moduły standardu „Type 1b” miały większą przepustowość niż 1 piłka na sekundę, ponieważ będą przeważnie używane w GBC zawierającym mniejszą ilość modułów, a więc większa przepustowość będzie czyniła je bardziej interesującymi.

Notatki z budowy:

Ten prosty interfejs powinien być wystarczająco elastyczny. Dystans pomiędzy tyłem modułu a elementami wejścia/wyjścia nie może być większy od 32 studów, ponieważ moduły GBC mogą być poustawiane wzdłuż ściany, a to pozwala na ujednolicenie odległości od tej ściany.

Szerokość modułu patrząc od jego przodu nie ma limitu, ale zaleca się aby była ona większa od jego głębokości.

Przepustowość 1 piłki na sekundę brzmi „szybko”, ale jest to niezbędne aby piłki nie gromadziły się nadmiernie w zasobniku „wejściowym” wolniejszego modułu. Praktyczna przepustowość powinna być bliższa 2/3 piłkom na sekundę.

Aktualnie, nie ma żadnego standardu fizycznych połączeń między modułami. Większość, ale nie wszystkie moduły będą zbudowane na bazie płyt jakiegoś typu, i zakłada się że te płyty mogą być połączone razem.

Gąsienice z zestawu Mindstorms wydają się być całkiem ciekawym rozwiązaniem jako pas transmisyjny przenoszący piłki przez małe wzniesienia. ALE, NIE SĄ.

Kolejna sugestia do budowanych modułów: Wiele modułów kontrolowanych przez RCX, będą czekały na „wypełnienie” się zasobnika wejściowego przed jego opróżnieniem. Wtedy jest wykonywana sekwencja ruchów, przed powrotem do stanu „oczekiwania”. Generalnie jest to dobry pomysł na umieszczenie „oczekiwania” na końcu sekwencji. W takim przypadku kiedy moduł jest wyłączony, podczas gdy poprzedzający go pracuje, pierwszą rzeczą którą zrobi po włączeniu będzie opróżnienie swojego wejścia, zamiast czekać na przepełnienie, przed rozładowaniem.

Tutaj znajdują się informacje jak można próbować się wyłamać ze standardu.


Jak szybko to jest „1 piłka na sekundę”?

Jeśli chce się zbudować moduł GBC, który wykorzystuje pojedynczy silnik i posiadający stałą przepustowość 1 piłki na sekundę, jak szybko musi się on poruszać? Normalny silnik z zestawu Mindstorms obraca się z prędkością około 360 RPM albo około 6 obrotów na sekundę. Oto kilka podstawowych przeliczników…
Jeśli silnik jest podpięty przez zębatkę 8 na zębatkę 24, to obraca się z prędkością 2 obroty / sekundę
Z 8 na 40 = 1,2 obrotu / sekundę
Ślimak na 24 = 0,25 obrotu / sekundę
Ślimak na 8 = 0,75 obrotu / sekundę


GBC – Ustawienia i przykłady

W poniższym przykładzie, mały kwadrat narysowany przerywaną linią obrazuje „zasobnik wejściowy” modułu, a strzałka pokazuje gdzie moduł wyrzuca strumień piłek. Moduł musi posiadać:

  1. Wyjście jest po przeciwnej stronie wejścia w linii prostej
  2. Wejście jest po lewej stronie modułu, a wyjście po prawej
  3. Przedni róg zasobnika wejściowego o rozmiarach 10×10 studów, musi znajdować się w odległości 32 studów lub mniej od tyłu modułu (inaczej to ujmując: moduł nie może być głębszy niż 32 study, licząc od początku zasobnika wejściowego). Preferowany jest także (ale nie wymagany) fakt aby moduły były szersze (od prawej do lewej) niż są głębsze (od przodu do tyłu):

GBC-Setups-001


Przykład

Oto krótki układ – pierwszy moduł ma wymiary 32×32 study. Zauważcie, że moduł 4 (oznaczony znakiem „X”)nie spełnia standardu, ponieważ jego tylna krawędź jest dalej niż 32 study od przodu zasobnika wejściowego, natomiast moduły 2 i 5 spełniają (są węższe od górnego limitu).

GBC-Setups-002


Zakręty

W kilka godzin po pierwszym ogłoszenie zasad GBC, ludzie zaczęli zgłaszać zmiany standardu, które dopuszczałyby zakręcanie. Dość szybko okazało się jednak, że oba zarówno lewe jak i prawe zakręty, mogą być wprowadzone bez modyfikacji standardu. Dla przykładu, pierwszy układ składa się z trzech modułów, standardowo ustalonych w normalne GBC. Na drugim diagramie, te same trzy moduły ustawiono aby umożliwić zakręt w prawo, a następnie w lewo.

GBC-Setups-003            GBC-Setups-004


GBC – Łamiąc zasady

Ostatnią rzeczą do rozważenia jest łamanie zasad. Jest wiele pasjonujących rzeczy, które możesz zrobić, ale wszystkie moduły powinny być budowane w zgodzie ze standardem! To jest jedyny sposób, aby mieć pewność że wszystkie moduły będą ze sobą współpracowały w kompletnym GBC. Jeśli jednak nadal chcesz eksperymentować, upewnij się że trzymasz się następujących 2 Praw GBC:

Prawo 1: Moduł GBC powinien spełniać warunki standardowego „Typu 1” interfejsu, aby zapewnić kompatybilność z GBC

Prawo 2: Moduł GBC może wykazywać „niestandardowe” zachowania, tak długo jak nie powoduje to niezgodności z Prawem 1

Główny przykład to zakręty: standard był pomyślany jako liniowe GBC, ale tak długo jak moduł nie jest poszerzony od strony przednich części sekcji wejścia i wyjścia, może zostać obrócony i ustawiony tak aby stał pod kątem 90 stopni w prawo względem poprzednika. Podobnie moduł, który nie jest rozszerzony poza sekcje wejścia i wyjścia albo jest głęboki tylko na 10 studów, może zostać użyty do wykonania albo skrętu w prawo (jak poprzednik), albo w lewo (co redefiniuje pojęcia takie jak „przód” czy „tył” takiego 10 studowego modułu). To są przykłady modułów zgodnych ze standardem, które mogą także zostać wykorzystane na niestandardowe sposoby.
Inny przykład to moduły, które rozdzielają strumień: tak długo jak dwa podstrumienie są utrzymywane i mogą być (jeśli jest taka potrzeba) ponownie połączone przed wspólnym wyjściem, jest to dopuszczalne. Moduł może także posiadać opcjonalne, drugie wyjście w innej lokalizacji o ile nie wymaga się jego posiadania (opcjonalność, oznacza np. że niestandardowe wyjście może zostać wyłączone i wtedy wszystkie piłki będą trafiały do standardowego wyjścia) i może zostać użyty w normalny sposób co jest zgodne z 1 Prawem.


Cała reszta informacji na stronie oryginalnej ma charakter informacyjny nie związany ze standardem i technikaliami GBC, więc nie została tu przetłumaczona. Jednakże znajdują się tam bardzo ciekawe filmiki z GBC oraz linki do różnych stron związanych z GBC. Warto tam zajrzeć, nawet jeśli nie zna się dobrze jeżyka angielskiego, ściągnąć filmiki i obejrzeć – może dzięki temu będzie się miało jakiś ciekawy pomysł na moduł do GBC, albo okaże się że pomysł własnego modułu nie jest tak do końca unikalny. Wspominam o tym, żeby nikt nie poczuł się urażony, gdyby został posądzony o plagiat.
Warto też przeszukać Youtube, ponieważ jest tam opublikowanych wiele filmów na temat GBC, od pojedynczych modułów do bardzo rozbudowanych wielomodułowych konfiguracji.



Najważniejsze linki:
Oryginał tego tłumaczenia znajduje się pod adresem  http://www.teamhassenplug.org/GBC/

Moduły zbudowane przez Philo. Jak dla mnie, mistrza, na którego pracach można się wzorować i z których można się wiele nauczyć: http://www.philohome.com/gbc/gbc.htm

Kolejny mistrz w budowaniu modułów to Akiyuki (AFOL z Japonii), na którego moduły można patrzeć godzinami. Jego kanał na Youtube to https://www.youtube.com/user/akiyuky

Blog o tym jak fajnie jest być Administratorem IT, programowaniu w języku Java, Klockach LEGO i innych zainteresowaniach jego autora.