Házi Robot Robot és Mesterséges Intelligencia
Pálya keresési algoritmus kiválasztása és leírása, amely alkalmas arra, hogy a mobil robotokat előre meghatározott terep térképen irányítsa
Az adatmegjelenítés szabványosítása fontos szempont a tudás bármely területén. A RoboML a nyelv, amely megoldja ezt a problémát a robotika területén.
Figyelembe veszik a robotok által a személyi számítógépeken alapuló robotok használatát.
A mesterséges intelligencia technológiák használatának megközelítése a robotvezérlő rendszerben.
Az általános ötlet. A robotika jelenlegi helyzetének rövid leírása, a leírt robot létrehozásának előfeltételei, potenciális alkalmazások stb.
belépés
Először is tisztázzuk fő célunkat. Egy rövid bejegyzésre korlátozzuk magunkat: Hozzon létre egy komplex viselkedésű robotot. Ebben a cikkben megpróbálom leírni, hogyan lehet ezt tenni.
Mint tudja, bármely robot két részből áll:
- Vas - ami gyakran a sarokköve
- Program, vagy viselkedési - amelyről gyakran elfelejtették
Ki a dobozból? Ha azonban erre gondolsz, akkor ez a megközelítés részesül az igazságban. A modern programozási technológiák messze elhúzódtak, és több százezer esetben került sor az összeszerelő mikroprocesszorokra, amelyeket még mindig az amatőr és félprofesszionális front robottervezők használnak, hogy kidolgozzák alkotásaik viselkedési funkcióit. Van egy sajnálatos eredmény: a legtöbb ilyen projekt eléri az akadályok kitérését (ami egyébként egyszerű mechanikával valósítható meg), és ez korlátozott. De az akadályok elkerülése kőkorszak!
Tisztelt olvasó minden bizonnyal felháborodik: "Hogyan hozzunk létre valami többet otthon? Ipari számítógépekre, komplex logikai áramkörökre és nem szabványos perifériákra van szükségünk." Nem pontosan: egy hagyományos, régi személyi számítógépet is használhat, vagy jobb - egy laptop. Először is, elég, és ha minden jól megy, akkor az ipari számítógépeken lehet helyet váltani.
A számítógép használata a robot "agya" helyett
Tehát mi ad a személyes zenét a jövő robotjának agya helyett? A kezdők számára a fő kérdés, hogyan kell kezelni a külső eszközöket? A válasz egyszerű: a COM portokon (RS232) és az LPT-n keresztül. Ez a megoldás lehetővé teszi mind a motorvezérlést, mind a visszacsatolást.
A számítógép használatának hátrányairól megjegyezném néhányat, amelyek valószínűleg nagyon fontosak a rajongók számára:
- A számítógép tápfeszültség áramkörének újratervezése az akkumulátort tekintve, azaz egy speciális tápegység létrehozása
- Jelentős növekedés a robot tömegében, köszönhetően az erős akkumulátorok és a perifériák számítógépének. Következésképpen - a "kocsi" kialakításának komplikációja, erősebb (és drága) motorok használata stb. A robot becsült súlya 6 kg.
Programozási viselkedés
Nézzük meg, hogyan programozhatja meg a robot viselkedését. Ha elhagyja az összes lehetséges eszközmeghajtót, akkor szüksége van egy elvont rendszerre, amely a környezet állapotától függően bármilyen további döntést hozhat.
Egy ilyen vezérlő rendszer legegyszerűbb verziója egy véges automata (ez egy olyan matematikai modell, amely az absztrakt objektum állapotának megváltoztatására vonatkozó szabályokat tükrözi, a külső tényezők függvényében és a jelenlegi állapotban)
A véges állapotú gép lehetővé teszi a "előre telepített" viselkedési modellek végrehajtását, vagyis az objektum magzat viselkedését (esetünkben a robot).
A véges automata olyan viselkedési képleteket ír le, mint:
Ha dolgoztam, és hirtelen elkezdett esni, akkor menj haza
Egy általánosabb változatban:
Ha az objektum az A állapotban volt, és X esemény következett be, akkor az objektum a B. állapotba kerül.
A véges automaton szerepe olyan funkció, amely meghatározza az objektum új állapotának meghatározására vonatkozó szabályt.
NewMode = EndAutomatic (esemény, aktuális állapot)
A robot viselkedési funkciójának megvalósításának összetettebb változata a mesterséges intelligencia (AI) megoldásainak alkalmazása. Mindenekelőtt itt érdemes kiemelni a neurális hálózatokat. A neurális hálózat egy programmodell az emberi idegsejtek interakciójához az agyban. A neurális hálózatok segítségével megoldott fő feladatok - felismerés (képek, szövegek stb.). A neurális hálózatok legfontosabb jellemzője a memória jelenléte és a tanulási képesség. Jelenleg számos olyan kész megoldást találunk az interneten, amelyek végrehajtják a neurális hálózatok mechanizmusát. Ezért most nem a programozásra összpontosítunk, hanem elsősorban a hangolásukra.
Általában a helyes válaszok bizonyos bázisát használják a neurális hálózatok képzésére. Ez természetes, mert ha robotunk megtanulta valamit, akkor tudnia kell, hogy helyesen tanult-e. Példaként egy robot megtanulhatja megtudni, hogy az akadályok körül járjon - 180 fokos fordulattal! Ami természetesen rossz döntés.
Ezért meg kell találni azokat a fő okait, amelyek motiválják a robot működését. Mi helyes neki, és mi a hiba? Mi a jó neki és mi rossz neki?
E kérdésekben a robot által kapott államok segítséget kapnak. Ezeket az állapotokat a fentiekben ismertetett véges állapotú gépi mechanizmus határozza meg, ezért bizonyos tulajdonságokat is nehéz feltüntetni a jelzett állapotokra. Beleértve a mechanikus barátunk iránti vágyunk mértékét.
Annak meghatározásához, hogy milyen állapotban lehet robotot elhelyezni, vegyük fontolóra a különböző államokra való áttérés okait - az események rendszerében való előfordulást. Az események két dolgot tükröznek:
- A robot belső állapota az érzékelőinek jelzései szerint (például akkumulátor lemerülés, helyhiány a merevlemezen stb.)
- A robot és a környezet kölcsönhatása.
A belső események listája és azok értékelése:
- A rendszer utolsó tesztje tökéletesen megfelelt
- A rendszer utolsó tesztje sikertelen - rossz
- Alacsony akkumulátor - rossz
- Az akkumulátorok teljes lemerülése - szörnyű
- A RAM hiánya rossz
- Szoftverhibák szörnyűek
- A merevlemez-hely hiánya szörnyű
- Naptár esemény (egy adott időben, a beépített számítógépes óra használatával) - súly nélkül
A külső események listája sokkal érdekesebb. De megkülönböztetni, nehezebb. Először is, fontoljuk meg, hogy a külvilág tárgyai milyen kölcsönhatásban állhatnak robotunkkal:
- Vezetők - azok, akik létrehozták a robotot
- Azok az emberek, akik hétköznapi emberek - azok, akik a robot szolgáltatásait használják és közvetlenül kapcsolódnak a robothoz
- Néhány statikus akadály - amelynek helyzete hosszú ideig nem változott, és a robot nem tudja megváltoztatni
- Dinamikus akadályok - az eltűnő akadályok eltűnnek, de mindig egy helyen
- Kiszámíthatatlan akadályok - olyan akadályok, amelyeket nem lehet előre jelezni
- Hangforrások
- Fényforrások
- A töltés helye
- Beacons a helyzetmeghatározáshoz
A lakossággal való helyzet sokkal érdekesebb. az emberek fizikailag kölcsönhatásban vannak a robotral. Az ilyen emberek:
- Adjon parancsokat a távirányítóról (távirányító)
- Beszélj a robottal / sikoltással a robotban (ütőhang)
- A fény hatása (a robot elzárása a fényből / zseblámpával való megvilágítás)
- Akadály (instabil)
- Töltse fel a robotot (a hihi végső boldogsága)
- Kapcsolja ki a robotot
- Mozgassa a robotot
Ez a lista kiegészíthető, de azt mutatja, hogy az emberek lakói a környezet egyéb felsorolt tárgyai lehetnek, ezért a robot alapvető állapota kölcsönhatásba fog lépni ezekkel a tárgyakkal.
Talán megpróbálhatunk listát készíteni az állapotokról a külső környezet kölcsönhatása miatt:
- Parancs fogadása a távirányítóról - tömeg nélkül
- A hang jó
- Ritmikus hangzás (egyszerűen meghatározható a minőség) - finom
- Nagyon hangos hangzás - rossz
- A nem szabványos tartomány hangja rossz
- A fény jó
- Nagyon erős fény - rossz
- A fény hiánya sokáig rossz
- Immobilitás (amikor a visszacsatoló érzékelők nem rögzítik a mozgást) - ez borzalmas
- Leállítás - nincs súly
- A töltési folyamat tökéletes
Mit jelent ez a súlyok megoszlása? Ez a legfontosabb dolog - a robot érdeklődési köre, és egy lista, amiről félni fog. Ha a robot úgy látja, hogy ugyanazok a cselekmények (vagy akár összetett műveletek) mindig ugyanazokat az eredményeket eredményezik (ugyanabban az állapotban fordítva), akkor megpróbálja elkerülni az ilyen cselekvéseket - ha az állam súlya negatív, vagy fordítva, ismételje meg őket, ha a súly pozitív. És a képzés automatikusan zajlik, a neurális hálózatok munkájának elve szerint. By the way, annak érdekében, hogy megakadályozzák a robot rögzítése egy dolog, akkor is meg kell adnia a "tevékenység változása" prioritás prioritás tökéletesen. és ebben a helyzetben a robotnak egy ideje el kell mennie, ha ez idő alatt egy vagy több (kicsi) állapotban van.