Ar robotika yra PG dalis? Kuo skiriasi jie?


Atsakymas 1:

Tikrai ne, abu laukai sutampa, bet nė vienas iš jų nėra vienas kito.

Robotikos tyrimų bendruomenė yra ta, kurią galite pamatyti kaip kelis žmones iš CS, kurie naudoja robotus kaip jų taikymo sritį. Robotai pateikia skirtumą nuo klasikinės CS, kad skaičiavimo sistema būtų tvirtai susieta su pasauliu: realiojo laiko, labai dinamišku ir sunkiai prognozuojamu pasauliu, kuriame dalyvauja daugybė jutiklių ir pavarų, kurie paprastai būna triukšmingi (daug daugiau nei jūsų tipinis stalinis kompiuteris, kuriame jutikliai - pelė ir klaviatūra - ir „pavaros“ - rodomi paprastai yra labai patikimi palyginti).

Šiuo atžvilgiu robotas yra daugybė CS domenų, kurie veikia „specifiniame“ domene: robotai. Jūs rasite daugybę AI sričių (net kai kurias, pavyzdžiui, mokymąsi sustiprinti, kurios tikrai įgavo pagreitį dėl robotų), bet taip pat daug apie valdymo teoriją, signalo apdorojimą ir tt

AI apima bandymą naudoti kompiuterį atliekant užduotis, kurias greitai galima apibrėžti kaip „lengvai atliekamas žmonėms, bet sunkus kompiuteriams“. Tai apima labai platų spektrą, pradedant nuo išvadų / planavimo ir baigiant mokymusi per kalbą / balso atpažinimą ar vaizdą apdorojimas. Nors daugelį iš jų vėl naudoja robotai, AI pamatysite daugybę darbų, kurie:

- turi prielaidas, kurios netinkamai veikia robotikos problemą (pavyzdžiui, planavimo sudėtingumas ir prielaidos neprisijungus netinka kartu su robotikos pobūdžiu realiuoju laiku)

- dažniausiai buvo sukurtas be konkrečių taikymo robotų srityje (pavyzdžiui, dauguma mašininio mokymosi dažniausiai mokosi ne laipsniškai, o paketinio proceso metu, kuris vėlgi blogai veikia robotus)

- nėra iš tikrųjų svarbios ar specifinės robotikos problemos (turėti robotą, atpažįstantį balsą, yra malonu, tačiau tai, kaip jis veikia, nėra labai sudėtinga, o naudojant robotus)

Nors daugelis žmonių stengiasi integruoti ar net patobulinti įvairius AI metodus link robotikos, vis tiek tos 2 sritys liko skirtingos. Be abejo, kai kurie žmonės dirba su AI, naudojamais robotams (arba robotams, naudojantiems AI techniką), tačiau tie žmonės išlieka abiejose bendruomenėse.


Atsakymas 2:

Ne, abu laukai sutampa, bet nė vienas iš jų nėra įtrauktas į kitą.

Kai kurios AI sritys yra tiesiogiai susijusios su robotika, pavyzdžiui, visi darbai apie vienalaikį lokalizavimą ir žemėlapių sudarymą (SLAM) bei navigaciją, viskas apie aktyvų suvokimą, daug literatūros apie sustiprinimo mokymąsi, raidos metodai ir kt. yra daug dalykų apie pažinimą ir tai, ką mes laikome intelektu bei intelektualiu elgesiu, kurie yra prasmingi tik tada, kai kreipiatės į juos kaip į priežastį, atsirandančią dėl agento (roboto ar biologinio) ir jo aplinkos, su kuria jis sąveikauja per sensorimotorinę sistemą, susiejimo. Kitaip tariant, mes esame gyvūnai, turintys fizinį kūną (bent jau retkarčiais) protingai veikiantį fizinį pasaulį, o ne smeigiantys stiklainius ar įsimylėjusius protus, apdorojantys abstrakčią informaciją, ir tai yra svarbu, kai tyrinėjate daugelį intelekto aspektų, dirbtinių ar ne. Tai yra įkūnyto pažinimo pagrindas, kuris yra žavi ir gyva tyrimų sritis; Aš ir tyrimų grupė, kuriai priklausau, daugiausia dėmesio skiriu tiems robotikos AI aspektams.

Dabar AI apibrėžimas yra toks pat platus, kaip ir jūsų žvalgybos apibrėžimas, ir akivaizdu, kad kai kurios jo dalys nepatenka į šios srities taikymo sritį. Tokiems dalykams kaip abstrakčių žaidimų AI (šachmatai, eik, kai kurie vaizdo žaidimai ir tt), ekspertų sistemos, šlamšto filtrai, rekomendacijų sistemos, automatinis vertimas (ir apskritai didžioji dalis NLP) ir kt. Nereikia specialiai roboto (ar kūno ) dirbti. Tie dalykai yra PG dalis, bet ne robotika. (Kita vertus, tie patys bendrieji metodai ir teorinės sąrangos dažnai gali būti naudojami tiek robotuose, tiek ne robotuose. Dirbtiniai neuroniniai tinklai yra naudojami visur skirtingais būdais daugybei labai skirtingų dalykų, mokymasis stiprinti turi daug ne - ir robotų programose, Bajeso tinklai gali būti naudojami robotų valdikliams gaminti, taip pat šlamšto filtrams ir kt.)

Robotika taip pat apima daugybę dalykų, kurie yra gana toli nuo AI. Daug robotikos yra apie mechaniką, mechatroniką, pastatų jutiklius ir pavaras, valdymo teoriją ir automatizavimą. Teoriškai pagal įkūnytą pažinimo paradigmą nėra reikalo atskirti tuos dalykus nuo AI (intelektuali yra sensomotorinė sistema, veikianti aplinkoje, o ne intelektuali dėžutė, kurioje yra keletas jutiklių ir pavarų), o praktiniu požiūriu. žvelgiant iš jų, reikia labai skirtingų įgūdžių rinkinių, kurie labiau susiję su fizika ir kartais matematika, o ne su pažinimo mokslu, informatika ir tuo, ką mes paprastai galvojame apie „AI“.


Atsakymas 3:

Jūs negalite daryti robotikos be AI

„ArKeyHandler“ „keyHandler“;
 Arija :: setKeyHandler (& keyHandler);
 robot.attachKeyHandler (& keyHandler);
 „ArLog :: log“ („ArLog :: Normal“, „Roboto naršymas ir kelio planavimas“);
 „ArSonarDevice“ sonarą;
 robot.addRangeDevice (& sonarą);
 robot.runAsync (tiesa);
 // įjunkite variklius, išjunkite amigoboto garsus
 robot.enableMotors ();
 robot.comInt (ArCommands :: SOUNDTOG, 0);
 // pridėkite veiksmų rinkinį, kuris derinamas kartu, kad būtų pasiektas klaidžiojimo elgesys
 „ArActionStallRecover“ susigrąžinti;
 „ArActionBumpers“ bamperiai;
 klajoti klajoti;
 scattergram scattergramos;
 // render render;
 //render.display(scattergrams.rightpoints);
 robot.addAction (& scattergrams, 50);
 robot.addAction (& atkurti, 100);
 robot.addAction (ir bamperiai, 75);
 robot.addAction (& wander, 50);
 // prieš išeidami iš programos, palaukite, kol pasibaigs roboto užduoties kilpa
 robot.waitForRunExit ();
 Arija :: išėjimas (0);
}

kadangi pagrindinis failas yra tik klasių įgyvendinimas, visas roboto elgesys įgyvendinamas per klasės egzempliorius, taigi iš esmės būtent taip aš ir mėgstu išdėstyti savo kodą, bet kokiu atveju roboto kodavimas AI paprastai yra klasė. tvarkingoje antraštėje ir diegimo faile, štai kur daryčiau sunkų AI / ML kėlimą ir tiesiog naudočiau klasės egzempliorių, iškviečiant reikiamas funkcijas. Manau, kad AI / ML turėtų būti robotikos dalis, ir, mano atveju, aš paprastai praktikuoju savo robotiką naudodamas AI algoritmus, tai yra paimta iš mano „naminių gyvūnėlių projekto“. Taip PG yra robotikos dalis.

Jei noriu ką nors atvaizduoti naudodamas SFML C ++ API, paskambinu į atitinkamą klasės egzempliorių, tokiu būdu jis yra įmanomas, tai iš tikrųjų yra ARIA C ++ roboto API, bet aš jį rodau naudodamas SFML grafikos C ++ biblioteką.