Języki sztucznej inteligencji - Laboratorium 3

Mariusz Sokołowski, Jan Pollak, Maksymilian Piasecki

Środa 17.12.2008 godz. 11.00

Konstrukcja robota

Nie musieliśmy składać robota, ponieważ mieliśmy gotowego skorpiona, złożonego przez poprzednią grupę. Dokonaliśmy tylko drobnej modyfikacji a mianowicie czujnik dźwięku umieściliśmy bliżej przodu, bo znajdował się tuż nad silnikiem, który robił dużo hałasu. Efekt był znikomy, ale mniejsza o to. Poniżej przedstawiamy zdjęcia naszego skorpiona.

Zastosowane algorytmy

Algorytm 1. Tchórz

Na początku wymyśliliśmy bardzo prosty schemat działania. Wykorzystaliśmy dwa czujniki - ultrasonar i czujnik dotyku (przycisk). Skorpion człapał powoli do przodu, a gdy napotkał przeszkodę w odległości około 30 cm to cofał się troszkę do tyłu. Jednak gdy przeszkoda znajdowała się bardzo blisko (odległość od czujnika ok. 5 cm lub mniej) to następował atak ogonem. Przy czym ogon wracał do pozycji wyjściowej tylko w przypadku trafienia (chociażby w podłogę) tzn. gdy był wygenerowany sygnał z czujnika dotyku na czubku ogona.

Algorytm 2. Agresor

Algorytm ten miał w założeniu powodować bardzo agresywne zachowanie robota. Na początku nasz skorpion poruszał się bardzo powoli i majestatycznie do przodu, gdy napotkał przeszkodę w odległości ok. 20 cm, to nie uciekał jak poprzednio, a wręcz przeciwnie, podbiegał z maksymalną prędkością do przeszkody, zatrzymywał się i zaczynał kłuć - zachowanie godne prawdziwego drapieżcy. Dodatkowo reagował na bodźce dźwiękowe. Napotkaliśmy pewne problemy z doborem czułości czujnika dźwięku, z powodu dużego hałasu jaki powodowały silniki na maksymalnych obrotach, mimo to udało nam się osiągnąć taki efekt, że skorpion reagował na mocne klaśnięcie i skręcał o 90° w lewo. Dzięki temu mieliśmy pewną kontrolę nad robotem i mogliśmy decydować które napotkane obiekty robot ma ominąć a które zaatakować jak również naprowadzić go klaskaniem na odpowiedni cel.

Plik z algorytmem: jpm4.rbt.zip

Film ukazujący działanie 2. algorytmu: http://www.youtube.com/watch?v=CfvCNKi38rM

Propozycje zmian

  • na stronie www laboratorium mogłyby się pojawić instrukcje dotyczące budowy programów w środowisku Mindstorms NXT, ponieważ niektóre zachowania bloczków nie są intuicyjne. Usprawniłoby to pracę studentów w szczególności na początkowych zajęciach, gdy jeszcze nie są obeznani z tym środowiskiem;
  • odpowiednie roboty mogłyby być już wcześniej złożone (bo i tak przeważnie składa się je według konkretnej instrukcji) i wtedy studenci mieliby więcej czasu na implementację algorytmów i ich testowanie. W przypadku gdyby niezbędne byłyby modyfikacje konstrukcji robotów, to przebiegałoby to szybko i sprawnie.
pl/mindstorms/studenci/przedmioty/jsi/jsi2008/jsi20081217-11d.txt · ostatnio zmienione: 2019/06/27 15:50 (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