Hybrydowe racjonalno reaktywne systemy sterowania

Podobne dokumenty
Systemy hybrydowe reaktywno-racjonalne

Systemy Agentowe główne cechy. Mariusz.Matuszek WETI PG

Elementy kognitywistyki II: Sztuczna inteligencja. WYKŁAD II: Agent i jego środowisko

Systemy autonomiczne wykorzystujące sterowanie reaktywne

Heurystyki. Strategie poszukiwań

Struktura systemu operacyjnego. Opracował: mgr Marek Kwiatkowski

OpenAI Gym. Adam Szczepaniak, Kamil Walkowiak

Marcel Stankowski Wrocław, 23 czerwca 2009 INFORMATYKA SYSTEMÓW AUTONOMICZNYCH

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

Modelowanie jako sposób opisu rzeczywistości. Katedra Mikroelektroniki i Technik Informatycznych Politechnika Łódzka

Modelowanie i obliczenia techniczne. dr inż. Paweł Pełczyński

Automatyczne tworzenie trójwymiarowego planu pomieszczenia z zastosowaniem metod stereowizyjnych

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

Teraz bajty. Informatyka dla szkół ponadpodstawowych. Zakres rozszerzony. Część 1.

2016 Proget MDM jest częścią PROGET Sp. z o.o.

Mechatronika i inteligentne systemy produkcyjne. Modelowanie systemów mechatronicznych Platformy przetwarzania danych

Monitoring procesów z wykorzystaniem systemu ADONIS

zakładane efekty kształcenia

Programowanie współbieżne Wykład 2. Iwona Kochańska

Systemy Informatyki Przemysłowej

Zarządzenie Nr 5 / 2011 Dyrektora Miejskiego Ośrodka Pomocy Społecznej w Lipnie z dnia 27 kwietnia 2011 roku

Podsumowanie wyników ankiety

Wykorzystanie wieloagentowych systemów w optymalizacji operacji łańcucha dostaw

Odniesienie do efektów kształcenia dla obszaru nauk EFEKTY KSZTAŁCENIA Symbol

Jazda autonomiczna Delphi zgodna z zasadami sztucznej inteligencji

Pamięć wirtualna. Przygotował: Ryszard Kijaka. Wykład 4

Metody przeszukiwania

Wykład z Technologii Informacyjnych. Piotr Mika

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl

DLA SEKTORA INFORMATYCZNEGO W POLSCE

2

Rzeczywistość rozszerzona: czujniki do akwizycji obrazów RGB-D. Autor: Olga Głogowska AiR II

Elementy kognitywistyki III: Modele i architektury poznawcze

Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych

Planowanie drogi robota, algorytm A*

OPTYMALIZACJA HARMONOGRAMOWANIA MONTAŻU SAMOCHODÓW Z ZASTOSOWANIEM PROGRAMOWANIA W LOGICE Z OGRANICZENIAMI

Elektrotechnika I stopień ogólnoakademicki. niestacjonarne. przedmiot kierunkowy. obieralny polski semestr VII semestr zimowy. nie

Modelowanie i Programowanie Obiektowe

Wykład I. Wprowadzenie do baz danych

PRZEWODNIK PO PRZEDMIOCIE

LEKCJA 2 Program do zdalnego sterowania robotem

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

EFEKTY KSZTAŁCENIA DLA KIERUNKU STUDIÓW INFORMATYKA. STUDIA PIERWSZEGO STOPNIA - PROFIL OGÓLNOAKADEMICKI

Dopasowywanie modelu do danych

Najprostszy schemat blokowy

Budowa sztucznych sieci neuronowych do prognozowania. Przykład jednostek uczestnictwa otwartego funduszu inwestycyjnego

Elektrotechnika I stopień ogólnoakademicki. niestacjonarne. przedmiot kierunkowy. obieralny polski semestr VIII semestr letni. nie. Laborat. 16 g.

Efekty kształcenia dla kierunku studiów INFORMATYKA, Absolwent studiów I stopnia kierunku Informatyka WIEDZA

Prezentacja systemu RTLinux

Elementy kognitywistyki II: Sztuczna inteligencja. WYKŁAD XII: Modele i architektury poznawcze

Nazwa Wydziału Nazwa jednostki prowadzącej moduł Nazwa modułu kształcenia Kod modułu Język kształcenia Efekty kształcenia dla modułu kształcenia

Szybkie prototypowanie w projektowaniu mechatronicznym

System monitorowania realizacji strategii rozwoju. Andrzej Sobczyk

Ćwiczenie numer 4 JESS PRZYKŁADOWY SYSTEM EKSPERTOWY.

JAKIEGO RODZAJU NAUKĄ JEST

Programowanie sieciowe Network programming PRZEWODNIK PO PRZEDMIOCIE

Inteligentny sterownik oświetlenia ulicznego Serii GLC100 Instrukcja obsługi

E-E-A-1008-s5 Komputerowa Symulacja Układów Nazwa modułu. Dynamicznych. Elektrotechnika I stopień Ogólno akademicki. Przedmiot kierunkowy

LEKCJA TEMAT: Zasada działania komputera.

Wstęp do Sztucznej Inteligencji

Metody symulacji komputerowych Modelowanie systemów technicznych

Definicje. Najprostszy schemat blokowy. Schemat dokładniejszy

KARTA KURSU. Systemy operacyjne

ODWZOROWANIE RZECZYWISTOŚCI

Modułowy programowalny przekaźnik czasowy firmy Aniro.

Narzędzia uruchomieniowe dla systemów Embedded firmy Total Phase

w sieciach szerokopasmowych CATV i ISP - Model OSI

Programowanie Zespołowe

Uniwersytet Wirtualny VU2012

PROGRAM KSZTAŁCENIA dla kierunku automatyka i robotyka studiów pierwszego stopnia o profilu ogólnoakademickim

Ćwiczenia nr 7. TEMATYKA: Krzywe Bézier a

SCENARIUSZ LEKCJI. TEMAT LEKCJI: Projektowanie rozwiązania prostych problemów w języku C++ obliczanie pola trójkąta

BIOCYBERNETYKA PROLOG

Struktury Danych i Złożoność Obliczeniowa

Analogowy sterownik silnika krokowego oparty na układzie avt 1314

Elementy kognitywistyki III: Modele i architektury poznawcze

Aproksymacja funkcji a regresja symboliczna

Systemy wbudowane. Uproszczone metody kosyntezy. Wykład 11: Metody kosyntezy systemów wbudowanych

Algorytmy sztucznej inteligencji

RAPORT. Gryfów Śląski

Metodyka projektowania komputerowych systemów sterowania

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

Transformacja wiedzy w budowie i eksploatacji maszyn

Zaawansowane programowanie obiektowe - wykład 5

Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych

Projekt i implementacja systemu wspomagania planowania w języku Prolog

Badania marketingowe. Omówione zagadnienia

Elektrotechnika II stopień ogólnoakademicki. stacjonarne. przedmiot specjalnościowy. obowiązkowy polski semestr I semestr zimowy

E-2EZA-01-S1. Elektrotechnika II stopień ogólnoakademicki. niestacjonarne. przedmiot kierunkowy. obowiązkowy polski semestr I semestr zimowy.

Wprowadzenie do analizy korelacji i regresji

Algorytm genetyczny (genetic algorithm)-

Elektrotechnika I stopień Ogólno akademicki. Przedmiot kierunkowy. Obowiązkowy Polski VI semestr zimowy

Wymagania edukacyjne dla klasy VI na ocenę szkolną Historia

KIERUNKOWE EFEKTY KSZTAŁCENIA

Elementy kognitywistyki III: Modele i architektury poznawcze

Optymalizacja ciągła

Wprowadzenie do złożoności obliczeniowej

Idea Bezpiecznej Maszyny w prostym podejściu. użyj Safety Evaluation Tool. Safety Integrated.

Transkrypt:

Wrocław, dn. 28.05.2007r Hybrydowe racjonalno reaktywne systemy sterowania Praca zaliczeniowa z kursu: INE3802 Informatyka systemów autonomicznych Autor: Agata Zaremba 132943 Prowadzący: Dr inż. Marek Piasecki

1 Wprowadzenie Jeśli spojrzymy na rodzaj ludzki przez pryzmat systemów autonomicznych, okaże się, że ludzie to zaawansowani agenci zdolni do funkcjonowania w skomplikowanym środowisku. Zdolność tą zawdzięczamy możliwości kombinacji zachowań reaktywnych z racjonalnym wnioskowaniem. Jednym z wielu marzeń ludzi jest posiadanie własnego sługi, który byłby na tyle inteligentny, by móc wykonywać za nich wszelkie trudne, wymagające fizycznego wysiłku, lub po prostu nudne zadania. Jednakże, sługa ten nie powinien używać inteligencji do kwestionowania wydanych mu poleceń lub proszenia o urlop, czy podwyżkę. Jednym słowem, idealny sługa powinien być robotem. Prototypem takiej istoty w mitologii żydowskiej był golem. Stworzenie ulepione z gliny na podobieństwo człowieka, nie posiadające jednak wolnej woli i zdolne jedynie posłusznie wykonywać rozkazy pana. W dzisiejszym świecie sługa nie zawsze musi przybierać materialną postać. Coraz większym powodzeniem cieszą się wszelkiego typu elektroniczni doradcy lub asystenci programy, których zadaniem jest ułatwienie życia użytkownikowi systemu (np.: pomagające ułożyć plan zajęć, sortujące pocztę elektroniczną). 1.1 Systemy racjonalne Systemy racjonalne pojawiły się najwcześniej. Zasada ich działania opiera się na klasycznej sztucznej inteligencji. Korzystają z algorytmów wyszukujących i optymalizujących. Aby stworzyć rozwiązania potrzebują abstrakcyjnego modelu rzeczywistości, w oparciu o który prowadzą swoje obliczenia. Potrafią tworzyć plany wybiegające wiele kroków w przyszłość. Jeśli to możliwe szukają zawsze optymalnego rozwiązania. Doskonale sprawdzają się w statycznym środowisku i w grach turowych (np.: szachy). Rozwiązują skomplikowane problemy... i są prawie całkowicie bezużyteczne w środowiskach zmieniających się dynamicznie. Systemy racjonalne działają na pamięć. Opierają się na modelu abstrakcyjnym i kiedy już zaczną wykonywać plan są ślepe na wszelkie zmiany zachodzące w otoczeniu. Skomplikowane systemy obliczeniowe nie pozwalają zaś na prowadzenie obserwacji i modyfikację działania w czasie ciągłym. Systemy działają krokowo. 1.2 Systemy reaktywne Systemy reaktywne są z założenia systemami prostymi. Składają się z modułu postrzegania, którego zadaniem jest analizowanie otoczenia i przekazywanie zdobytych informacji do modułu reaktywnego. Moduł ten zaś w zależności od rodzaju otrzymanych informacji przeprowadza jedną z zakodowanych akcji. W przeciwieństwie do systemów racjonalnych systemy reaktywne nie prowadzą skomplikowanych obliczeń i nie posiadają wirtualnego modelu świata. Operują na modelu

rzeczywistym a ich działania ograniczają się do reakcji na stan aktualny. Systemy reaktywne odznaczają się szybkim czasem reakcji, w związku z czym nie mają problemów z poruszaniem sie w dynamicznym świecie. Niestety pozbawione są jakiejkolwiek możliwości planowania, w związku z czym nie są w stanie wykonywać zadań skomplikowanych i planów długoterminowych. Często w systemach tych implementuje się pamięć, aby zapobiec zakleszczeniu (np.: zdalny samochodzik w rogu, skręcający raz w prawo, raz w lewo). Pamięć taka najczęściej przechowuje dane dotyczące częstotliwości ostatnio wykonanych akcji i z czasem ulega wyżarzaniu (wartości maleją do 0). 1.3 Systemy hybrydowe Wszystko powinno być tak proste, jak to tylko możliwe, ale nie prostsze. Albert Einstein Systemy te podobnie jak systemy racjonalne działanie swoje obierają na wirtualnym modelu świata. Na podstawie zawartych w takim modelu danych formułują plan działania, a następnie zestaw elementarnych zachowań, który będzie użyty w trakcie wykonywania zadanego planu. Różnica polega na tym, że wirtualna reprezentacja świata używana jest do formułowania planu, lecz nie do jego wykonywania[1]. W wyniku takiego zabiegu robot/program jest bardziej elastyczny, zachowując się reaktywnie na najniższym poziomie, podczas gdy warstwy wyższe konfigurują jego działania w oparciu o rodzaj zadania, znane elementy środowiska oraz umiejętności robota (wielkość, ilość ramion, funkcjonalność). Generalnie systemy hybrydowe łączą w sobie zalety systemów racjonalnych i reaktywnych przy jednoczesnej minimalizacji wad tychże systemów. W rezultacie są bardzo funkcjonalne, gdyż dobry czas reakcji wraz z systemem samozachowawczym (unikanie niebezpieczeństw) dopełniają zdolnością planowania kolejnych kroków narzuconych im zadań. 2 Rodzaje i właściwości hybrydowych systemów sterowania Idea połączenia systemów racjonalnych z reaktywnymi wydaje się być bardzo ciekawa, jednak nie jest prosta w realizacji. Systemy te znacznie się między sobą różnią, głównym zaś problemem jest przepływ sterowania pomiędzy nimi, oraz ustalenie priorytetów. Generalnie istnieją trzy rodzaje połączeń pomiędzy systemami reaktywnymi i racjonalnymi: System idealny jednolity, obejmujący oba systemy sterowania. Niestety system taki na razie nie istnieje[2]. System prosty dwuwarstwowy, z wyraźnym podziałem na komunikujące się ze sobą, niższą warstwę reaktywną i wyższą racjonalną. System ten jest stosunkowo prosty w implementacji[2]. System złożony wielowarstwowy (najczęściej 3 warstwy, tzw. 3T), z płynnym przejściem pomiędzy warstwą reaktywną, a warstwą planowania.[2]

Najczęściej wykorzystywany ze względu na swą prostotę jest system dwuwarstwowy. Jednym z trudniejszych zadań związanych z systemami warstwowymi jest systematyzacja podziału na warstwy. Do podstawowych kryteriów pozwalających scharakteryzować poszczególne warstwy zaliczamy zmiany poziomu abstrakcji wykorzystywanych danych, oraz możliwość prognozowania osiągalnych rezultatów końcowych. Zatem: Warstwa 1 Refleksy : można nazwać ją warstwą odruchów bezwarunkowych, implementuje natychmiastowe i bezpośrednie transformacje sensory > efektory, wykonywane z dużą częstotliwością. Najczęściej są to działania związane z ochroną systemu. Działania aktywowane są w wyniku bezpośredniego wykrycia wzorców w bieżących danych sensorycznych. Brak tu wnioskowania, kolejność wykonywania działań regulują priorytety. Nie ma żadnych form modelowania lub wnioskowania. Wszystkie konflikty rozwiązywane są poprzez priorytety i mechanizm blokowania refleksów o niższym priorytecie przez refleksy o wyższym priorytecie. Gwarantuje to natychmiastową reakcję. Najczęściej refleksy implementowane są w postaci jawnych matryc bodziec > działanie [2]. Warstwa 2 Reakcje : jeszcze nie myślenie, już nie odruch. Reakcje reprezentują poziom pośredni. Ich zadaniem, podobnie jak refleksów, jest dostarczanie szybkich reakcji na pobudzenie, dzieje się to jednak w sposób bardziej wyszukany. Reakcje potrafią wykorzystywać wewnętrzne zmienne charakteryzujące stan/etap odpowiedzi systemu na zaobserwowany stan otoczenia. Najczęściej implementuje się je za pomocą automatów skończonych. Zatem są bardziej skomplikowane niż refleksy, składają się z kilku do kilkunastu pomniejszych działań. Wciąż jednak brak tutaj mechanizmu planowania. Podstawowym zadaniem reakcji jest detekcja występowania oczekiwanych wzorców w sygnałach pomiarowych. Różnica w stosunku do refleksów polega na tym, że pod uwagę brane są również dane wewnętrzne (pomiary wypracowywane na podstawie modeli wyższych poziomów). Połączenie wykrycia wzorców w danych z sensorów fizycznych i wirtualnych generuje wydarzenia inicjujące działanie odpowiednich reakcji. W ten sposób na poziomie pośrednim następuje połączenie systemu reaktywnego z systemem racjonalnym podejścia typowo reaktywnego. Reakcje są z góry zaplanowane ale możliwa jest odpowiednia ich modyfikacja w zależności od potrzeb konkretnego zadania[2]. Warstwa 3 Złożone działania : Najwyższy poziom, na którym następuje planowanie. Tutaj ma miejsce modelowania i wnioskowania, w wyniku którego tworzone są plany składające się z zadań cząstkowych. Na potrzeby tychże zadań generowane są zestawy zachowań. każde takie zadanie kończy się wraz z osiągnięciem celu cząstkowego. Wybrane zachowania mają służyć jego osiągnięciu. System na tym poziomie dokonuje analizy obserwowanych stanów świata i prognozuje możliwe zmiany zachodzące w wyniku przeprowadzenia konkretnych zachowań. Prognozowanie dokonywane jest na podstawie posiadanych modeli świata. Modele te powinny być w miarę możliwości proste, gdyż następuje ich częsta aktualizacja, jednak na tyle złożone, by system mógł na ich podstawie dokonywać efektywnego planowania[2].

Warstwa trzecia może pełnić różne role w zależności od rodzaju systemu. Oto kilka najczęściej spotykanych przykładów: Wybór: warstwa planująca konfiguruje system, Doradztwo: warstwa planująca pełni funkcję doradcy, Przystosowanie: warstwa planująca przystosowuje warstwę kontrolną (np.: wybór zadań), Odkładanie: warstwa planująca pełni najmniej istotną rolę, używana, gdy niższe warstwy zawodzą. 3 Przykładowe architektury hybrydowych systemów sterowania i ich zastosowania Istnieje wiele architektur wykorzystujących hybrydowe systemy sterowania. Poniżej zaprezentuję po jednym przykładzie dla systemów dwuwarstwowych i systemów złożonych. 3.1 AuRA AuRA (Autonomous Robot Architecture) jest jedną z wcześniejszych metod integracji systemów racjonalnych z reaktywnymi[2]. Opiera się na modelu dwuwarstwowym jej wnętrze stanowią dwa niezależne systemy komunikujące się ze sobą. AuRA wykorzystuje różne formy reprezentacji wiedzy: wirtualne mapy i przestrzenne modele obiektów znajdujących się w otoczeniu (statyczne), dynamicznie tworzone lokalne mapy przestrzenne, zbiór zachowań motorycznych, oraz metod percepcji, wybieranych i konfigurowanychna bieżąco w sposób zgodny z posiadaną wiedzą. Moduł planujący (eng. planner) jest ściśle związany z narzuconym z góry celem działań. Moduł ten posiada jednocześnie największy zasięg i najmniej zmiennych czasowych (planuje z góry całe postępowanie). Gotowy plan jest przekazywany następnie modułowi nawigatora, który wybiera drogę start meta w oparciu o dostępny wirtualny model świata. Droga ta składa się z serii odcinków (pomniejszych zadań) i jest zgodna z założeniami celu misji. Po ustaleniu drogi do akcji wkracza pilot. Jego zadaniem jest dobranie odpowiednich zachowań i metod percepcji (czujników),tak aby pomyślnie zakończyć bieżący fragment trasy. Gdy posiadamy już gotowy plan działania, a środki mające służyć jego wykonaniu zostały odpowiednio dobrane i skonfigurowane, sterowanie przekazane zostaje modułowi reaktywnemu. Konfiguracja schematów zmieniana jest dynamicznie w zależności od postępów w wykonywaniu działań, stopnia ich zaawansowania, oraz zmian zachodzących w otoczeniu systemu. Na tym poziomie system pozostaje niezależny od reprezentowanej wiedzy. Dopiero, gdy z jakiegoś powodu jeden z etapów lub etap końcowy kończy się niepowodzeniem, budzone są wyższe warstwy i wznawiany jest etap planowania w celu utworzenia strategii alternatywnej.

3.2 CoCo Architektura Cognitive Controller jest z kolei typowym przykładem architektury trójwarstwowej. Składa się z następujących modułów: racjonalnego, reaktywnego, monitorującego, Moduł racjonalny zawiera wysokopoziomowy system planujący. Moduł reaktywny zawiera niskopoziomowy, oparty na zachowaniach system kontroli, wraz ze wspomagającym go systemem percepcji i modułem pamięci. Na poziomie pośrednim znajduje się moduł monitorujący wykonanie planu, który jednocześnie wprowadza kontrolę realcji pomiędzy modułami reaktywnym i racjonalnym[3]. Moduł reaktywny Pracuje jako strażnik odpowiedzialny za ciągłe bezpieczeństwo agenta. Jako taki, kontroluje zachowania systemu z najwyższym priorytetem (warstwa refleksów) i funkcjonuje całkowicie niezależnie od reszty systemu. W sposób ciągły pobiera i bada informacje dostarczane mu przez system percepcji, jak również zmienne wewnętrzne dostarczane przez moduł racjonalny. Na ich podstawie generuje wybiera odpowiednie działania. Wybór działania zależy w równym stopniu od obecnego stanu otoczenia, jak i od rad otrzymanych od modułu racjonalnego. Moduł ten odpowiedzialny jest także za kolekcjonowanie wiedzy o otaczającym świecie i przekazywanie dyskretnej reprezentacji tejże wiedzy do modułu racjonalnego. Aktualizacja modeli pozwala modułowi racjonalnemu efektywnie planować. Moduł reaktywny składa się z komponentów odpowiedzialnych za działanie/ruch, percepcję/kolekcjonowanie bodźców, oraz moduł pamięciowy. Moduł racjonalny Moduł ten daje agentowi w zdolność planowania, umożliwiając mu tym samem przeprowadzenie zadań, które bez planowania byłyby niemożliwe do wykonania. Moduł utrzymuje zestaw modułów planujących (planners). Każdy z tych modułów posiada własną bazę wiedzy, własną strategię planowania i oddzielną listę zadań. Każdy moduł planujący widzi świat w sposób abstrakcyjny (do obliczeń używa modelu wirtualnego). Pozwala to na śledzenie przeprowadzonego przez dany moduł wnioskowania. Moduł racjonalny zawsze ustala najniższy możliwy poziom abstrakcji dla działania modułów planujących. Wybranie odpowiedniego poziomu abstrakcji jest kluczowe dla poprawnego działania całego systemu. Po otrzymaniu zadania od operatora/użytkownika moduł racjonalny wybiera jeden z modułów planujących, aktualizuje jego model świata, po czym aktywuje sam moduł. W danej chwili czasowej

może działać tylko jeden moduł planujący, takie są wymogi ochrony przed interakcjami pomiędzy różnymi akcjami sugerowanymi przez różne moduły planujące. Moduł planujący ustala plan działania jako sekwencję 0 (tylko, gdy nie da się wygenerować planu działania), lub większej ilości akcji (działań), po czym przekazuje gotowy plan modułowi racjonalnemu, który z kolei przekazuje go modułowi monitorującemu. Każde działanie w planie zawiera instrukcje, dotyczące rodzaju podejmowanych akcji oraz określenie stanów przed rozpoczęciem akcji i po jej wykonaniu. Moduł monitorujący Moduł jest swoistym łącznikiem pomiędzy modułami racjonalnym i reaktywnym. Gdy nadchodzi zadanie, gdy istniejący plan nie powiódł się, gdy moduł reaktywny utknął, lub gdy któraś z akcji okazała się zbyt skomplikowana, moduł monitorujący inicjuje akcję planowania w module racjonalnym. Wykonywanie aktualnego planu kontrolowane jest poprzez sprawdzanie stanów systemu przed zaczęciem kolejnej akcji i po jej ukończeniu. Tak więc, stany te są podstawą wiedzy modułu dotyczącej kontroli wykonywanego planu. Istnieją trzy rodzaje akcji: akcje podstawowe, wykonywane bezpośrednio przez moduł reaktywny, akcje warunkowe, wymagają wyboru, która z akcji ma być wykonana następnie, akcje zaawansowane, wymagające bliższego zbadania. Moduł monitorujący radzi sobie ze wszystkimi rodzajami akcji, co znaczy, że może wykonywać akcje liniowe, akcje warunkowe, jak również akcje hierarchiczne. Może także wykonywać akcje współbieżne. Oznacza to jednak, że musi zarządzać także takimi zjawiskami, jak np.: zakleszczenia. System ten jest bardziej zaawansowany niż AuRA, dlatego też lepiej radzi sobie w zmiennym środowisku. Dzięki modułowi kontrolującemu znacznie szybciej reaguje na zmiany i szybciej zarzuca działania, które są z góry skazane na niepowodzenie. Dlatego też lepiej sprawdza się w sytuacjach wymagających precyzji i szybkości reakcji. 3.3 Zastosowania Oba systemy zorientowane są głównie na inteligentne sterowanie robotami. AuRA, ze względu na mały stopień skomplikowana używana jest często w celach dydaktycznych do programowania niewielkich robotów, tak by wykonywały określone funkcje (np. przenosiły przedmioty z miejsca na miejsce, trzymały się trasy). Myślę, że z powodzeniem można ją zastosować również w grach komputerowych (FPP, RPG) do symulacji zachowań postaci NPC. Architektura ta z powodzeniem znajduje zastosowanie przede wszystkim w różnego rodzaju systemach mobilnych, a więc: roboty, samochody, inne pojazdy (zarówno rzeczywiste, jak wirtualne). CoCo znajduje zastosowanie w podobnych dziedzinach. Jest to system bardziej rozbudowany i, co za tym idzie, bardziej niezawodny. Dlatego stosuje się go w systemach wymagających większej precyzji, np.: urządzenie łapiące satelity znajdujące się na orbitach.[3]

Aczkolwiek zaprojektowane z myślą o robotach, systemy hybrydowe znajdują także zastosowanie we wszelkiego rodzaju asystentach i organizerach. Potrafią szybko reagować na zmiany, więc ryzyko, że przeoczą właśnie otrzymaną wiadomość jest niewielkie. Natomiast ich funkcjonalność średnio sprawdza się w systemach doradczych, takich jak osobisty agent turystyczny. Systemy te muszą mieć jasno przedstawiony cel, aby mogły w pełni wyorzystać swój potencjał. 4 Podsumowanie Inteligencja systemu zależy od jego możliwości postrzegania, reakcji i planowania, postrzeganych nie jako osobne cechy systemu, lecz jako całość[4]. Dzieje się tak dlatego, że wymagamy przede wszystkim by system był efektywny. Systemy hybrydowe łączą w sobie najlepsze cechy systemów w ich skład wchodzących, dzięki czemu potrafią zachowywać się w sposób inteligentny, czasem sprawiają wrażenie istot żywych. Co za tym idzie, jeśli dobrze zaprojektowane, potrafią być bardzo efektywne. Dlatego też cieszą się coraz większą popularnością nie tylko wśród miłośników robotów. 5 Źródła [1] Integrating behavioral, perceptual and world knowledge inreactive navigation, Arkin R.C. [2] Systemy hybrydowe reaktywno racjonalne, Informatyka systemów autonomicznych, wykład [3] The Cognitive Controller: A Hybrid, Deliberative/Reactive Control Architecture for Autonomous Robots, Faisal Qureshi, Demetri Terzopoulos1, and Ross Gillett [4] Reactive Planning in a Motivated Behavioral Architecture, Eric Beaudry, Yannick Brosseau, Carle Cot, Cl ment Ra evsky, Dominic L tourneau, Froduald Kabanza, Francois Michaud