Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Both sides previous revision Poprzednia wersja
Nowa wersja
Poprzednia wersja
pl:hexor:hexor_prolog [2007/12/01 16:32]
ptm xawtv opcje
pl:hexor:hexor_prolog [2019/06/27 15:50] (aktualna)
Linia 16: Linia 16:
 | ??? | dotykowy prawy | dotykowy lewy | IR przód |  IR lewy tył | ??? | IR środkowy tył | IR prawy tył  | | ??? | dotykowy prawy | dotykowy lewy | IR przód |  IR lewy tył | ??? | IR środkowy tył | IR prawy tył  |
  
-Predykaty zwracają wartość TRUE w przypadku prawidłowego wykonania w przeciwnym wypadku FALSE ( np. błąd komunikacji). \\ +**Predykaty zwracają wartość TRUE w przypadku prawidłowego wykonania w przeciwnym wypadku FALSE ( np. błąd komunikacji).** \\ 
-Robot zatrzymuje się automatycznie po wykryciu przeszkody ( czujniki IR, dotykowe, przekroczenie wartości progowej dla sonaru). +**Robot zatrzymuje się automatycznie po wykryciu przeszkody ( czujniki IR, dotykowe, przekroczenie wartości progowej dla sonaru).** \\ 
 +W wypadku awarii programu ( zrzucenie pliku core ) proszę go przesłać na adres ptm@agh.edu.pl wraz z opisem sytuacji.
  
  
Linia 55: Linia 55:
                   stop(U),​writeln('​stop'​),​writeln('​DONE'​),​cameraOff(U).                   stop(U),​writeln('​stop'​),​writeln('​DONE'​),​cameraOff(U).
   gohexor:​- ​      ​writeln('​ERROR'​),​cameraOff(U).   gohexor:​- ​      ​writeln('​ERROR'​),​cameraOff(U).
 +
  
  
Linia 63: Linia 64:
   onestepforward(U):​- forward(U),​stop(U).   onestepforward(U):​- forward(U),​stop(U).
  
 +Podobnie można wykonywać pojedyncze kroki w innych kierunkach:
  
 +  onestepleft(U):​- left(U),​stop(U).
  
  
-====== ​Programwanie ​krok po kroku ====== + 
-  - [[hexor_prolog_stanowisko|Instalacja stanowiska]] + 
-  - Pobierz kod programu ​z tąd {{hexor_prolog.tar.gz}}+ 
 + 
 +====== ​Programowanie ​krok po kroku ====== 
 +  - Pobierz kod programu ​stąd {{hexor_prolog.tar.gz}}
   - Rozpakuj poleceniem //tar xzf hexor_prolog.tar.gz//​   - Rozpakuj poleceniem //tar xzf hexor_prolog.tar.gz//​
   - Pojawi się katalog //​hexor_prolog//​   - Pojawi się katalog //​hexor_prolog//​
Linia 77: Linia 83:
     * TYLKO JEDEN WĄTEK MOŻE UŻYWAĆ PREDYKATÓW DO KOMUNIKOWANIA SIĘ Z ROBOTEM     * TYLKO JEDEN WĄTEK MOŻE UŻYWAĆ PREDYKATÓW DO KOMUNIKOWANIA SIĘ Z ROBOTEM
     * dodatkowe wątki można uzyskać w/g instrukcji z [[hexor_prolog_mt]]     * dodatkowe wątki można uzyskać w/g instrukcji z [[hexor_prolog_mt]]
-  - Zmodyfikuj go zgodnie z tematem laboratorium. +  - Zmodyfikuj go zgodnie z tematem ​[[pl:​hexor:​hexor_lab|laboratorium]]
-  - Skompiluj uruchamiając ​komende ​//make// . Jeśli pojawiły się błędy wróć do punktu 6. +  - Skompiluj uruchamiając ​komendę ​//make// . Jeśli pojawiły się błędy wróć do punktu 6. 
-  - Uruchom komendą //./hexprPL//+  - Uruchom komendą //./hexorPL//
   - Powtarzaj punkty 6-8 aż do osiągnięcia celu.   - Powtarzaj punkty 6-8 aż do osiągnięcia celu.
- 
  
  
Linia 89: Linia 94:
            - wyłącz robota ​            - wyłącz robota ​
            - podłącz wtyczkę ładowarki do gniazda na korpusie robota            - podłącz wtyczkę ładowarki do gniazda na korpusie robota
 +                   * świeci żółta dioda - ładowarka jest poprawnie podpięta do sieci
 +                   * świeci zielona dioda - ładowany jest akumulator ( intensywność świecenia jest odwrotnie proporcjonalna do naładowania akumulatora)
     * Podłącz nadajnik do portu USB komputera.     * Podłącz nadajnik do portu USB komputera.
     * Sprawdź czy pojawiło się urządzenie ttyUSB0 ( polecenie __dmesg__ w linii poleceń)     * Sprawdź czy pojawiło się urządzenie ttyUSB0 ( polecenie __dmesg__ w linii poleceń)
Linia 95: Linia 102:
     * Jeśli robot nie jest używany przez dłuższy czas to podłącz go do ładowarki.     * Jeśli robot nie jest używany przez dłuższy czas to podłącz go do ładowarki.
     * **Robota nie da się włączyć jeśli wtyczka ładowarki jest podłączona**     * **Robota nie da się włączyć jeśli wtyczka ładowarki jest podłączona**
 +
  
  
Linia 104: Linia 112:
     - oprogramowanie w Basicu sterujące mikrokontrolerami na płycie robota     - oprogramowanie w Basicu sterujące mikrokontrolerami na płycie robota
     - stacji nadrzędnej sterującej zachowaniem robota ( w tym przypadku PC + program w prologu )     - stacji nadrzędnej sterującej zachowaniem robota ( w tym przypadku PC + program w prologu )
-Warstwy 2 i 3 połączone są ze sobą za pomocą łącza ​beprzewodowego+Warstwy 2 i 3 połączone są ze sobą za pomocą łącza ​bezprzewodowego (RS-232)
  
 {{hexoroldnewarchitecture.png|Architektura systemu sterującego}} \\ {{hexoroldnewarchitecture.png|Architektura systemu sterującego}} \\
  
-Warstwa 3 budowana ​jest z następujących elementów:+Warstwa 3 zbudowana ​jest z następujących elementów:
   - __hexor.c/​hexor.h__ ​ biblioteka funkcji do komunikacji z robotem wykorzystująca port szeregowy   - __hexor.c/​hexor.h__ ​ biblioteka funkcji do komunikacji z robotem wykorzystująca port szeregowy
   - __hexorPL.c__ główny plik uruchamiający program sterujący. Zawiera funkcję __main__ w języku C, która wywołuje interpreter prologu. Plik ten zawiera też definicje predykatów które dołączane są do interpretera prologu ( patrz funkcja main )   - __hexorPL.c__ główny plik uruchamiający program sterujący. Zawiera funkcję __main__ w języku C, która wywołuje interpreter prologu. Plik ten zawiera też definicje predykatów które dołączane są do interpretera prologu ( patrz funkcja main )
   - __hexorPL.pl__ plik zawierający program w prologu sterujący robotem. Można w nim używać dodatkowych predykatów zdefiniowanych w pliku __hexorPL.c__   - __hexorPL.pl__ plik zawierający program w prologu sterujący robotem. Można w nim używać dodatkowych predykatów zdefiniowanych w pliku __hexorPL.c__
   - biblioteki EPP ułatwiającej dodawanie predykatów do prologu i zarządzanie wieloma wątkami wykonania w prologu   - biblioteki EPP ułatwiającej dodawanie predykatów do prologu i zarządzanie wieloma wątkami wykonania w prologu
pl/hexor/hexor_prolog.1196523151.txt.gz · ostatnio zmienione: 2019/06/27 15:57 (edycja zewnętrzna)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0