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:dydaktyka:piw:2010:sprawozdania:piw20100526-17b [2010/05/29 14:13]
piw10
pl:dydaktyka:piw:2010:sprawozdania:piw20100526-17b [2019/06/27 15:50] (aktualna)
Linia 65: Linia 65:
 ---- ----
  
-====== ​Uwięziony ​======+====== ​Porządki ​======
  
-Jak zawsze algorytm był pisany etapami i testowany ​każdym kroku, co zdecydowanie ułatwia nam pracę. Największy problem był z odczytaniem wartości za pomocą nxt_lightWartość zwracana przez robota dla danego koloru była różna ​zależności czy Franek ​był odwrócony w stronę okna czy też w stronę sali. Niestety te wartości przy różnych kolorach ​różnym ustawieniu względem okna nachodziły się na siebie, co uniemożliwiło nam dobranie odpowiednich współczynnikówPomysł był więc następującyprzenieść planszę na bardziej neutralne miejsce - podłogaJednak i to nie pomogło, ​błędy były mniejsze, ale zakresy wartości dla poszczególnych kolorów nachodziły na siebie. Podjęliśmy mimo wszystko próby wyznaczenia widełek dla danych kolorów, ale nasze testy zakończyły się nie pomyślnie. Algorytm został napisany w większej części. Niestety brak możliwości dobrania odpowiednich liczb przekreślił nasze perspektywy ​zakończenia zadania powodzeniemPoniżej dotychczasowy efekt naszej pracy:+Algorytm został napisany ​całości, jednak wystąpił pewien problemMianowicie ​czasie gdy Franek ​się obracał i napotkał przeszkodę. W momencie napotkania przeszkody robot jechał do przodu, ale tylko jednym kołem! Następnie już wracał używając obu. Efekt: obrótobrót, jazda do tyłuMimo dobrze napisanego kodu błędu nie byliśmy w stanie wykryć (czyżby bug?) Koniec zajęć dobiegł końca, ​więc na tym zakończyliśmy naszą pracę danego laboratoriumA to wynik naszego sprząta Franka:
  
 <code prolog> <code prolog>
Linia 73: Linia 73:
    
 start :- start :-
- write('​-- start 0.--'​),​ + write('​-- start 0.--'​),​ 
- nxt_goal(franek, ​my_actions).+ nxt_goal(franek, ​sprzatacz).
  
-my_actions ​:- +sprzatacz ​:- 
- nxt_light_LED(activate), + nxt_rotate(50, 360), 
- gogo.+ trigger_create(_,​ przeszkoda_w_zasiegu,​ sprzataj).
  
-gogo :- +przeszkoda_w_zasiegu ​:- 
- stop, + nxt_ultrasonic(Vforce), 
- nxt_go(250), + V < 20.
- trigger_create(_,​ check_1, check_more).+
  
-check_1 :- +sprzataj ​:-
- nxt_light(V,​ force), +
- V > 60, +
- V < 65. +
-   +
-check_more ​:-+
  stop,  stop,
- nxt_go_cm(50,2), + nxt_go_cm(40080), 
- nxt_light(V, force), + nxt_go_cm(-40080).
- decide(V). +
- +
-decide(V) :- +
- V < 60, +
- write('​czarny'​)+
- escape. +
- +
-decide(V) :- +
- V >= 60, +
- write('​czerwony'​). +
- +
-escape :- +
- Angle is 150 + random(60),  +
- nxt_rotate(100,​ Angle, force), +
- gogo.+
   ​   ​
 stop :- stop :-
Linia 114: Linia 93:
  nxt_stop.  nxt_stop.
 </​code>​ </​code>​
 +
 +----
 +
 +====== Wnioski i spostrzeżenia ======
 +
 +Dwukrotnie na komendę nxt_open otrzymaliśmy:​
 +
 +<​code>​
 +ERROR: I/O error in write on stream $stream(388428( (Transport endpoint is not connected)
 +   ​Exception:​ (13) nxt actions serial:​nxt_actions input setmode('​S1',​ switch, buolean) ?
 +</​code>​
 +W takim wypadku pomagało jedynie ponowne uruchomienie komputera. Niestety nie znamy przyczyny powstawania tego błędu.
 +
 +  * duże zaskoczenie podczas wykrycia buga (algorytm sprzątacza) Robot zamiast jechać do przodu obracał się. Przypuszczamy,​ że było to spowodowane poprzednią rotacją robota.
  
 ---- ----
pl/dydaktyka/piw/2010/sprawozdania/piw20100526-17b.1275135238.txt.gz · ostatnio zmienione: 2019/06/27 15:54 (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