Robotika yra unikalus mokslo ir technologijų mišinys, gaminantis mašinas, imituojančias žmonių veiksmus.
2000-ųjų pradžioje 90 % robotų buvo automobilių gamybos įmonėse, keitę žmones atliekant pasikartojančias užduotis. Dabar robotai gali išsiurbti namus ir net tarnauti restoranuose.
Robotas dažniausiai susideda iš trijų tipų komponentų; mechaninis korpusas; elektrinis skeletas ir galiausiai smegenys, pagamintos naudojant kodą.
Šie komponentai leidžia robotui rinkti duomenis (dažnai iš jutiklių), priimti sprendimus per užprogramuotą logiką, kad pritaikytų elgesį ir atliktų užduotis.
Robotai gali turėti trijų tipų programas; Nuotolinio valdymo pultas (RC), Dirbtinis intelektas (AI) arba hibridinis.
RC programos reikalauja žmogaus įsikišimo, kuris gali duoti pradžios ir (arba) sustabdymo signalą, kad būtų vykdomas kodas. Programas sudaro įvairių tipų algoritmai, kurių kiekvienas turi skirtingą funkciją.
Kas yra algoritmas?
Algoritmas yra kodo eilučių serija, kurią robotas gali naudoti vykdydamas tam tikras instrukcijas. Jis verčia kūrėjo idėjas į kalbą, kurią supranta robotai.
Algoritmai gali būti išreikšti įvairiais žymėjimais, įskaitant pseudokodą, struktūrines schemas, programavimo kalbos, arba valdymo lenteles.
Šiame straipsnyje aptarsime kai kuriuos dažniausiai šiose programose naudojamus algoritmų tipus.
Robotikoje naudojamų algoritmų tipai
1. Bet kada A* algoritmas
A* algoritmas yra kelio paieškos algoritmas, kuris naudojamas rasti optimaliausią kelią tarp dviejų taškų, ty su mažiausiomis sąnaudomis.
„Anytime A*“ algoritmas turi lanksčias laiko sąnaudas ir gali grįžti trumpiausiu keliu, net jei jis nutrūksta, nes pirmiausia sukuria neoptimalų sprendimą, o tada jį optimizuoja.
Tai leidžia greičiau priimti sprendimus, nes robotas gali remtis ankstesniais skaičiavimais, o ne pradėti nuo nulio.
Kaip tai veikia?
Tai daroma sudarant „medį“, kuris tęsiasi nuo pradžios mazgo iki tol, kol suveikia nutraukimo kriterijai, o tai reiškia, kad yra pigesnis kelias.
2D tinklelis sudaromas su kliūtimis, o pradinė ląstelė ir tikslinės ląstelės yra nukreiptos smeigtukais.
Algoritmas apibrėžia mazgo „reikšmę“ pagal f, kuri yra parametrų g (perėjimo iš pradinio mazgo į atitinkamą mazgą kaina) ir h (perkėlimo iš aptariamo mazgo į tikslinį mazgą kaina) suma.
Programos
Daugelis žaidimų ir internetinių žemėlapių naudoja šį algoritmą, kad efektyviai rastų trumpiausią kelią. Jis taip pat gali būti naudojamas mobiliesiems robotams.
Taip pat galite išspręsti sudėtingas problemas, tokias kaip Niutonas – Rafsonas iteracija, taikoma ieškant skaičiaus kvadratinės šaknies.
Jis taip pat naudojamas trajektorijos uždaviniuose numatyti objekto judėjimą ir susidūrimą erdvėje.
2. D* Algoritmas
D*, Focused D* ir D* Lite yra laipsniniai paieškos algoritmai, skirti rasti trumpiausią kelią tarp dviejų taškų.
Tačiau jie yra A* algoritmų ir naujų atradimų mišinys, leidžiantis į savo žemėlapius įtraukti informaciją apie nežinomas kliūtis.
Tada jie gali perskaičiuoti maršrutą pagal naują informaciją, panašiai kaip „Mars Rover“.
Kaip tai veikia?
D* algoritmo veikimas yra panašus į A*, algoritmas pirmiausia apibrėžia f, h ir sukuria atvirą ir uždarą sąrašą.
Po to D* algoritmas nustato dabartinio mazgo g reikšmę, naudodamas gretimų mazgų g reikšmę.
Kiekvienas gretimas mazgas spėja apie dabartinę g reikšmę ir trumpiausia g reikšmė pritaikoma kaip nauja g reikšmė.
Programos
D* ir jo variantai plačiai naudojami mobiliesiems robotams ir autonominė transporto priemonė navigacija.
Tokios navigacijos sistemos apima sistemos prototipą, išbandytą marsaeigiuose Opportunity ir Spirit, ir navigacijos sistemą, kuri laimėjo DARPA Urban Challenge.
3. PRM algoritmas
PRM arba tikimybinis planas yra galimų takų tinklo grafikas, pagrįstas laisvomis ir užimtomis tam tikro žemėlapio erdvėmis.
Jie naudojami sudėtingose planavimo sistemose, taip pat norint rasti pigių būdų apeiti kliūtis.
PRM savo žemėlapyje naudoja atsitiktinę atranką taškų, kuriuose robotas gali judėti, ir tada apskaičiuojamas trumpiausias kelias.
Kaip tai veikia?
PRM susideda iš konstravimo ir užklausos fazės.
Pirmajame etape nubraižytas planas, kuris apytiksliai apskaičiuoja galimus judesius aplinkoje. Tada sukuriama atsitiktinė konfigūracija ir prijungiama prie kai kurių kaimynų.
Pradžios ir tikslo konfigūracijos yra prijungtos prie grafiko užklausos etape. Tada kelias gaunamas a Dijkstra trumpiausias kelias užklausa.
Programos
PRM naudojamas vietiniuose planuotojuose, kur algoritmas apskaičiuoja tiesią kelią tarp dviejų taškų, būtent pradinio ir tikslo taškų.
Algoritmas taip pat gali būti naudojamas kelio planavimo ir susidūrimo aptikimo programoms tobulinti.
4. Nulinio momento taško (ZMP) algoritmas
Nulinio momento taškas (ZMP technika) yra algoritmas, kurį naudoja robotai, norėdami išlaikyti bendrą inerciją, priešingą grindų reakcijos jėgai.
Šis algoritmas naudoja ZMP skaičiavimo koncepciją ir taiko ją taip, kad subalansuotų dvikojus robotus. Šio algoritmo naudojimas ant lygaus grindų paviršiaus leidžia robotui vaikščioti taip, lyg to nebūtų.
Tokios gamybos įmonės kaip ASIMO („Honda“) naudoja šią techniką.
Kaip tai veikia?
Vaikštančio roboto judėjimas planuojamas naudojant kampinio momento lygtį. Tai užtikrina, kad generuojamas sąnario judesys garantuoja dinaminį roboto laikysenos stabilumą.
Šis stabilumas kiekybiškai įvertinamas nulinio momento taško atstumu (apskaičiuotu pagal algoritmą) iš anksto nustatytos stabilumo srities ribose.
Programos
Nuliniai momento taškai gali būti naudojami kaip metrika, leidžianti įvertinti robotų, tokių kaip iRobot PackBot, stabilumą, kad jie neapvirstų važiuojant rampomis ir kliūtimis.
5. Proporcinio integralinio diferencialo (PID) valdymo algoritmas
Proporcinis integruotas diferencialinis valdymas arba PID sukuria jutiklio grįžtamojo ryšio kilpą, kad būtų galima reguliuoti mechaninių komponentų nustatymus apskaičiuojant klaidos reikšmę.
Šie algoritmai sujungia visus tris pagrindinius koeficientus, ty proporciją, integralą ir išvestinę, kad sukurtų valdymo signalą.
Jis veikia realiuoju laiku ir prireikus taiko pataisymus. Tai galima pamatyti savarankiškai vairuoti automobiliai.
Kaip tai veikia?
Tiksliam ir optimaliam valdymui PID valdiklis naudoja tris valdymo sąlygas: proporcingumo, integralinio ir išvestinio poveikio jo išėjimui.
Šis valdiklis nuolat skaičiuoja paklaidos reikšmę kaip skirtumą tarp norimos kontrolinės vertės ir išmatuoto proceso kintamojo.
Tada taiko pataisą, kad laikui bėgant būtų sumažinta klaida, koreguojant valdymo kintamąjį.
Programos
Šis valdiklis gali valdyti bet kokį procesą, turintį išmatuojamą išvestį, žinomą idealią tos išvesties vertę ir įvestį į procesą, kuris turės įtakos išmatuojamam išėjimui.
Valdikliai naudojami pramonėje norint reguliuoti temperatūrą, slėgį, jėgą, svorį, padėtį, greitį ir bet kurį kitą kintamąjį, kurio matavimas egzistuoja.
Išvada
Taigi, tai buvo vieni dažniausiai robotikoje naudojamų algoritmų. Visi šie algoritmai yra gana sudėtingi, nes veiksmams ir judėjimui nustatyti naudojamas fizikos, tiesinės algebros ir statistikos derinys.
Tačiau tobulėjant technologijoms, robotikos algoritmai taps dar sudėtingesni. Robotai galės atlikti daugiau užduočių ir daugiau galvoti patys.
Jei jums patiko šis straipsnis, užsiprenumeruokite HashDork's Weekly el. laiškais, kuriuose dalijamės naujausiomis AI, ML, DL, programavimo ir ateities technologijų naujienomis.
Palikti atsakymą