Both sides previous revision
Poprzednia wersja
Nowa wersja
|
Poprzednia wersja
|
pl:dydaktyka:piw:2010:sprawozdania:piw20100602-15c [2010/06/09 10:21] piw10 |
pl:dydaktyka:piw:2010:sprawozdania:piw20100602-15c [2019/06/27 15:50] (aktualna) |
* Robot: **Ewka** | * Robot: **Ewka** |
* Data wykonania: **02.06.2010 godz. 15:30 | * Data wykonania: **02.06.2010 godz. 15:30 |
* Autorzy: **Marcin Kisielewski, Monika Burda, Mateusz Jop, Wojtek Zbiegieł** | * Autorzy: **Marcin Kisielewski, Monika Burda, Mateusz Jop, ** |
| |
---- | ---- |
| |
===== Początek ===== | ===== Początek ===== |
| |
===== Budowa robota ===== | ===== Budowa robota ===== |
| |
| W celu wykonania laboratorium musieliśmy zmodyfikować robota do postaci pokazanej na zdjęciach. |
| |
| Niepotrzebne sensory zostały odpięte, a wymagane zostały podłączone. |
| |
| Modyfikacją robota Ewka Zajmował się Marcin. |
| |
=====Program===== | {{:pl:dydaktyka:piw:2010:sprawozdania:jedenkisiel.jpg|}} |
| |
| {{:pl:dydaktyka:piw:2010:sprawozdania:dwakisiel.jpg|}} |
| |
| =====Implementacja===== |
| |
| <code prolog> |
| |
| :- consult('./plnxt.pl'). |
| |
| start :- |
| nxt_light_LED(activate), |
| nxt_goal(henio, prog), |
| trigger_create(_,czy_czarny,turn), |
| trigger_create(_,clap,stop). |
| |
| |
| obroty :- |
| trigger_create(_,czy_czarny,turn). |
| |
| prog :- |
| nxt_go_cm(150,100), |
| prog. |
| |
| |
| prog2 :- |
| sleep(1), |
| % trigger_create(a,czy_czarny,turn), |
| % trigger_kill(a), |
| nxt_go_cm(300,1), |
| prog. |
| |
| turn :- |
| |
| nxt_stop, |
| nxt_go(-300,force), |
| sleep(2), |
| nxt_turn(400,30), |
| |
| % |
| % stop, |
| % nxt_turn(800,90), |
| trigger_create(_,czy_czarny,turn) |
| |
| |
| |
| panika :- |
| nxt_stop, |
| nxt_go_cm(800,10), |
| nxt_rotate(800,45), |
| nxt_go_cm(800,10), |
| nxt_rotate(800,-90), |
| nxt_go_cm(800,20), |
| nxt_rotate(800,90), |
| nxt_go_cm(800,10), |
| nxt_rotate(800,-45). |
| |
| |
| czy_koniec :- |
| trigger_create(_,push,stop). |
| |
| |
| |
| clap :- |
| nxt_sound(Value,force), |
| Value > 15. |
| push :- |
| nxt_stop, |
| nxt_touch(Value,force), |
| Value = 1. |
| |
| czy_czarny :- |
| light(V), |
| V<59. |
| czy_czerwony :- |
| light(V), |
| V<31, |
| v>25. |
| czy_bialy :- |
| light(V), |
| V>60. |
| |
| |
| |
| light(Value) :- |
| %nxt_stop, |
| nxt_light(Value,force). |
| %write("light wynosi "),write(Value) |
| |
| stop :- |
| trigger_killall, |
| nxt_stop. |
| |
| |
| |
| </code> |
| |
| Niestety w początkowej fazie implementacji popełniliśmy błąd, który dzięki pomocy prowadzącego zostął naprawiony. |
| |
| Przez wykonanie owego błędu nie mogliśmy ukończyć laboratorium. |
| |
| Zdefinjowany algorytm jest jedynie więzniem, który napotykając obiekt zatrzymuje się. |
| |
| Dodatkowo z porzednich laboratoriów umięscilsmy w programie awaryjne wyłączenie robota w skutek klasnięcia. |
| |
=====Wnioski i spostrzeżenia===== | =====Wnioski i spostrzeżenia===== |
| |
| |
=====Uwagi do laboratorium===== | * Kilkakrotnie wystąpił problem z komunikacją poprzez bluetooth, co zmuszało nas do restartu robota oraz ponownego nawiązywania połączenia. |
| |
| |
| * Kolejnym problemem który wystąpił to wypadający kabel łączący silnik A z sterownikiem. W trakcie poruszania się robot ulegał drganiom, co było powodem wypadania kabla. Problem ten zauważylismy dopiero w połowie laboratorium. Wymiana kabla na inny rozwiązała problem. |
| |
| |
| * Problemem okazało się również obracanie robota. Po pełnym obrocie, robot nie był w tej samej pozycji co było pewnym utrudnieniem w jego programowaniu. |
| |
| |
| * Ostatnim problemem było ustawienie planszy. Plansza musiała się znajdować w takim samym oświetleniu, ponieważ gdy na planszę padało światło tylko w jednym miejscu, to sensor światła odczytywał inną wartość czerni, bieli, czerwieni niż ta część planszy znajdująca się w "cieniu". |
| |
| =====Uwagi do laboratorium===== |
| |
JAK COS TO JA JE WLASNIE ROBIE!!! | Przydałaby się lista z problemami oraz rozwiązaniem(przynajmniej teoretycznym) na jakie napotykali się studenci w trakcie wykonywania laboratoriów. |
DZWONCIE W RAZIE 'W'!!!!!!!!!!!!!!!!!!!!!!!!505069843 Jakbyscie kod mieli czy cos co potrzeba | Lista taka mogła by się znajdować na wiki. |