INTELIGENTNY ŻOŁNIERZ



Podobne dokumenty
Tytuł projektu. WYŻSZA SZKOŁA INFORMATYKI I ZARZĄDZANIA z siedzibą w Rzeszowie WYDZIAŁ INFORMATYKI STOSOWANEJ

NAZWA PRZEDMIOTU/MODUŁU KSZTAŁCENIA:

Innowacja pedagogiczna na zajęciach komputerowych w klasach 4e, 4f, 4g. Nazwa innowacji Programowy Zawrót Głowy

Rozkład materiału do zajęć z informatyki. realizowanych według podręcznika

Jak powstawał Wielki Mistrz

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE

Dodatkowo planowane jest przeprowadzenie oceny algorytmów w praktycznym wykorzystaniu przez kilku niezależnych użytkowników ukończonej aplikacji.

Referat Pracy Dyplomowej

WYMAGANIA EDUKACYJNE zajęcia komputerowe

PRZEDMIOTOWY SYSTEM OCENIANIA ZAJĘCIA KOMPUTEROWE KL. IV-VI DLA SZKOŁY PODSTAWOWEJ Z ODDZIAŁAMI INTEGRACYJNYMI NR 10 IM.

Przyspieszenie obróbki CNC z edytorem ścieżki. narzędzia w ZW3D. ZW3D CAD/CAM Biała księga

PRZEWODNIK PO PRZEDMIOCIE

WYŻSZA SZKOŁA INFORMATYKI I ZARZĄDZANIA Z SIEDZIBĄ W RZESZOWIE. Projekt zespołowy. Temat: Reewendale. Dokumentacja końcowa

PRZEDMIOTOWE ZASADY OCENIANIA ZAJĘCIA KOMPUTEROWE

Grafika i Systemy Multimedialne (IGM)

PRZEDMIOTOWY SYSTEM OCENIANIA Z ZAJĘĆ KOMPUTEROWYCH

Wymagania edukacyjne i kryteria oceniania w klasie VI 2013/2014 OBSZARY AKTYWNOŚCI UCZNIA PODLEGAJĄCE OCENIE

KURSY PROGRAMOWANIA DLA DZIECI

PRZEWODNIK PO PRZEDMIOCIE

PRZEDMIOTOWE ZASADY OCENIANIA Z ZAJĘĆ KOMPUTEROWYCH DLA KLAS IV-VI

PEANO. Innowacja pedagogiczna dotycząca wprowadzenia nauki programowania. w Zespole Szkół Nr 6 im. Mikołaja Reja w Szczecinie

Zastosowania Robotów Mobilnych

Program zajęć doskonalących komputerowych w ramach projektu W drodze do sukcesu Cezary Zalewski

PROGRAMOWAĆ KAŻDY MOŻE

innowacji pedagogicznej Programowanie w szkole

PRZEDMIOTOWY SYSTEM OCENIANIA Z ZAJĘĆ KOMPUTEROWYCH dla uczniów klas IV Szkoły Podstawowej nr 47 im. Jana Klemensa Branickiego w Białymstoku

Gry społecznościowe. wykład 0. Joanna Kołodziejczyk. 24 lutego Joanna Kołodziejczyk Gry społecznościowe 24 lutego / 11

Jazda autonomiczna Delphi zgodna z zasadami sztucznej inteligencji

PRZEDMIOTOWE ZASADY OCENIANIA z zajęć komputerowych w klasie IV VI

PRZEWODNIK PO PRZEDMIOCIE

Programowanie gier. wykład 0. Joanna Kołodziejczyk. 30 września Joanna Kołodziejczyk Programowanie gier 30 września / 13

INDYWIDUALNY PLAN DZIAŁANIA

KARTA KURSU (realizowanego w module specjalności) Modelowanie 3D

Teraz bajty. Informatyka dla szkoły podstawowej. Klasa VI

Proporcje podziału godzin na poszczególne bloki. Tematyka lekcji. Rok I. Liczba godzin. Blok

PROGRAM NAUCZANIA DLA I I II KLASY GIMNAZJUM

Systemy Informatyki Przemysłowej

KARTA PRZEDMIOTU. Projekt zespołowy D1_10

PRZEWODNIK PO PRZEDMIOCIE

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2012/2013

KARTA PRZEDMIOTU. 1. Informacje ogólne. 2. Ogólna charakterystyka przedmiotu. Projekt zespołowy D1_10

Zasady oceniania z informatyki (od roku szkolnego 2018/2019)

NAZWA PRZEDMIOTU/MODUŁU KSZTAŁCENIA: Podstawy animacji i interakcji

NAZWA PRZEDMIOTU/MODUŁU KSZTAŁCENIA: Podstawy animacji i interakcji

PRZEWODNIK PO PRZEDMIOCIE

KARTA MODUŁU KSZTAŁCENIA

Projekt przejściowy 2015/2016 BARTOSZ JABŁOŃSKI, TOMASZ JANICZEK

Wizualizacja płomienia

Projekt przejściowy 2016/2017 BARTOSZ JABŁOŃSKI

Praktyczne zastosowanie grafiki komputerowej

WYMAGANIA EDUKACYJNE Z ZAJĘĆ KOMPUTEROWYCH W KLASIE 4 SZKOŁY PODSTAWOWEJ

NAZWA PRZEDMIOTU/MODUŁU KSZTAŁCENIA:

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2013/2014

1. Założenia i cele przedmiotu: 2. Określenie przedmiotów wprowadzających wraz z wymaganiami wstępnymi:

Uchwała Nr 59/2016/IX Senatu Politechniki Lubelskiej z dnia 15 grudnia 2016 r.

MŁODY PROGRAMISTA WARSZTATY PROGRAMOWANIA DLA UCZNIÓW KLAS MŁODSZYCH

Along the Yellow Brick Road, czyli tworzymy mapę i łączymy sceny w dłuższe sekwencje

Przedmiotowy System Oceniania z informatyki w klasach 4-6 szkoły podstawowej

PROGRAM ZAJĘĆ REALIZOWANYCH W RAMACH PROJEKTU

Wymagania edukacyjne z informatyki dla uczniów klas VI SP nr 53 w Krakowie w roku szkolnym 2019/2020

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

PRZEDMIOTOWY SYSTEM OCENIANIA Z INFORMATYKI. dla uczniów klas VI SP1 w Szczecinku

Elementy kognitywistyki II: Sztuczna inteligencja. WYKŁAD III: Problemy agenta

WYMAGANIA EDUKACYJNE Z ZAJĘĆ KOMPUTEROWYCH / EDUKACJI INFORMATYCZNEJ KLAS I III

KARTA KURSU (realizowanego w module specjalności) Modelowanie 3D

Kierunek:Informatyka- - inż., rok I specjalność: Grafika komputerowa i multimedia

PRZEDMIOTOWY SYSTEM. OCENIANIA Z ZAJĘĆ KOMPUTEROWYCH dla klas IV-VI

Drugi rok nauczania semestr I. Ocena Tematyka Dopuszczająca Dostateczna Dobra Bardzo dobra Multimedia

S Y L A B U S P R Z E D M I O T U

ARKUSZ OBSERWACJI ZAJĘĆ cz. I

1. Szczegółowe cele kształcenia: PRZEDMIOTOWY SYSTEM OCENIANIA Z ZAJĘĆ KOMPUTEROWYCH. dla klas IV-VI

KIERUNKOWE EFEKTY KSZTAŁCENIA

PRZEDMIOTOWY SYSTEM OCENIANIA Z ZAJĘĆ KOMPUTEROWYCH. dla klas IV-VI. 2. Systematyczne dokumentowanie postępów uczenia się. 3. Motywowanie do rozwoju;

Kierunek:Informatyka- - inż., rok I specjalność: Grafika komputerowa

PRZEDMIOTOWY SYSTEM OCENIANIA

Przedmiotowy System Oceniania z Informatyki w Publicznym Gimnazjum w Bielicach

PRZEWODNIK PO PRZEDMIOCIE

PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W NYSIE

SCENARIUSZ LEKCJI. Streszczenie. Czas realizacji. Podstawa programowa

PRZEDMIOTOWY SYSTEM OCENIANIA Z INFORMATYKI GIMNAZJUM NR 5 W LUBINIE

Innowacja pedagogiczna

Projektowanie Produktu Product Design PRZEWODNIK PO PRZEDMIOCIE

KRYTERIA OCENIANIA II ETAP EDUKACYJNY ZAJĘCIA KOMPUTEROWE KLASA IV KLASA V KLASA VI. DOPUSZCZAJĄCY Uczeń

Młodzi Przedsiębiorczy program nauczania Ekonomii w praktyce w szkole ponadgimnazjalnej.

Projektowanie Produktu Product Design PRZEWODNIK PO PRZEDMIOCIE

Projekt Zaprogramować działanie robota w narzędziu USARSim

Sprawozdanie z realizacji Pilotażowego wdrażania nauki programowania w edukacji formalnej w oparciu o innowacje pedagogiczne w szkołach

DZIENNIK ZAJĘĆ POZALEKCYJNYCH

4C. III MODUŁ. PROJEKT EWALUACJI PROGRAMU ROZWOJU SZKOŁY

Podstawy 3D Studio MAX

Edukacja informatyczna w klasach 1-3

Kurs wybieralny: Zastosowanie technik informatycznych i metod numerycznych w elektronice

odniesienie do efektów obszarowych kierunkowe efekty kształcenia

rodzaj zajęć semestr 1 semestr 2 semestr 3 Razem Lp. Nazwa modułu E/Z Razem W I

KOMPUTERY W PRACY. Projekt edukacyjny dla uczniów klas 4 szkoły podstawowej z przedmiotu informatyka

PRZEWODNIK PO PRZEDMIOCIE

5 Moduył do wyboru II *[zobacz opis poniżej] 4 Projektowanie i konfiguracja sieci komputerowych Z

Transkrypt:

WYŻSZA SZKOŁA INFORMATYKI I ZARZĄDZANIA z siedzibą w Rzeszowie WYDZIAŁ INFORMATYKI STOSOWANEJ Projekt Zespołowy INTELIGENTNY ŻOŁNIERZ Skład grupy: Łukasz Jabłoński 46687 Łukasz Prus 25383 Marcin Czebanyk 36327 Bartłomiej Drozd 36333 Prowadzący: Asystent: prof. nadzw. dr hab. Janusz Starzyk mgr Daniel Jachyra Rzeszów, 2012

1 KONCEPT OGÓLNY... 3 2 MOTYWACJA BOTÓW DO DZIAŁANIA... 4 3 BUDOWA I LOGIKA BOTA... 4 4 OPIS ODDZIAŁYWAŃ POMIĘDZY BOTAMI... 6 5 SOFTWARE... 6 6 ZESPÓŁ... 7 7 KOMUNIKACJA W ZESPOLE... 7 8 WYMAGANIA KLIENTA... 8 9 HARMONOGRAM PRAC... 8 10 ŚWIAT BOTA... 9 11 TRUDNOŚCI WYSTĘPUJĄCE W TRAKCIE REALIZACJI... 11 12 PODSUMOWANIE I ZALECENIA NA PRZYSZŁOŚĆ... 11 2

1 KONCEPT OGÓLNY Celem niniejszego projektu było przede wszystkim poznanie praktycznych zasad projektowania oraz tworzenia inteligentnych systemów komputerowych, opartych o mechanizmy sztucznej inteligencji. Jak sama nazwa wskazuje, za cel projektu należało również uważać wyrobienie nawyków i przyzwyczajeń wśród członków zespołu, mających przyczynić się do efektywnej współpracy przy realizowanym projekcie, jak również przy jemu podobnych w przyszłości. W ramach realizacji projektu, stworzone zostało środowisko, po których porusza się agent, który ma za zadanie nauczyć się rozpoznawać, które z napotkanych postaci są do niego wrogo nastawione, a które nie. Agent podejmuje walkę jedynie z postaciami agresywnymi nie reagując na postacie neutralne. Dodatkowo agent uczy się do czego służy punkt apteczny. Przy pierwotnych założeniach projektowych, zakładaliśmy stworzenie środowiska, w których będzie się poruszał agent. Świat agenta według planów miał zawierać jednostki, z którymi bot będzie toczył walkę, jak również jednostki nastawione do niego neutralnie. Założenia te udało się zrealizować. Problem pojawił się przy tworzeniu elementów, które miały wpływ bezpośrednio na agenta, np. punkt apteczny. Chcieliśmy również wzbogacić możliwości walki w naszym projekcie, poprzez zdefiniowanie dodatkowych broni, które bot mógłby zdobywać. Założenie to przerosło nasze możliwości, z tego powodu pomysł został porzucony i w projekcie występuje jeden rodzaj broni, którą posługują się boty. Fabuła projektu Przy pracach archeologicznych zostaje odnaleziony bot-żołnierz, zamrożony przed laty. Po odmrożeniu, ożywa i w akcie desperacji, nie jest w stanie rozpoznać, która postać jest do niego wrogo nastawiona, a która nie, dlatego też zaczyna walczyć, każdą napotkaną postacią. Po upływie czasu, uczy się, że tylko wojsko jest do niego wrogo nastawione i przestaje zabijać laborantów. 3

2 MOTYWACJA BOTÓW DO DZIAŁANIA Początkowo bot unicestwia wszystkie pojawiające się postacie, jednak stopniowo zaczyna rozróżniać, która z postaci jest to niego wrogo nastawiona, a która nie. Za unicestwienie dobrej postaci bot zostaje ukarany poprzez obniżenie potrzeby moralności. Po pewnym czasie bot zaczyna rozpoznawać postacie zabija tylko postać złą, dzięki czemu jego poziom moralności rośnie do maksymalnej wartości. Podczas wędrówki po środowisku, bot może również zostać ranny, co nakłania go do poszukiwania apteczki. 3 BUDOWA I LOGIKA BOTA Rysunek 1 4

Bottom korpus bota; obiekt typu Dynamic. Poprzez aktuator Motion/ServoControl nadaną ma prędkość liniową wzdłuż lokalnej osi X. Dwa sensory Message odbierają informacje z radarów i odpowiednio nadają prędkość obrotową. Rradar/Lradar obiekty podlegające pod obiekt Bottom. Sensory typu Radar ustalone są dla wyszukiwania obiektów z parametrem Env w obszarze zasięgu radaru. Radary w przypadku zadziałania wysyłają informacje do obiektu Bottom stosując aktuator Message. Top wieża bota; Sensor typu Radar ustalony został do wyszukiwania obiektów z parametrem Enemy, Enemy1 i Lekarz, dodatkowo zasięg radaru reprezentuje zasięg światła latarki. Radary wysyła informację o koniecznym wystrzale jeśli w zasięgu pojawi się robot wrogi do obiektu Cannon stosując aktuator Message. Cannon obiekty typu Empty podlegający pod obiekt Top. W przypadku otrzymania od niego informacji o wystrzale, uruchamia aktuator EditObject/AddObject. Wygenerowany zostaje wtedy obiekt Bullet z zadaną prędkością początkową. Boty poruszające się po terenie nie maja zaprogramowanych sztywnych tras po których się poruszają, posiadają minimalna inteligencje pozwalającą im na odbieranie bodźców poprzez sensory. Sensory pozwalają botom na autonomiczne poruszanie się po terenie omijając przeszkody ustawione na scenie oraz wykrywanie wrogich jednostek będących w zasięgu broni. Boty dzięki swojej inteligencji zaprogramowanej przy pomocy kostek logiki potrafią odróżniać wrogie jednostki od pozostałych oraz poruszać się po terenie bez udziału człowieka. 5

4 OPIS ODDZIAŁYWAŃ POMIĘDZY BOTAMI Złe postacie na mapie są agresywne i zmniejszają poziom zdrowia żołnierza, który musi uzupełnić poprzez znalezienie apteczki. Postacie dobre są pokojowo nastawione do bohatera i nie robią mu krzywdy, ale bot może je unicestwiać. Boty poruszają się na mapie w sposób losowy, doprowadzając w ten sposób do różnych sytuacji: może dojść do spotkania bohatera głównego z wrogiem, z czego wyniknie walka pomiędzy nimi, może również dojść do spotkania bohatera z kilkoma wrogo nastawionymi jednostkami, co w konsekwencji również prowadzi do walki. Drugim możliwym wariantem jest spotkanie Inteligentnego żołnierza z jednostką nastawioną neutralnie, co po procesie uczenia powinno doprowadzić do tego, że bot rozpozna, że napotkana jednostka nie jest do niego wrogo nastawiona i nie będzie otwierał ognia w celu jej unicestwienia. Kolejnym możliwym wariantem jest spotkanie pomiędzy jednostką neutralną a jednostką wrogo nastawioną do głównego bohatera, co zaowocuje brakiem jakiejkolwiek reakcji. 5 SOFTWARE Do realizacji projektu wykorzystaliśmy język programowania Python oraz program Blender 3D. Język Python jest efektywnym i przyjaznym narzędziem do programowania sztucznej inteligencji oraz szeregu innych systemów Wraz z edytorem grafiki Blender 3D oraz silnikiem Blender Game Engine pozwala szybko i sprawnie tworzyć gry trójwymiarowe zawierające elementy sztucznej inteligencji. Z kolei Blender 3D jest uniwersalnym narzędziem, pozwalającym na modelowanie, animację, rendering, oraz dodawanie efektów specjalnych do tworzenia scen graficznych. Oprócz standardowych funkcjonalności, Blender dysponuje bardzo przydatnym w naszym projekcie, narzędziem Blender Game Engine, pozwalającym na symulowanie fizyki w ramach sceny, generowanie dynamicznego 6

oświetlenia, animowanie obiektów, współdziałających w scenie oraz pełna obsługa Pythona. 6 ZESPÓŁ Nasz zespół składa się z czterech osób: 1. JABŁOŃSKI ŁUKASZ osoba odpowiedzialna za programowanie oraz testy 2. PRUS ŁUKASZ osoba odpowiedzialna za programowanie 3. CZEBANYK MARCIN osoba odpowiedzialna za sporządzenie grafiki oraz stworzenie animacji 4. DROZD BARTŁOMIEJ osoba odpowiedzialna za całość dokumentacji, stworzenie prezentacji PDR oraz raportu końcowego 7 KOMUNIKACJA W ZESPOLE Komunikacja w zespole odbywała się przede wszystkim za pośrednictwem Internetu, z wykorzystaniem komunikatora Gadu-Gadu, jak również Skype. Z użytkowaniem tych narzędzi wiązała się główna komunikacja pomiędzy członkami zespołu ustalanie najważniejszych punktów projektu, wyznaczanie najbliższych celów do realizacji Członkowie zespołu prowadzili również rozmowy z wykorzystaniem poczty elektronicznej jak również poprzez rozmowy telefoniczne a także smsy. Służyły one jednak wyłącznie do szybkich ustaleń konkretnych punktów projektu. 7

8 WYMAGANIA KLIENTA A. Autonomiczne poruszanie się żołnierza po środowisku. B. Nauka wykorzystywania różnych rzeczy w środowisku do zaspokajania i redukcji bólu, np. uczenie się do czego służy apteczka. C. Generowanie statystyk z zachowania bota. D. Wprowadzić kolejny element, który jest zaspokajany po uzyskaniu max. moralności. 9 HARMONOGRAM PRAC Zaprezentowany powyżej harmonogram prac został przez nas starannie zaplanowany i dobrze przemyślany. Wzięliśmy w nim pod uwagę niekorzystne warunku za jakie trzeba uznać naszą pracę zawodową, bowiem każdy z nas na co dzień pracuje i dysponuje ograniczoną ilością wolnego czasu. Uważamy, że dobrze się z niego wywiązaliśmy, bowiem w naszych pracach raczej nie zdarzały się opóźnienia dzięki temu również i dokumentacja oraz prezentacje składane były w wyznaczonych terminach do wglądu i oceny. Z pewnością za spore utrudnienie przy jego realizacji należy uznać, że nie mogliśmy pracować wszyscy razem w jednym czasie, bowiem bez dostarczonych materiałów graficznych, nie dało się ruszyć z programowaniem i w dalszej konsekwencji z dokumentacją. Ale tak jak już wcześniej pisaliśmy, raczej się wywiązywaliśmy z wyznaczonych terminów i uważamy, że dobrze zrealizowaliśmy harmonogram naszych prac. 8

10 ŚWIAT BOTA Rysunek 2 Rysunek 3 9

Rysunek 4 Powyższe ilustracje przedstawiają szatę graficzną projektu. Widzimy na nich obszar po którym poruszają się boty oraz same boty. Niebieskie jednostki są traktowane jako jednostki wrogo nastawione, szare jako neutralne, natomiast jednostka czerwona to omawiany inteligentny żołnierz. Na planszy znajdują się trzy wrogie jednostki, dwie neutralne i jeden bohater projektu. Boty poruszają się po laboratorium. Jeżeli w polu widzenia bota, oznaczonego wiązką światła pojawi się wroga jednostka, zaczyna do niej strzelać. 10

11 TRUDNOŚCI WYSTĘPUJĄCE W TRAKCIE REALIZACJI Dla naszego zespołu realizacja omawianego projektu była prawdziwym wyzwaniem, ponieważ nigdy wcześniej nie mieliśmy styczności z technologią wykorzystaną przy realizacji projektu. Stanęło przed nami wyzwanie nauczenia się całkiem nowego języka programowania, którym wcześniej się nie posługiwaliśmy i to stanowiło główną trudność. Brakowało na doświadczenie, przez co spędzaliśmy nadmierną ilość czasu nad rozwiązywaniem problemów, które jak się później okazywało wcale nie były aż tak skomplikowane. Oprócz trudności technicznych, wymienić należy przede wszystkim czasochłonność zadania, bowiem jako studenci studiów zaocznych, rzeczą naturalną jest, że stanęło przed nami trudne zadanie połączenia pracy zawodowej z kształceniem się na uczelni wyższej. Stąd też wynikały opóźnienia w postaci niedotrzymywania wyznaczonych terminów, odstępstw od harmonogramu prac jak również trudności w zebraniu wszystkich członków zespołu na wspólnej dyskusji. 12 PODSUMOWANIE I ZALECENIA NA PRZYSZŁOŚĆ Niestety nie udało nam się zrealizować wszystkich zamierzonych założeń. Dużo do życzenia pozostawia inteligencja naszego agenta, który nie zachowuje się do końca tak jak byśmy tego chcieli i jak wymaga tego projekt. Spowodowane jest to przede wszystkim brakiem umiejętności, na co przyczynia się również brak wystarczającej ilości czasu, żeby je nabyć. Zrealizowany przez nas projekt posiada potencjał, może być dalej rozwijany i wzbogacany o dalsze funkcjonalności. Uważamy, że z pewnością można jeszcze poprawić szatę graficzną, wzbogacając ją o dodatkowe elementy. Jak wcześniej pisaliśmy z założenia mieliśmy wprowadzić dodatkowe bronie, które boty mogą zdobywać, jak również udoskonalić inteligencję agent oraz wprowadzić dodatkowe elementy wpływające na jego zachowanie. 11