[[
✎ pl:mindstorms:studenci:przedmioty:jsi:jsi2008:jsi20090114-08d
]]
aiWiki
Pokaż stronę
Ostatnie zmiany
Indeks
Zaloguj
Ta strona jest tylko do odczytu. Możesz wyświetlić źródła tej strony ale nie możesz ich zmienić.
====== Cel ====== Celem była konstrukcja robota wg instrukcji oraz zapoznanie się z możliwościami sterowania robotem za pomocą Prologu z użyciem PLNXT. ===== Konstrukcja ===== Postanowiliśmy zbudować robota TriBot zamiast modelu z instrukcji QuickStart, aby nadać robotowi większą funkcjonalność. ===== Algorytm ===== * Jedź prosto na kulkę * Dotknąwszy kulkę zatrzymaj się * Zewrzyj szczęki * Cofnij * Zawróć * Jedź na zadaną odległość * Połóż kulkę ====== Wykonanie ====== ===== Budowa robota ===== Nasz Jasio został wyposażony w mikrofon, czujnik dotyku oraz szczęki do chwytania kuli. Nie umieściliśmy pozostałych czujników z powodu braku czasu na testowanie. Kula została osadzona na przygotowanej platformie. Robot został przekazany następnej grupie laboratoryjnej. ===== Program w Prologu ===== Nasza realizacja algorytmu magazyniera: <code prolog> :- consult('../plnxt'). check_ball :- nxt_touch(Value,force), Value = 1. check_sound :- nxt_sound(Value,force), Value > 50. ball :- nxt_stop, % Stajemy przy kulce nxt_pincer(close), % Lapiemy kulke nxt_go_cm(-200, 15), % Cofamy sie nxt_rotate(400,180), % Odwracamy sie nxt_go_cm(400, 30), % Odjezdzamy 30cm nxt_pincer(open). % Puszczamy przedmiot start :- nxt_open, check_sound, % Wolamy Jasia nxt_pincer(open), % Rozwieramy kleszcze nxt_go(400), % Jedziemy, az napotkamy kulke trigger_create(_,check_ball,ball). </code> Plik programu: {{:pl:mindstorms:studenci:przedmioty:jsi:jsi2008:gb-magazynier2.pl|}} ===== Problemy ===== Czasami Jasio robił się niegrzeczny: * Wykonywał przypadkowe ruchy * Nie wykonywał wgranego programu * Nie dał się sterować z konsoli Powodem mogło być niezakończenie poprzedniego programu. Ponowne uruchomienie powłoki swipl załatwiło sprawę - Jasio znów był grzeczny. ===== Podsumowanie ===== Prolog pozwala na programowanie robota w sposób bardziej efektywny. Najważniejszą zaletą jest modelowanie zachowania robota z użyciem reguł. Ponadto Prolog daje możliwość pełniejszej kontroli dzięki lepszemu wykorzystaniu czujników. ====== Propozycje ====== Dobrym pomysłem byłoby organizowanie zawodów dla zainteresowanych studentów, polegających nie na budowie robotów, lecz pisaniu programów w prologu działających na konkretnym/tak samo zbudowanym robocie i spełniających zadane cele. Udział w zawodach byłby udokumentowany w życiorysie robota na aiWiki. Programy wzbogaciłyby kolekcję algorytmów dostępnych na stronie.
pl/mindstorms/studenci/przedmioty/jsi/jsi2008/jsi20090114-08d.1232408826.txt.gz
· ostatnio zmienione: 2019/06/27 15:57 (edycja zewnętrzna)
Pokaż stronę
Poprzednie wersje
Menadżer multimediów
Do góry