Niemiecka firma q-fix od lat zajmuje się produkcją i sprzedażą różnego rodzaju robokitów i akcesoriów do nich. W skład jej oferty produktowej wchodzi kilka rodzajów robotów mobilnych m.in. roboty grające w piłkę nożną. Robokit Crash-Bobby jest w tej chwili jednym z najgroźniejszych rywali znakomitej serii LEGO Mindstorms (zestawy RIS 2.0 oraz NXT ). Oba zestawy skierowane są do podobnej grupy klientów, choć już na pierwszy rzut oka wydaje się, że q-fix postawił na nieco bardziej zaawansowanych „elektronicznie” użytkowników. Cena obu zestawów jest bardzo zbliżona – obydwa kosztują nieco ponad 1000 PLN. O ile jednak zestaw LEGO Mindstorms sNXT to produkt jeszcze świeżutki, to propozycja niemieckiej firmy jest konstrukcją już kilkuletnią. Wielu osobom stojącym przed problemem wyboru odpowiedniego dla siebie zestawu dla początkujących robotyków nasuwa się zatem zasadnicze pytanie: na co bardziej warto wydać nieco ponad tysiąc ciężko zarobionych polskich nowych złotych? W niniejszej recenzji postaram się opisać podstawowe wady i zalety zestawu q-fix Crash-Bobby oraz przedstawię możliwości jego rozbudowy. Mam nadzieję, że po przeczytaniu tej recenzji Czytelnik będzie w stanie wyrobić sobie samodzielną opinię na temat tego zestawu.
OPAKOWANIE:
Opakowanie, w którym otrzymujemy robokita jest stosunkowo niewielkie. Jego wymiary wynoszą 30 cm × 25 cm × 6 cm. Pudełko wykonane jest z solidnego, grubego kartonu i powleczone warstwą lakieru. Dzięki temu odporne jest na wszelkiego rodzaju zgniecenia lub naderwania. Na pewno posłuży nam bardzo długo i bez problemu umożliwi bezpieczne przenoszenie zestawu np. w plecaku lub torbie. Nie straszne mu będą też deszcz lub drobne zachlapania – warstwa lakieru chroni go przed uszkodzeniem z tego powodu. Po otwarciu pudełka od razu daje się zauważyć dobrze przemyślany układ przegródek, w których spoczywają poszczególne elementy zestawu. Wszystko ma tutaj swoje miejsce w postaci dopasowanego otworu lub wnęki. Dzięki temu żadna z części nie „pałęta” się po opakowaniu nawet, jeżeli przenosimy je z miejsca na miejsce i od czasu do czasu przewrócimy do góry nogami.
ZAWARTOŚĆ PUDEŁKA:
W pudełku znajdują się metalowe elementy konstrukcyjne, przewody elektryczne do podłączenia czujników i silników, klucze imbusowe do montażu robota, płytka instalacyjna CD z oprogramowaniem i elektroniczną wersją instrukcji obsługi oraz programator (wersja dla portu równoległego - LPT). Po przeanalizowaniu zawartości pudełka spotyka nas pierwsze rozczarowanie – aby nasz robot działał konieczny jest zakup akumulatorów i ładowarki !!! Nie ma ich w zestawie. Osoby znające język niemiecki zoreientuja się o tym fakcie już w chwili zerknięcia na tylna ścianę opakowania – informacja ta jest tam podana – niestety tylko w języku niemieckim. Wracając do kwestii zasilania, nie chodzi tu o zwykłe akumulatorki, które możemy kupić w każdym sklepie z artykułami elektronicznymi – robot nie posiada możliwości zamontowania standardowych ogniw typu AA lub AAA. Musimy dysponować ogniwem akumulatorowym o określonym napięciu zasilania (7.2 V). Jak łatwo zauważyć takie ogniwo może składać się 6 standardowych akumulatorków (po 1.2 V każdy) połączonych szeregowo. Jednak musimy jeszcze połączyć je ze sobą w odpowiedni sposób, zapewnić jakiś system mocowania do obudowy robota, a całość wyposażyć w złącze zasilania, zgodne z tym, które zastosowane jest w robocie. Może się to więc okazać zadaniem zbyt skomplikowanym dla początkującego robotyka. Ponadto musimy zaopatrzyć się również w odpowiednią ładowarkę. Wszystko to podnosi cenę samego zestawu. Oczywiście firma q-fix oferuje kompatybilny akumulator i ładowarkę – jest to jednak wydatek rzędu kilkudziesięciu złotych. Mimo to dla ludzi chcących oszczędzić sobie kłopotów radzę zaopatrzyć się od razu we wspomniany zestaw akcesoriów firmy q-fix. Tak zakupione ogniwo montowane jest na obudowie robota w dość cudaczny sposób – przy pomocy tzw. „rzepu” – rozwiązania znanego z kurtek i butów. Okazuje się ono całkiem trafione, gdyż oferowany przez firmę q-fix zestaw akumulatorów starcza tylko na kilka godzin zabawy, przez co często będziemy musieli go ładować. W zestawie brakuje papierowej wersji instrukcji obsługi. Dostępna jest ona jedynie w wersji elektronicznej jako odpowiedni plik PDF na dołączonej do zestawu płytce CD. O samej instrukcji piszę nieco więcej w dalszej części artykułu.
ELEMENTY KONSTRUKCYJNE:
Same elementy konstrukcyjne prezentują się przyzwoicie. Spieszę jednak zaznaczyć, że nie są to żadne wyszukane detale zaprojektowane specjalnie dla potrzeb naszego robota. Każdy bywalec sklepów z artykułami dla majsterkowiczów rozpozna od razu kółka do regałów i szafek oraz standardowe śruby i wkręty imbusowe, na które składa się znaczna część mechanicznego wyposażenia robota Crash-Bobby. Podstawowym elementem konstrukcyjnym robota jest aluminiowa płytka o wymiarach 10 cm × 10 cm. Znajduje się w niej 100 otworów montażowych. Cześć z nich jest gwintowana, a część gładka. To przy ich pomocy będziemy przymocowywać do robota silniki, czujniki, koła i płytę główną. Takie elementy konstrukcyjne jak koła i silniki mocowane są do wspomnianej aluminiowej podstawy za pomocą mniejszych metalowych zaczepów i szeregu śrub. Jak widzimy zastosowane rozwiązanie jest „genialne w swojej prostocie”. Jednak czy tego spodziewaliśmy się od zestawu wartego ponad 1000 PLN ? Nie sądzę. „Podziurawiona” płyta aluminiowa daje iluzoryczne wrażenie nieograniczonej swobody konstrukcyjnej – wydaje się, że silniki możemy zamontować w dowolnej pozycji, czujniki rozmieścić w różnych położeniach. Okazuje się to nieprawdą. Jeżeli spróbujemy zmontować zestaw niezgodnie z zaleceniami zawartymi w konstrukcji otrzymamy niestabilny pojazd, który będzie wywracał się dość często podczas zmiany kierunku ruchu. Notabene, zaproponowana przez projektantów zestawu konstrukcja również nie należy do najlepszych – przy szybkim ruszaniu do tyłu robot staje dęba i opiera się na czujnikach w taki sposób, że nie może już dalej normalnie się poruszać. To duży minus.
PŁYTA GŁÓWNA:
Sercem robota jest niewielka płyta główna wykonana w technologii dwuwarstwowej. Użytkownik ma do dyspozycji 2 wyjścia sterujące pracą silników, 4 wejścia analogowe (tu podłączamy czujniki odległości), 4 wejścia cyfrowe (tu możemy podłączyć opcjonalne czujniki dyskretne np. stykowe czujniki dotyku), 4 przyciski, 4 diody elektroluminescencyjne, złącze magistrali I2C, złącze programatora oraz złącza zasilające. Mogłoby się wydawać, że to całkiem sporo. Ja poczułem jednak pewien niedosyt – brak jakiegokolwiek wyświetlacza, nawet siedmiosegmentowego oraz brak prostego nawet brzęczyka – to dyskredytuje dość silnie zestaw w moich oczach. Daleko płycie głownej Crash-Bobby’iego do programowalnej kostki zestawu LEGO Mindstorms NXT wyposażonej w duży wyświetlacz LCD, głośnik i łączność Bluetooth. Pracą płyty głównej steruje mikrokontroler znanej firmy ATMEL. Jest to model ATmega32 (zainteresowanych szczegółami technicznymi zachęcam do lektury fachowej dokumentacji dostępnej m.in. na stornie firmy ATMEL). Powiem od razu – nie jest to żadna „rakieta” – ot, standardowy mikrokontroler, dysponujący przeciętną mocą obliczeniową. Jednak w tym przypadku jest to rozwiązanie zupełnie wystarczające.
PROGRAMATOR:
Robota, a dokładniej rzecz biorąc mikrokontroler sterujący płytą główną, programujemy za pomocą dołączonego do zestawu programatora. Niestety, jest to programator współpracujący jedynie ze złączem równoległym typu LPT (kiedyś złącza tego typu były wykorzystywane do podłączenia do komputera drukarek). Na szczęście większość komputerów stacjonarnych jest jeszcze wyposażona w tego typu interfejs. Inaczej ma się sprawa z komputerami przenośnymi – złącze LPT w średniej klasy laptopie to prawdziwa rzadkość. Firma q-fix ma w swojej ofercie wersję programatora działającą ze złączem USB – jest to wydatek ok. 200 PLN !!!
CZUJNIKI ODLEGŁOŚCI:
Czujniki odległości są zdecydowanie najmocniejszą stroną elektronicznej części zestawu Crash-Bobby. Są to refleksyjne laserowe czujniki firmy Sharp o zasięgu efektywnym ok. 50 cm. Zestaw wyposażony jest w 3 tego typu sensory. Czujniki montujemy na przedzie aluminiowej podstawy robota przy pomocy metalowych dystansów i podłączamy do analogowych wejść płyty głównej. Czujniki doskonale radzą sobie z mierzeniem odległości od różnych przeszkód – nie są czułe na kształt ani kolor badanego przedmiotu, a ich dokładność wynosi ok. 1cm.
SILNIKI:
Zestaw Crash-Bobby wyposażony jest w dwa silniczki z wbudowaną przekładnią. Niestety nie udało mi się dotrzeć do jakichkolwiek bardziej szczegółowych informacji dotyczących zarówno typu przekładni jak i mocy samych silniczków. Jedno jest pewne – nie są to „demony szybkości”. Pozwalają one rozpędzić się naszemu robotowi do prędkości ok. 20 cm/sek. Nie jest to dużo, ale przecież nie zależy nam na konstruowaniu wyścigówki. Dużo większym problemem jest konieczność skalibrowania silników. Chodzi o to, że przy zadanej takiej samej prędkości silniki w rzeczywistości poruszają się z różną szybkością i w wyniku tego robot nie porusza się po linii prostej, lecz po łuku. Drobna modyfikacja kodu programu rozwiązuje jednak ten problem.
ZWARTOŚĆ CD:
Na dołączonym do zestawu krążku CD znajduje się elektroniczna wersja instrukcji obsługi, biblioteki funkcji służących do obsługi poszczególnych podzespołów robota (napisanych w języku C) oraz oprogramowanie służące do kompilowania i wgrywania programów użytkownika na płytę główną (pakiet WinAVR).
INSTRUKCJA OBSŁUGI:
Jakość instrukcji pozostawia wiele do życzenia. Montaż elementów opisany jest głównie za pomocą tekstu. Ilustracją każdego z etapów montażu (montaż kół, silników, itp.) są jedynie dwa zdjęcia przedstawiające elementy składowe przed złożeniem i po złożeniu – nie ma żadnych zdjęć przedstawiających poszczególne etapy montażu. Należę do osób obdarzonych dość sporą wyobraźnią przestrzenną, a i tak niekiedy miałem trudność z rozgryzieniem tego jak twórcy zaprojektowali dane połączenie elementów. Na załączonych zdjęciach elementy takie jak śruby są tak malutkie i niewyraźnie, że trudno je rozpoznać. W dalszej części instrukcji opisany jest sposób instalacji pakietu WinAVR służącego do tworzenia, kompilacji i wgrywania kodu programu sterującego pracą robota na płytę główną. Początkujący użytkownik nie powinien mieć problemów z poprawnym zainstalowaniem oprogramowania, jednak już samo korzystanie z niego wymaga zapoznania się z dodatkowa dokumentacją. Moim zdaniem wadą instrukcji jest brak dostępnego schematu ideowego oraz montażowego płyty głównej dołączanej do zestawu. Informacje na temat sposobu połączenia wyprowadzeń mikrokontrolera sterującego z portami wyjściowymi jest kluczowa dla osób, które chciałyby samodzielnie napisać funkcje obsługujące peryferia płyty głównej, zaś np. wiedza o częstotliwości zegara taktującego pracę ATmegi32 jest niezbędna dla poprawnego działania wszelkich funkcji opierających się na upływie określonej ilości czasu.
DOŁĄCZONE OPROGRAMOWANIE:
Na płycie CD znajduje się również pakiet narzędzi WinAVR. Jest to oprogramowanie typu open-source. Jego najnowsze wersje dostępne są za darmo w Internecie. Pakiet WinAVR składa się z kilku podstawowych elementów niezbędnych do tworzenia, kompilowania i ładowania kodu programu na płytę główną. Użytkownik ma zatem do dyspozycji:
• edytor kodu: Programer’s Notepad,
• kompilator: avr-gcc,
• oprogramowanie służące do ładowania skompilowanego kodu na mikrokontroler sterujący: avr-dude
• narzędzie do konfigurowaniu plików makefile: MFile
• biblioteki przydatnych funkcji w języku C: avr-libc
Należy w tym miejscu zaznaczyć, że programy na mikrokontroler sterujący piszemy za pomocą pakietu WinAVR tylko i wyłącznie przy użyciu języka C. Jeżeli użytkownik nie ma doświadczenia w programowaniu w tym języku powinien szybko nadrobić zaległości lub dokupić pakiet oprogramowania GRAPE, o którym piszę nieco dalej. Jeżeli ktoś posiada umiejętność programowania mikrokontrolerów serii megaAVR w innym języku np. w języku asembler, to nic nie stoi na przeszkodzie. Dołączony do zestawu programator i odpowiedni software (np. PonyProg 2000) pozwoli wgrać program na mikrokontroler. Ważnym dodatkiem jest zbiór bibliotek gotowych funkcji obsługujących podstawowe komponenty płyty głównej (napisanych w języku C). Odpowiednie pliki wystarczy dołączyć do projektu programu stworzonego w pakiecie WinAVR i można wtedy wykorzystywać te funkcje w naszym programie. Dzięki temu w prosty sposób możemy np. odczytywać stan wejściowych portów analogowych lub sterować pracą silników ustawiając żądaną prędkość i kierunek ich obrotu.
MOŻLIWOŚCI ROZBUDOWY:
Zestaw Crash-Bobby prezentuje dość szerokie możliwości rozbudowy. Jeżeli dysponujemy odpowiednią ilością gotówki możemy dokupić dodatkowe moduły, a nawet dodatkowe oprogramowanie.
DODATKOWE MODUŁY:
W ofercie firmy q-fix znajduje się wiele dodatkowych modułów m.in.:
• czujniki stykowe (wykrywają uderzenia w przeszkody, mogą służyć jako dodatkowe przyciski)
• odometry montowane na wałach silników (mogą służyć do mierzenia rzeczywistej prędkości obrotowej silników oraz dystansu pokonanego przez robota)
• dodatkowe rodzaje płyt głównych (oferują większą moc obliczeniową i więcej portów wejściowych)
• czujniki linii (są w stanie rozróżnić pomiędzy czarnym o białym kolorem podłoża)
• czujniki poziomu światła (zwracają analogowy pomiar natężenia padającego światła)
• czujnik temperatury
• dodatkowe czujniki odległości (w sumie można zamontować 4 czujniki na standardowej płycie głównej dołączonej do zestawu)
• moduł brzęczyka
Robotyk, który pragnąłby rozbudować swojego Crash-Bobby o dodatkowe moduły musi jednak pamiętać, że do dyspozycji ma jedynie 4 porty cyfrowe w związku z tym np. podłączenie dwóch odometrów wyczerpuje dostępne porty !!! Należy wziąć to pod uwagę przy zakupie modułów rozszerzających funkcjonalność zestawu.
Każdy moduł typu czujnik linii lub czujnik stykowy wykorzystuje zwykle jeden port cyfrowy. Wyjątek stanowi odometr, który może potrzebować jeden lub dwa porty cyfrowe (dwa jeżeli poza prędkością obrotową wału silnika chcemy sprawdzać kierunek obrotu silników). Czujniki analogowe takie jak termometr cyfrowy lub czujnik poziomu światła wymagają jednego wejściowego portu analogowego. Należy w tym momencie zauważyć, że po podłączeniu trzech czujników odległości będących w zestawie pozostaje tylko jeden analogowy port wejściowy do wykorzystania !!!
Osobną sprawą jest wykonanie dodatkowych modułów. O ile elektronika zaprojektowana jest prawidłowo i trudno przyczepić się tutaj do czegokolwiek, to już elementy mechaniczne pozostawiają niekiedy wiele do życzenia. Na okres testów byłem w posiadaniu m.in. modułu odometrów i muszę przyznać, że najpierw przez ponad 2h szlifowałem wał silnika, aby móc nasunąć na niego tarczę odometru !!! Skandal – szczególnie, że za moduł, o którym mowa klient musi zapłacić ok. 200 PLN.
Niebagatelną kwestią jest obecność portu magistrali I2C z dodatkowo wyprowadzonymi liniami zasilania. Dzięki temu zaawansowany robotyk może pokusić się o zaprojektowanie własnych modułów rozszerzających funkcjonalność robota Crash-Bobby. Daje to ogromne pole do popisu dla konstruktorów, bowiem do tego typu magistrali możemy podpiąć do 127 urządzeń. Praktycznym ograniczeniem ilości i rodzaju podpinanych modułów jest przepustowość magistrali I2C.
DODATKOWE OPROGRAMOWANIE:
Osoby, którym programowanie w języku C sprawia zbyt duże trudności mogą zakupić pakiet oprogramowania graficznego o nazwie GRAPE (GRAphical Programming Environment). Jak sama nazwa wskazuje jest to graficzne środowisko, w którym algorytm działania robota „składamy” z kilku standardowych bloków. Bloków jest niewiele – są to standardowe bloki schematyczne algorytmu tzn. bloki warunkowe typu IF, pętle itp. Wystarczy to jednak do pisania nieskomplikowanych programów. Jeżeli użytkownik jest chociażby średnio zaawansowanym programistą zakup pakietu GRAPE wydaje się zupełnie niepotrzebny, gdyż to samo będzie mógł bez większych trudności zaprogramować w języku C.
PODSUMOWANIE:
Za cenę ponad 1000 PLN otrzymujemy zestaw kilku metalowych elementów montażowych, niewielką metalową podstawę konstrukcyjną, płytę główną o niezbyt dużej ilości wyprowadzeń, dwa silniczki niewielkiej mocy, 3 dobrej jakości czujniki odległości, parę przewodów, płytkę CD z instrukcją i tak naprawdę darmowy oprogramowaniem, które każdy może pobrać z Internetu. Stosunek jakości do ceny nie przemawia w tym momencie na korzyść zestawu Crash-Bobby firmy q-fix. Za robokitem firmy q-fix przemawia natomiast… brak konkurencji nas rynku. Ludzie, którym z jakiś powodów nie odpowiada seria LEGO Mindstorms (np. ze względu na jej „zabawkowy” bądź, co bądź charakter) nie znajdą w tej chwili dla zestawu Crash-Bobby praktycznie żadnej alternatywy w tym przedziale cenowym. Zdecydowaną zaletą zestawu jest obecność wyprowadzonej magistrali I2C, która daje możliwość samodzielnej rozbudowy funkcjonalności robota o nowe moduły. Niestety, aby podjąć się tego wyzwania konieczna jest chociażby elementarna wiedza z dziedziny elektroniki. Może być to więc problem nie do przejścia dla młodych adeptów trudnej sztuki robotyki. Przez to pozostają oni skazani na drogie moduły rozszerzeniowe oferowane przez firmę q-fix.
Myślę, że zakup zestawu można polecić przede wszystkim osobom pragnącym w praktyczny sposób nauczyć się programowania w języku C. Nie ma nic przyjemniejszego dla robotyka, jak widok własnoręcznie zaprogramowanego mechanicznego „pupila”. Crash-Bobby jest też ciekawą propozycją dla osób o zaawansowanej wiedzy elektronicznej, niechcących tracić czasu na własnoręcznie wykonywanie części mechanicznej swojego robota, zaś zainteresowanych wprowadzaniem modyfikacji i ulepszeń do jego części elektronicznej. Dla ludzi chcących po prostu „pobawić” się robotyką polecam raczej świetną serię prostych, a co najważniejsze tanich robokitów firmy Velleman.
OCENA:
Jakość wykonania: 6/10
Frajda: 6/10
Wartość dydaktyczna: 8/10
Możliwości techniczne: 6/10
Możliwości do ceny: 3/10
Nasza ocena: 6/10

Dodaj komentarz