A është robotika pjesë e AI? Cili është ndryshimi midis tyre?


përgjigje 1:

Jo me të vërtetë, të dy fushat mbivendosen, por asnjëra nuk është e tepërt e tjetrës.

Komuniteti i kërkimit të robotikës është ajo që mund të shihni kur shumë njerëz përdorin robotët CS si domenin e tyre të aplikimit. Robotët bëjnë ndryshimin në CS klasik sepse sistemi kompjuterik është i lidhur fort me botën: një botë në kohë reale që është shumë dinamike dhe e vështirë për t’u parashikuar dhe përmban shumë sensorë dhe aktivizues që kanë tendencë të jenë me zë të lartë (shumë më tepër sesa ato tipike tuaj) Kompjuteri desktop në të cilin sensorët - miu dhe tastiera - dhe "aktivizuesit" - shfaqen - janë relativisht të besueshëm në terma relativë.

Në këtë kuptim, robot është një copëz e shumë fushave CS që të gjithë punojnë në një domen "të caktuar": robotë. Ka shumë fusha të AI (duke përfshirë ato si njohuri përforcuese që me të vërtetë kanë fituar moment falë robotëve), por edhe shumë për teorinë e kontrollit, përpunimin e sinjalit, etj.

AI merret me aspektin e përpjekjes për të përdorur një kompjuter për detyra që shpejt mund të përkufizohen si "të lehta për njerëzit, por të vështirë për kompjuterët". Kjo përfshin një spektër shumë të gjerë nga përfundimet / planifikimi për të mësuar përmes njohjes së të folurit / të folurit ose përpunimit të imazhit. Ndërsa shumë prej tyre përdoren përsëri nga robotët, do të shihni shumë punë në AI që ose:

- ka supozime që nuk janë të përshtatshme për problemet e robotëve (p.sh. planifikimi i kompleksitetit dhe supozimeve offline që nuk janë mirë në përputhje me natyrën në kohë reale të robotikës)

- ishte zhvilluar kryesisht pa aplikime speciale të robotit (për shembull, shumica e proceseve të mësimit të makinerive nuk kryhen në mënyrë graduale, por përkundrazi në një proces grumbull, i cili nga ana tjetër tregon robotët në një pozitë të keqe).

- nuk janë me të vërtetë të rëndësishme ose janë probleme specifike për robotin (një robot me njohjen e të folurit është i bukur, por funksionaliteti i tij paraqet pak ose aspak sfidë kur aplikohet në robotë)

Ndërsa shumë njerëz janë duke punuar për të integruar ose madje edhe përmirësimin e teknikave të ndryshme të AI drejt robotikës, këto dy fusha mbeten ende të ndryshme. Sigurisht, disa njerëz janë duke punuar në AI që zbatohet për robotët (ose robotët që përdorin teknikat e AI), por këta njerëz janë relativisht të margjinalizuar nga të dy komunitetet.


përgjigje 2:

Jo, të dy fushat mbivendosen, por asnjëra nuk përmbahet në tjetrën.

Disa fusha të AI merren drejtpërdrejt me robotikën, për shembull të gjitha punojnë në lokalizimin dhe hartëzimin e njëkohshëm (SLAM) dhe navigimin, gjithçka në lidhje me perceptimin aktiv, shumë literaturë rreth mësimit të zgjeruar, përfshirë qasjet e zhvillimit etj. Në përgjithësi, shumë gjëra rreth njohjes dhe ajo që ne konsiderojmë të inteligjencës dhe sjellja inteligjente ka kuptim vetëm nëse i afroheni atyre si rezultat i bashkimit midis një agjenti (robotik ose biologjik) me mjedisin e tij, me të cilin bashkëvepron përmes një sistemi sensimotor. Me fjalë të tjera, ne jemi kafshë me trupa fizikë që veprojmë (të paktën herë pas here) me inteligjencë në botën fizike dhe jo trurin në gota ose kokë të çlodhur që përpunojnë informacion abstrakt. Kjo është e rëndësishme nëse studioni shumë aspekte të inteligjencës, artificiale apo jo. Shtë baza e njohjes së mishëruar, e cila është një zonë kërkimore interesante dhe e gjallë. Unë dhe grupi hulumtues të cilit i përkas kryesisht merremi me aspektet e AI të mishëruar për robotikë.

Tani përkufizimi i AI është aq i gjerë sa përkufizimi i inteligjencës, dhe ka qartë se ka pjesë të tij që janë jashtë këtij diapazoni. Gjëra si AI-të të lojës abstrakte (shah, shko, disa lojëra video, etj.), Sisteme ekspertësh, filtra spam, sisteme rekomandimi, përkthim automatik (dhe përgjithësisht shumica e NLP), etj., Nuk kanë nevojë për një robot (ose trup) për të punuar. Këto gjëra janë pjesë e AI, por jo edhe robotika. (Nga ana tjetër, të njëjtat metoda të përgjithshme dhe kornizë teorike shpesh mund të përdoren si për aplikime robotike ashtu edhe për ato jo-robotike. Rrjetet nervore artificiale përdoren në mënyra të ndryshme për shumë gjëra shumë të ndryshme kudo. Rrjetet Bayesian mund të përdoren gjithashtu për aplikacione robotësh për të kontrolluar robotët si dhe filtra spam etj)

Dhe robotika gjithashtu përfshin shumë gjëra që janë larg AI. Robotika ka të bëjë me mekanikën, mekatronikën, sensorët dhe aktivizuesit e ndërtesave, teorinë e kontrollit dhe automatizimin. Në teori, nuk ka asnjë arsye për të ndarë këto gjëra nga AI nën paradigmën e mishëruar të njohurive (është sistemi sensorizues që funksionon në mjedis që është inteligjent, jo një kuti inteligjente që ndodh që të përmbajë disa sensorë dhe aktrues), por përkundrazi nga një këndvështrim praktik kërkon aftësi krejtësisht të ndryshme që kanë të bëjnë më shumë me fizikën dhe nganjëherë me matematikën sesa me shkencën njohëse, shkencën e kompjuterave dhe ato që ne zakonisht mendojmë për "AI".


përgjigje 3:

Ju nuk mund të bëni robotikë pa AI

Kelësi ArKeyHandlerHandler; Aria :: setKeyHandler (& keyHandler); robot.attachKeyHandler (& keyHandler); ArLog :: log (ArLog :: Normal, "Navigimi i robotëve dhe planifikimi i rrugëve"); Sonar ArSonarDevice; robot.addRangeDevice (& sonar); robot.runAsync (e vërtetë); // aktivizoni motorët, fikni Amigobot tingëllon robot.enableMotors (); robot.comInt (ArCommands :: SOUNDTOG, 0); // Shtoni një seri veprimesh që janë të kombinuara për të ndikuar në sjelljen e ecjes, ArActionStallRecover shërohet; Armatosësit ArActionBumpers; shëtitje në rritje; Scattergram scattergram; // jep renditje; //render.display(scattergrams.rightpoints); robot.addAction (& scattergrams, 50); robot.addAction (& rikuperoni, 100); robot.addAction (& parakolp, 75); robot.addAction (& endacak, 50); // Prisni që lakja e detyrës së robotit të përfundojë përpara se të dilni nga programi robot.waitForRunExit (); Aria :: dalje (0); }

Sa i përket skedarit kryesor është vetëm një zbatim i klasave, e gjithë sjellja e robotit zbatohet përmes instancave të klasës. Në thelb, kështu e kam rregulluar kodin tim. Në çdo rast, kodimi AI për robotin vendoset zakonisht si klasë.Në një kokë të zoti dhe skedar zbatimi, unë do të bëja ngritjen e rëndë të AI / ML këtu dhe thjesht do të përdorja një shembull klase në kryesore për të thirrur funksionet e kërkuara. Unë mendoj se AI / ML duhet të jetë pjesë e robotikës, dhe në rastin tim zakonisht praktikoj robotikën time me algoritme AI, e cila vjen nga një prej "projekteve të mia të preferuara". Po, AI është pjesë e robotikës.

Nëse dua të bëj diçka me SFML-C ++ API, e quaj shembullin e duhur të klasës, kështu që ky mund të jetë API i robotit ARIA C ++, por unë tregoj grafika për të me bibliotekën e grafikëve SFML-C ++ në.