Instrukcja programowania robota przy użyciu programu TronZ-Card (dla zestawu Creative) 2014 Robotron Co. Ltd. & Robotyka.com
Spis treści: Instalacja programu TronZ-Card... 3 Instalacja sterownika do kabla USB... 3 Pierwsze uruchomienie i konfiguracja programu... 4 Menu programu... 6 Komendy... 8 Budowa kontrolera... 10 Praca z programem TronZ-Card... 11 Konfiguracja pilota zdalnego sterowania... 14
Instalacja programu TronZ-Card Program TronZ-Card można znaleźć na dołączonej do zestawu płytce, lub ściągnąć go z naszej strony internetowej: www.robotron.edu.pl. Instalacja z płyty: otwórz katalog Setup i uruchom program TronZ-Card_V2. Instalacja bez płyty: ze strony www.robotron.edu.pl (dział Download) ściągnij plik Program TronZ-Card dla zestawu Creative, zapisz go w wybranym miejscu na dysku i uruchom. Instalacja programu przebiega standardowo. Jeśli system operacyjny zapyta, czy na pewno chcesz zainstalować ten program, należy kliknąć opcję Jako Administrator ( Run as administrator ). Program może zasugerować instalację dodatkowego sterownika Microsoft Framework 2.0 jest on potrzebny do prawidłowego działania programu. Gdy pogram zostanie zainstalowany, na pulpicie pojawi się jego ikonka: Instalacja sterownika do kabla USB Sekwencja ruchów robota, którą wygenerujemy przy pomocy programu TronZ-Card, musi zostać przesłana do kontrolera robota. W tym celu konieczna jest instalacja sterownika do kabla USB, którym połączymy program na komputerze z kontrolerem. Sterownik można znaleźć na dołączonej do zestawu płytce, lub ściągnąć go z naszej strony internetowej. Instalacja z płyty: otwórz katalog CP210x USB Driver i uruchom program. Instalacja bez płyty: ze strony www.robotron.edu.pl (dział Download) ściągnij plik Sterownik do kabla USB dla zestawu Creative, zapisz go w wybranym miejscu na dysku i uruchom. Instalacja programu przebiega standardowo. Jeśli system operacyjny zapyta, czy na pewno chcesz zainstalować ten program, należy kliknąć opcję Jako Administrator ( Run as administrator ). Po zainstalowaniu sterownika można podpiąć kabel USB do komputera.
Pierwsze uruchomienie i konfiguracja programu Po pierwszym uruchomieniu programu TronZ-Card otworzy się takie okno: Tutaj będzie można stworzyć sekwencję ruchów, która później zostanie wgrana na kontroler robota przy pomocy kabla USB. Zanim jednak przystąpimy do tworzenia własnych sekwencji, należy odpowiednio skonfigurować program TronZ-Card. Proces ten przebiega następująco: 1. Podepnij do komputera kabel USB. Poczekaj, aż system go wykryje. 2. Kliknij ikonę Port w górnym menu programu. 3. W okienku, które się pojawi, należy wybrać port, do którego podpięty jest kabel USB. Zwykle program sam odnajduje odpowiedni port można mu w tym pomóc, klikając Auto detect. Jeśli podświetlona jest opcja none znaczy to, że nie został wybrany żaden port. Jeśli na rozwijalnej liście nie ma żadnego portu do wyboru, może to oznaczać, że kabel USB jest źle podpięty, niezainstalowany, lub też port USB nie działa. Poniżej: komunikat o błędzie oraz okienko ustawień portu.
Numer portu, do którego podpięty jest kabel USB, można odnaleźć także poprzez Panel sterowania => Menedżer urządzeń => Porty 4. Parametr Timeout oznacza czas (w sekundach), jaki program otrzyma na każdorazową komunikację z kontrolerem. Domyślnie są to 3 sekundy, ale najlepiej od razu ustawić 10 sekund i kliknąć OK.
Menu programu Poniżej został przedstawiony i opisany układ menu programu TronZ-Card: Górne menu New otwiera nowy, czysty obszar roboczy Open pozwala wybrać i otworzyć utworzoną wcześniej i zapisaną na dysku sekwencję Save zapisuje bieżącą sekwencję Save as pozwala wybrać miejsce zapisu i tytuł bieżącej sekwencji Print drukuje bieżącą sekwencję Undo cofa ostatnią zmianę Redo powtarza cofniętą czynność Cut usuwa zaznaczone w obszarze roboczym komendy (skrót: Ctrl + X) Copy kopiuje zaznaczone w obszarze roboczym komendy (skrót: Ctrl + C) Paste wkleja skopiowane wcześniej komendy (skrót: Ctrl + V) Remove usuwa zaznaczoną w obszarze roboczym komendę (skrót: Delete) Convert przekształca tekst w zaznaczonych komendach na język angielski lub koreański Port pozwala ustawić port USB i czas połączenia z kontrolerem Download pozwala zgrać przygotowaną sekwencję na kontroler robota
In powiększa obszar roboczy Out zmniejsza obszar roboczy 100% - przywraca obszar roboczy do rozmiaru wyjściowego Exit zamyka program Pasek stanu Copyright - informacja o prawach autorskich COM3 - numer portu COM, do którego podpięty jest kabel USB Total cards: 2 - liczba komend, jakie zostały użyte do stworzenia bieżącej sekwencji Grid wersja obszaru roboczego (Grid = tło ze wzorkiem, White = białe tło) 100% - bieżące powiększenie
Komendy Basic card jest zbiorem podstawowych komend, jakie są używane do tworzenia sekwencji ruchów robota. All cards zawiera wszystkie komendy, podzielone na kilka kategorii. Kategoria Flow : START rozpoczyna sekwencję END kończy sekwencję DELAY ustala czas trwania wybranej komendy, po podaniu odpowiedniego parametru (w zakresie 1-15, gdzie jednostką jest sekunda) DELAY100 ustala czas trwania wybranej komendy, po podaniu odpowiedniego parametru (w zakresie 0,1-1,0, gdzie jednostką jest 0,1 sekundy) LABEL oraz GOTO oznaczają początek oraz koniec pewnego polecenia wewnątrz tworzonej sekwencji. Dzięki temu można zaprogramować robota w ten sposób, by powtarzał (kilka razy lub do wyłączenia kontrolera) sekwencję ruchów, jaka znajdzie się pomiędzy komendami LABEL oraz GOTO. Przykładowo: komenda GOTO=2, znajdująca się na końcu dowolnego polecenia rozpoczętego komendą LABEL, odsyła do polecenia rozpoczętego komendą LABEL=2. IF oraz ELSE komendy służące do porównywania ustalonej w programie wartości z wartością rzeczywistą. Używamy tej komendy gdy chcemy, by ruch lub działanie robota zależały od czynników zewnętrznych. Komenda IF uruchamia zadane polecenie, jeśli wartości się zgadzają (jeżeli się nie zgadzają, uruchamia kolejne polecenie). Komenda ELSE uruchamia zadane polecenie, jeśli wartości się nie zgadzają (jeżeli się zgadzają, uruchamia kolejne polecenie). Przykład: po podłączeniu do robota czujników podczerwieni skorzystamy z komendy IF, by robot nie spadł ze stołu na podłogę. W chwili, gdy czujniki wykryją, że jadący naprzód robot zbliżył się do krawędzi stołu, komenda IF zmieni ruch do przodu na ruch do tyłu. ENDIF kończy działanie komend IF oraz ELSE FOR powtarza polecenie, znajdujące się między daną komendą FOR a NEXT, zadaną ilość razy (od 1 do 15) NEXT kończy dane polecenie FOR Kategoria Control : ON włącza diodę LED OFF wyłącza diodę LED IN odbiera sygnał z modułu, który jest podpięty do portu na kontrolerze. Parametr przy komendzie IN określa numer portu input (od 0 do 3). Do portów INPUT może być podpięty moduł podczerwieni lub moduł z przyciskiem. To, który moduł jest podpięty do danego portu, zależy od rodzaju budowanego robota. SWITCH odbiera sygnał od modułu z przyciskiem, który jest podpięty do portu na kontrolerze (parametr od 0 do 3). IR odbiera sygnał z modułu podczerwieni, podpiętego do portu input na kontrolerze (parametry od 0 do 1) Kategoria Motor : DC_CW uruchamia silnik, który obraca się zgodnie z ruchem wskazówek zegara (parametr 0 lub 1, odpowiadający silnikom podłączonym do portów MOTOR0 lub MOTOR1 ) DC_CCW uruchamia silnik, który obraca się przeciwnie do ruchu wskazówek zegara (parametry 0 lub 1) DC_STOP zatrzymuje silnik (parametry 0 lub 1) SPEED0 ustawia prędkość silników podłączonych do portów MOTOR0 (możliwe parametry 1-5, gdzie 5 oznacza największą prędkość i jest ustawieniem domyślnym)
SPEED1 ustawia prędkość silników podłączonych do portów MOTOR1 (parametry jak w SPEED0) Kategoria Robot : GO ruch do przodu BACK ruch do tyłu LEFT obrót w lewo RIGHT obrót w prawo STOP zatrzymanie SPEED prędkość (możliwe są poziomy 1-5, gdzie 1 oznacza najmniejszą prędkość, a 5 największą) Kategoria Remote : ID oznacza numer identyfikacyjny kanału na pilocie zdalnego sterowania. Parametr ID=1 oznacza, że kontroler będzie odbierał sygnał z pilota jedynie wtedy, gdy pilot będzie ustawiony na kanał 1 (patrz: książka Creative str. 56) RECEIVE po tej komendzie sterowanie robotem odbywa się wyłącznie przy pomocy pilota REMOTE oraz ENDREMOTE początek i koniec polecenia, które zostanie przypisane do odpowiedniego przycisku na pilocie, oznaczonego własnym parametrem. Dzięki tym komendom możemy zaprogramować pilot tak, by po naciśnięciu strzałki górnej robot jechał do przodu. Możemy również utworzyć polecenie, dzięki któremu po naciśnięciu strzałki górnej robot pojedzie do tyłu, zamruga diodami LED, po czym będzie się obracał przez kilka sekund w prawo. Parametry dla komendy REMOTE: REMOTE=0 żaden z przycisków pilota nie jest wciśnięty REMOTE=1 wciśnięta strzałka górna REMOTE=2 wciśnięta strzałka dolna REMOTE=3 wciśnięta strzałka lewa REMOTE=4 wciśnięta strzałka prawa
Budowa kontrolera Poniższy rysunek przedstawia kontroler z zestawu Creative. To właśnie na niego będziemy zgrywać sekwencje ruchów stworzone w programie TronZ-Card. Wprowadzone na rysunku oznaczenia mogą być pomocne przy podpinaniu poszczególnych modułów do kontrolera.
Praca z programem TronZ-Card Po otwarciu programu TronZ-Card w obszarze roboczym widzimy dwie komendy: zielone START oraz END. Oznaczają one początek i koniec każdej sekwencji, nie należy ich usuwać. Wszystkie pozostałe komendy będą dodawane pomiędzy tymi dwiema. Komendy dodaje się poprzez przeciągnięcie wybranej komendy z kolumny po lewej stronie na wybrane miejsce w obszarze roboczym. Jeżeli komenda może mieć różne parametry (wartości), to po upuszczeniu jej na obszar roboczy wyskakuje okienko, w którym można ustalić te parametry. Po wybraniu odpowiedniej liczby należy kliknąć OK. Przykładowa sekwencja ruchów Załóżmy, że zbudowaliśmy Wyścigówkę i chcemy wprawić ją w ruch. Zależy nam na tym, by samochodzik jechał przez trzy sekundy do przodu z określoną prędkością. Jak to zrobić? Do stworzenia takiej sekwencji będą nam potrzebne następujące komendy: SPEED - prędkość GO ruch naprzód DELAY czas trwania ruchu STOP zatrzymanie (silnika) Teraz należy się zastanowić nad kolejnością, w jakiej powinny być ułożone komendy. STOP na pewno trafi na sam koniec, natomiast na sam początek najlepiej dać komendę SPEED. Będzie to istotne przy tworzeniu bardziej skomplikowanych sekwencji ruchów, gdyż w ten sposób ustalimy, że wszystkie ruchy (do przodu, do tyłu etc.) będą wykonywane z wyznaczoną na początku prędkością. Po jej ustaleniu, a więc po komendzie SPEED, będzie miejsce na komendę GO, a następnie na DELAY. Tak może wyglądać już gotowa sekwencja:
Co oznaczają liczbowe parametry przy użytych w tej sekwencji komendach? SPEED=3 Wyścigówka będzie się poruszała z prędkością 3 (do wyboru były stopnie od 1 do 5) GO=0 silnik będzie się obracał przez 0 sekund (został tutaj użyty parametr 0, ponieważ czas trwania ruchu ustalimy przy pomocy kolejnej komendy) DELAY=3 silnik będzie się obracał przez 3 sekundy Teraz pozostaje tylko zgrać gotową sekwencję na kontroler. Zgrywanie sekwencji ruchów na kontroler Zanim przystąpimy do zgrywania, należy przygotować kilka rzeczy. A mianowicie: upewnić się, że do kontrolera podpięte są wszystkie potrzebne moduły / silniki, a w kontrolerze znajdują się działające baterie; upewnić się, że kabel USB jest odpowiednio podłączony do komputera; podłączyć kabel do kontrolera; ustawić na kontrolerze przycisk MODE w pozycji DOWN; włączyć kontroler (drugi przycisk w pozycji ON) na kontrolerze powinna się zapalić zielona dioda. Z górnego menu programu TronZ-Card wybieramy ikonę Download. Po jej kliknięciu wyskoczy takie okienko: Naciskamy Download i czekamy, aż sekwencja zostanie w całości zgrana na kontroler. Gdy tak się stanie, pojawi się odpowiedni komunikat:
Po zgraniu sekwencji na kontroler należy: kliknąć przycisk Close; wyłączyć kontroler (OFF); odpiąć kontroler od kabla USB; ustawić na kontrolerze przycisk MODE w pozycji RUN; włączyć kontroler (ON). Po wgraniu omówionej powyżej przykładowej sekwencji, Wyścigówka powinna przez trzy sekundy jechać naprzód ze średnią prędkością. Błędy Może się zdarzyć tak, że podczas zgrywania sekwencji na kontroler wystąpi błąd. Oznajmi nam go mrugająca czerwona dioda na kontrolerze lub komunikat w programie TronZ-Card. Możliwe przyczyny: kontroler jest wyłączony (lub baterie nie działają); przycisk MODE nie jest ustawiony w pozycji DOWN; kabel USB jest źle podłączony (lub nie jest dociśnięty); nie działa port USB, do którego podpięty jest kabel; kabel USB jest źle skonfigurowany (np. brak zainstalowanego sterownika). Problem z pojawiającym się błędem można też rozwiązać poprzez: zapisanie stworzonej sekwencji, zamknięcie programu TronZ-Card, ponowne uruchomienie programu i wczytanie zapisanej sekwencji; naciśnięcie żółtego przycisku RESET na kontrolerze; wyłączenie i ponowne włączenie kontrolera.
Konfiguracja pilota zdalnego sterowania Dzięki wykorzystaniu komendy REMOTE możemy zdalnie sterować naszym robotem. Służy do tego pilot na baterie. Poniżej została przedstawiona jego konfiguracja.