Nowa wersja
|
Poprzednia wersja
|
pl:dydaktyka:piw:2010:sprawozdania:piw20100602-15a [2010/06/07 20:12] piw10 utworzono |
pl:dydaktyka:piw:2010:sprawozdania:piw20100602-15a [2019/06/27 15:50] (aktualna) |
====== Sprawozdanie z laboratorium (zaawansowane algorytmy w PLNXT) ====== | ====== Sprawozdanie nr 4 ====== |
* Robot: **Kajtek** | * Robot: Kajtek |
* Data wykonania: **02.06.2010 godz. 15:30** | * Data: 01.06.2010 godzina 15.30 |
* Autorzy: **Boisse Dawid, Mlaś Paulina, Woliński Krzysztof** | * Druzyna: Dawid Boisse, Paulina Mlaś, Krzysztof Woliński |
| |
---- | |
| |
==== Początek ==== | ===== Wstęp ===== |
| |
Po zapoznaniu się z [[https://ai.ia.agh.edu.pl/wiki/pl:mindstorms:lab:lab_plnxt_zaawansowane|tematyką laboratorium]] przystąpiliśmy do implementacji programu sprzątacza, jako że na poprzednich laboratoriach udało nam się zaimplementować więźnia. Nasz naczelny konstruktor //Krzysztof W.// przystąpił do modyfikacji //Kajtka//. | Na labolatorium realizowaliśmy instrukcje znajdujące się: |
| [[https://ai.ia.agh.edu.pl/wiki/pl:mindstorms:lab:lab_plnxt_zaawansowane|tematyką laboratorium]] |
| |
{{:pl:dydaktyka:piw:2010:sprawozdania:stosowana_kajtek.jpg?500}} | ===== Robot ===== |
| |
Kajtek miał w tym przypadku kręcić się w kółko i sprawdzać czy w odległości 40cm znajduje się jakaś przeszkoda. Jeśli tak, Kajtek miał podjechać do przodu, by wypchnąć przeszkodę, a następnie wrócić na pozycję startową i kontynuować obracanie i skanowanie obszaru. Niestety //Kajtek// kręcił się w kółko, nie wykrywając żadnych z przeszkód. Po paru modyfikacjach kodu //Kajtek// drgnął do przekrętu, lecz w tym samym momencie zamierał w bezruchu. | Do pracy otrzymaliśmy od prowadzącego podstawowego TriBot'a. W celu wykonania laboratorium robot został zmodyfikowany. |
| |
<code prolog> | Niepotrzebne sensory zostały odpięte, pozostawiliśmy jedynie sensor ultradźwięku. |
| |
| Sama konstrukcja również uległa zmianie z uwagi na zadanie, które mieliśmy zrealizować. |
| |
| Krzysiek większość czasu na laboratorium spędził konstruując takiego robota: |
| |
| {{:pl:dydaktyka:piw:2010:sprawozdania:sprzatacz_1.jpg|}} |
| |
| Robot podczas zadania skanowanie terenu. |
| |
| {{:pl:dydaktyka:piw:2010:sprawozdania:sprzatacz_2.jpg|}} |
| |
| Robot podczas czyszczenia terenu |
| |
| ===== Efekt pracy ===== |
| |
| Paulina i Dawid skupili się na pracy z algorytmem. |
| |
| Na wstępie została sprawdzona komunikacja z robotem (via BT), odczyty z sensora oraz poprawne podłączenie układu jezdnego |
| |
| We wstępnej fazie tworzenia programu pełniliśmy błąd, gdyż wzorując się na poprzednich laboratoriach użyliśmy niepotrzebnie wątków (trigger'ów). |
| |
| Dopiero po nieudanych próbach i wskazówkach prowadzącego naprawiliśmy błąd. Ostateczny program wyglądał następująco: |
| |
| |
| <code prolog> |
:- consult('plnxt.pl'). | :- consult('plnxt.pl'). |
| |
nxt_open, | nxt_open, |
nxt_goal(kajtek, go_on_buddy). | nxt_goal(kajtek, go_on_buddy). |
| |
go_on_buddy :- | go_on_buddy :- |
nxt_rotate(300,40), | nxt_rotate(300,40), |
check_dist, | check_dist, |
go_on_buddy. | go_on_buddy. |
| |
check_dist :- | check_dist :- |
nxt_ultrasonic(Value, force), | nxt_ultrasonic(Value, force), |
go_go_go, | go_go_go, |
write(Value), nl. | write(Value), nl. |
| |
go_go_go :- | go_go_go :- |
nxt_go_cm(100,40), | nxt_go_cm(100,40), |
write('go'), nl, | write('go'), nl, |
go_on_buddy. | go_on_buddy. |
| |
murder_me :- | murder_me :- |
trigger_killall, | trigger_killall, |
</code> | </code> |
| |
==== Podsumowanie ==== | ===== Wnioski ===== |
Brak wniosków i uwag {{http://www.forum.stosowana.pl/images/smilies/fsm_glee.gif}} | |
| Z uwagi na popełniony błąd nie zrealizowaliśmy całego laboratorium. |
| Niestety nie udało nam się też zaimplementować podnoszenia i opuszczania spychacza. |
| |
| |
| |