Je robotika součástí AI? Jaký je rozdíl mezi nimi?


Odpověď 1:

Není to tak, že se dvě pole překrývají, ale ani jedna z nich není nadřazená.

Výzkumná komunita robotů je to, co můžete vidět jako více lidí z CS pomocí robotů jako své domény aplikace. Roboti představují rozdíl od klasického CS, protože výpočetní systém je pevně svázán se světem: svět, který je real-time, vysoce dynamický a těžko předvídatelný a zahrnuje mnoho senzorů a akčních členů, které mají tendenci být hlučné (mnohem více než váš typický stolní počítač, kde senzory - myš a klávesnice - a „akční členy“ - displej - bývají relativně spolehlivé relativně mluvící).

V tomto smyslu je robotická směsice mnoha domén CS, které pracují na „specifické“ doméně: roboti. Najdete mnoho oborů umělé inteligence (dokonce i některé, jako je posilovací učení, které díky robotice skutečně nabralo na síle), ale také hodně o teorii řízení, zpracování signálu,…

AI pokrývá aspekt pokusu použít počítač k plnění úkolů, které lze rychle definovat jako „snadno proveditelné pro člověka, ale těžké pro počítače“. Toto pokrývá velmi široké spektrum od inference / plánování až po učení přecházející rozpoznáváním jazyka / hlasu nebo obrazu zpracovává se. Zatímco mnoho z nich je roboticky znovu použito, v AI uvidíte spoustu práce, která buď:

- má předpoklady, které nehrají dobře pro robotický problém (např. složitost plánování a offline předpoklady se neprojevují dobře s povahou robotiky v reálném čase)

- byl většinou vyvinut bez zvláštních ohledů na robotické aplikace (většina strojového učení má například tendenci neprovádět učení postupně, ale v dávkovém procesu, který opět hraje špatně situací bez robotů)

- nejsou pro robotiku opravdu důležité nebo specifické problémy (s rozpoznáváním hlasu robotem / hlasem je pěkné, ale způsob, jakým funguje, představuje při použití robotů jen malou nebo žádnou konkrétní výzvu)

I když mnoho lidí pracuje na integraci nebo dokonce zdokonalení různých technik umělé inteligence směrem k robotice, stále zůstávají tyto dvě domény odlišné. Jistě někteří lidé pracují na umělé inteligenci aplikované na robotiku (nebo robotickou technikou umělé inteligence), ale tito lidé zůstávají relativně okrajovými okraji obou komunit.


Odpověď 2:

Ne, obě pole se překrývají, ale ani jedno není zahrnuto v ostatních.

Některá pole umělé inteligence se přímo týkají robotiky, například veškerá díla o simultánní lokalizaci a mapování (SLAM) a navigaci, vše o aktivním vnímání, spousta literatury o posilování učení, také vývojové přístupy atd. Obecněji tam je mnoho věcí o poznání a o tom, co považujeme za inteligentní a inteligentní chování, které dává smysl, pouze pokud k nim přistupujete jako k vznikajícímu výsledku spojení mezi agentem (robotickým nebo biologickým) a jeho prostředím, s nímž interaguje prostřednictvím senzimotorického systému. Jinými slovy, jsme zvířata s fyzickými těly jednajícími (alespoň příležitostně) inteligentně ve fyzickém světě a ne mozky ve sklenicích nebo bezdůvodných myslích zpracovávajících abstraktní informace, a to je důležité, když studujete mnoho aspektů inteligence, umělé nebo ne. Je základem ztělesněného poznání, které je fascinující a živou oblastí výzkumu; Já a výzkumná skupina jsem součástí převážně zaměření na ty aspekty ztělesněné umělé inteligence pro robotiku.

Nyní je definice AI tak široká jako definice inteligence, a jasně existují její části, které jsou mimo tento rozsah. Věci jako AI abstraktní hry (šachy, go, některé videohry atd.), Expertní systémy, filtry nevyžádané pošty, doporučující systémy, automatický překlad (a obecněji většina NLP) atd. Nepotřebují zvláště robota (nebo tělo) ) pracovat. Tyto věci jsou součástí AI, ale nikoli robotiky. (Na druhé straně, stejné obecné metody a teoretické rámce lze často použít jak pro robotické, tak i pro robotické aplikace. Umělé neuronové sítě se používají všude různými způsoby pro spoustu velmi odlišných věcí, učení o posílení má spoustu - také robotické aplikace, Bayesovské sítě lze použít k výrobě robotických kontrolérů stejně jako spamových filtrů atd.)

A robotika také zahrnuje spoustu věcí, které jsou daleko od AI. Spousta robotiky se týká mechaniky, mechatroniky, budování senzorů a akčních členů, teorie řízení a automatizace. Teoreticky není v rámci ztělesněného kognitivního paradigmatu žádný důvod oddělit tyto věci od AI (jedná se o senzorimotorický systém působící v prostředí, který je inteligentní, nikoli inteligentní skříň, která má nějaké senzory a akční členy), ale z praktického hlediska z pohledu, tito vyžadují velmi odlišné dovednostní soubory, které mají více společného s fyzikou a někdy s matematikou než s kognitivní vědou, počítačovou vědou a tím, co obvykle považujeme za „AI“.


Odpověď 3:

Bez AI nemůžete dělat robotiku

Klíč ArKeyHandlerHandler;
 Aria :: setKeyHandler (& keyHandler);
 robot.attachKeyHandler (& keyHandler);
 ArLog :: log (ArLog :: Normal, "Robot Navigation and plánování trasy");
 Sonar ArSonarDevice;
 robot.addRangeDevice (& sonar);
 robot.runAsync (true);
 // zapněte motory, vypněte zvuky amigobotu
 robot.enableMotors ();
 robot.comInt (ArCommands :: SOUNDTOG, 0);
 // přidejte sadu akcí, které se spojí dohromady, aby ovlivnily chování putování
 Obnovit ArActionStallRecover;
 Nárazníky ArActionBumpers;
 bloudit bloudit;
 scattergram scattergrams;
 // render render;
 //render.display(scattergrams.rightpoints);
 robot.addAction (& scattergrams, 50);
 robot.addAction (& obnovit, 100);
 robot.addAction (& nárazníky, 75);
 robot.addAction (& putovat, 50);
 // před ukončením programu počkejte, až se smyčka úloh robotů ukončí
 robot.waitForRunExit ();
 Aria :: exit (0);
}

pokud jde o hlavní soubor, jde pouze o implementaci tříd, veškeré chování robotů je implementováno prostřednictvím instancí třídy, takže v zásadě to je způsob, jakým dávám přednost uspořádání kódu, v každém případě je kódování AI pro robota normálně umístěno jako třída v úhledném záhlaví a implementačním souboru, to je místo, kde bych udělal těžké zvedání AI / ML a používal instanci třídy v hlavním volání požadovaných funkcí. Myslím, že AI / ML by měla být součástí robotiky a v mém případě běžně praktikuji svoji robotiku pomocí algoritmů AI, je to převzato z mého „pet projektu“. Ano AI je součástí robotiky.

Pokud chci něco vykreslit pomocí SFML C ++ API, zavolám příslušnou instanci třídy, tedy je to možné, jedná se vlastně o robotické API ARIA C ++, ale zobrazuji grafiku pomocí knihovny SFML C ++.