La robòtica forma part de la IA? Quina diferència hi ha entre ells?


Resposta 1:

En realitat, els dos camps se solapen però tampoc no és un super-conjunt de l’altre.

La comunitat d’investigació en robòtica és el que podeu veure com diverses persones de CS utilitzen robots com a domini d’aplicació. Els robots presenten la diferència respecte als clàssics CS per tenir el sistema informàtic fortament lligat al món: un món en temps real, altament dinàmic i difícil de predir i que implica molts sensors i actuadors que solen ser sorollosos (molt més que el seu ordinador d'escriptori típic on els sensors (ratolí i teclat - i "actuadors" - que es mostren - solen ser molt fiables relativament parlant).

En aquest sentit, la robòtica és un paquet de molts dominis CS que treballen en un domini "específic": els robots. Trobeu molts camps de l’IA (fins i tot alguns com l’aprenentatge de reforç que realment va guanyar impuls gràcies a la robòtica), però també molta teoria sobre control, processament de senyal, ...

La IA cobreix l’aspecte d’intentar fer servir un ordinador per fer tasques que es poden definir ràpidament com a “fàcils de fer per als humans però difícils per a les computadores”, això cobreixen un espectre molt ampli, des de la inferència / la planificació fins a l’aprenentatge passant pel reconeixement de la llengua / veu o la imatge. processament Tot i que molts d'aquests són utilitzats per robòtica de nou, podreu veure molta feina a l'AI que:

- té supòsits que no funcionen bé per a un problema de robòtica (per exemple, la planificació de la complexitat i els supòsits fora de línia no van bé amb la naturalesa de la robòtica en temps real)

- s'ha desenvolupat principalment amb aplicacions específiques de robòtica (la majoria de l'aprenentatge automàtic per exemple solen no fer l'aprenentatge de manera incremental, sinó en processos per lots que tornen a jugar malament amb la posició del robot)

- no són realment importants ni problemes específics per a la robòtica (tenir un robot w / reconeixement de veu és agradable, però la forma en què funciona presenta poc o sense desafiament específic quan s'aplica als robots)

Si bé molta gent treballa per integrar o fins i tot millorar la tècnica de la IA diversificada cap a la robòtica, això deixa encara aquests dos dominis tan diferents. Segur que hi ha persones que funcionen amb IA aplicades a la robòtica (o robòtica mitjançant la tècnica d'AI), però aquestes persones mantenen relativament la franja d'ambdues comunitats.


Resposta 2:

No, els dos camps es superposen, però tampoc s’inclou a l’altre.

Alguns camps de la IA estan directament relacionats amb la robòtica, per exemple, tots els treballs sobre localització i mapatge simultanis (SLAM) i navegació, tot sobre percepció activa, molta literatura sobre aprenentatge de reforç, també enfocaments de desenvolupament, etc. Més generalment. hi ha moltes coses sobre la cognició i el que considerem la intel·ligència i el comportament intel·ligent que només té sentit si s’acosta a elles com el resultat emergent d’un acoblament entre un agent (robòtic o biològic) i el seu entorn, amb el qual interactua mitjançant un sistema sensorimotor. En altres termes, som animals amb cossos físics que actuen (almenys ocasionalment) de manera intel·ligent en el món físic i que no són cervells en gerres o ments desmesurades que processen informació abstracta, i això és important quan estudieu molts aspectes de la intel·ligència, artificials o no. És la base de la cognició plasmada, que és una àrea de recerca fascinant i viva; Jo i el grup de recerca formem part principalment de tots els aspectes de la IA incorporada per a la robòtica.

Ara, la definició d’AI és tan àmplia com la definició d’intel·ligència i n’hi ha clarament parts d’aquesta que es troben fora d’aquest àmbit. Coses com els AIs de jocs abstractes (escacs, vaja, alguns videojocs, etc.), sistemes experts, filtres de correu brossa, sistemes de recomanació, traducció automàtica (i més generalment la majoria de PNL), etc., no necessiten especialment un robot (o un cos) ) treballar. Aquestes coses formen part de la IA, però no de la robòtica. (D'altra banda, els mateixos mètodes generals i marcs teòrics sovint es poden utilitzar tant per a aplicacions robòtiques com no robòtiques. Les xarxes neuronals artificials s'utilitzen arreu de diferents maneres per a moltes coses molt diferents, l'aprenentatge de reforç té moltes Aplicacions de robot també, les xarxes bayesianes es poden fer servir per a controladors de robots, així com filtres de correu brossa, etc.)

I la robòtica també inclou moltes coses molt lluny de la IA. Molta robòtica tracta de mecànica, mecatrònica, sensors i actuadors de construcció, teoria de control i automatització. Teòricament, sota el paradigma de la cognició plasmada, no hi ha cap raó per segregar aquestes coses de la IA (el sistema sensorimotor que actua a l’entorn és intel·ligent, no una caixa intel·ligent que té alguns sensors i actuadors), sinó des d’un punt pràctic és, per descomptat, que requereixen conjunts d’habilitats molt diferents que tenen més a veure amb la física i, de vegades, les matemàtiques que amb la ciència cognitiva, la informàtica i el que normalment pensem en “IA”.


Resposta 3:

No podeu fer robòtica sense IA

ArKeyHandler keyHandler;
 Ària :: setKeyHandler (& keyHandler);
 robot.attachKeyHandler (& keyHandler);
 ArLog :: log (ArLog :: Normal, "Robot Navigation and planning path");
 Sonar ArSonarDevice;
 robot.addRangeDevice (& sonar);
 robot.runAsync (true);
 // encendre els motors, apagar els sons d’amigobot
 robot.enableMotors ();
 robot.comInt (ArCommands :: SOUNDTOG, 0);
 // afegir un conjunt d’accions que es combinen per fer efectes el comportament vagabund
 ArActionStallRecover recuperar;
 Para-xocs ArActionBumpers;
 vagar vagar;
 scattergram scattergrams;
 // renderitzar;
 //render.display(scattergrams.rightpoints);
 robot.addAction (& scattergrams, 50);
 robot.addAction (i recuperar, 100);
 robot.addAction (& para-xocs, 75);
 robot.addAction (& wander, 50);
 // espereu que finalitzi el bucle de tasques del robot abans de sortir del programa
 robot.waitForRunExit ();
 Aria :: sortida (0);
}

pel que fa al fitxer principal només és una implementació de classes, tot el comportament del robot s’implementa a través d’instàncies de classe, bàsicament així és la forma en què prefereixo organitzar el meu codi, en qualsevol cas la codificació AI del robot se situa normalment com a classe. En un fitxer d’encapçalament i d’implementació perfecte, aquí és on faria l’aixecament intensiu d’AI / ML i només faria servir una instància de classe en trucar principalment a les funcions necessàries. Crec que AI / ML hauria de ser part de la robòtica i, en el meu cas, normalment practico la robòtica mitjançant algoritmes AI, això es basa en un "projecte per a mascotes". Sí L’AI és una part de la robòtica.

Si vull representar alguna cosa amb l'API SFML C ++ anomeno la instància de classe adequada, per tant, és possible, realment és API de robot ARIA C ++, però hi mostro gràfics mitjançant la biblioteca de gràfics C ++ SFML.