Legújabb szolgáltatásunk – a RoboDK PRM mozgástervező – lehetővé teszi, hogy egy gombnyomással AI-alapú robotpályákat készítsen. De hogyan működik?
Nem mindig éljük meg a tiszta, szabad munkaterület luxusát, igaz? Ez igaz a saját személyes munkaterületünkre is (pl. az asztalomat letakarják a felesleges tárgyak). Ez a robotunk munkaterületére is igaz.
Néha a robot munkatere kisebb, mint azt terveztük. Néha egy hatalmas oszlop áll a munkaterület közepén, amitől nem tudunk megszabadulni. Néha van egy halom doboz, amelyet máshol nem lehet tárolni.
Amikor fennáll annak a lehetősége, hogy robotja összeütközik valamivel a munkaterületen, új mozgástervezőnk itt van, hogy megkönnyítse az életét.
Egy gombnyomással ütközésmentes utat tud létrehozni robotprogramja számára.
Ez a cikk bemutatja a PRM mozgástervezését, és elmagyarázza, mikor érdemes használni ezt az új funkciót.
Mit jelent a PRM?
Az új RoboDK mozgástervező a „PRM” nevű algoritmust használja, ami a „valószínűségi útiterv” rövidítése. Ez egy nagyon elterjedt mozgástervező típus, bizonyos okok miatt, amelyekbe hamarosan bele fogunk térni.
Számos különböző mozgástervezési algoritmus áll rendelkezésre a robotikához, a meglehetősen egyszerűtől a rendkívül bonyolultig terjedő összetettségben. Ha egyáltalán nem ismeri a mozgástervezőket, olvassa el korábbi cikkünket Vissza az alapokhoz: A robotmozgástervezés egyszerűen
Íme, mit jelent a PRM:
- P = valószínűségi — A „konfigurációs tér” pontjait (azaz azon pontok halmazát, amelyeket a tervező arra használ, hogy tudja, merre mozoghat a robot a munkaterületén) a tervező véletlenszerűen választja ki. Ezt a véletlenszerű elhelyezést „valószínűségnek” nevezik. Az alternatíva az „egységes” elhelyezés, ahol a pontokat rendszeres időközönként helyezik el a teljes munkaterületen.
- RM = Útiterv — A PRM algoritmusok úgy működnek, hogy először elkészítik a robot teljes munkaterületének „útvonaltervét”. Ez a térkép hasonló ahhoz, amelyet az okostelefon GPS-útvonal-funkciója használ. A térkép létrehozása eltarthat egy ideig, de ha már létrejött, nem kell újra kiszámolnia, így sokkal gyorsabban „lekérdezheti” a térképet.
Ebből a két kifejezésből a következőket mondhatjuk a PRM mozgástervezőről:
- Mindig talál egy életképes robotpályát (ha van ilyen).
- Megmenti a konfigurációs terület ütemtervét, hogy felgyorsítsa a „lekérdezés” fázist.
Ez a két ok, amiért a mozgáskorlátozottak tervezői népszerűek.
Hogyan működik a PRM
Egyes mozgástervezőkkel ellentétben a PRM algoritmusok 2 különálló fázisra osztják a munkájukat. Mielőtt használná a tervezőt a RoboDK-ban, be kell állítania néhány tulajdonságot.
Beállítási fázis
Három tulajdonságot kell manuálisan beállítani a tervező futtatása előtt.
Így állíthatja be ezeket a tulajdonságokat a RoboDK-ban (és mit jelentenek):
- A minták száma – Kiválaszthat néhány „mintát”, amelyeket a tervező a robot munkaterülete körül az építési szakaszban elhelyez. A kevesebb minta gyorsabb építési fázist, de nyersebb ütemtervet jelent.
- Élek mintánként – Minden mintának van maximális számú „éle”. Mindegyik él két mintát köt össze. A kevesebb él ismét gyorsabb építési fázist jelent, de nyersebb ütemtervet.
- Robot lépés (fok) — Amikor a PRM algoritmus végigfut az építési fázison, minden alkalommal kis távolságra mozgatja a robotot. Ezt a távolságot a robot lépése határozza meg. A nagyobb lépés gyorsabb építési fázist jelent, de nagyobb az esélye annak, hogy a tervező nem veszi észre az esetleges ütközést.
Ezután kattintson a „Térkép frissítése” gombra az építési fázis elindításához.
1. fázis: Építés (lassú)
A tervezés első fázisa az ütemterv elkészítése. Ez hosszú ideig tarthat (nagyjából 15-30 perc 100 mintánál, mintánként 25 éllel).
Így működik az építési szakasz „a motorháztető alatt”:
- A tervező egy „mintát” helyez el egy véletlenszerű helyre, valahol a robot munkaterületén belüli szabad helyre.
- Az algoritmus ezután teszteli a minta és a környező minták közötti utat. A robotot a „robot lépéssel” mozgatja az ösvényen, és ellenőrzi az ütközéseket. Ha az útvonal szabad, akkor az útvonalat „szegélyként” adja hozzá az ütemtervhez.
- Amikor a tervező eléri a minta éleinek maximális számát, továbblép a következő mintára.
Láthatja, hogy ez a fázis miért tart sokáig – az algoritmusnak sok tesztelendő mintája van. Szerencsére a térkép létrehozása után nem kell újra kiszámolnia (hacsak nem ad hozzá új objektumokat a környezethez).
2. fázis: Lekérdezés (gyors)
A lekérdezési fázis a mozgástervezés azon része, amelyet leggyakrabban használ. Két célt ad meg a tervezőnek (egy kezdő és egy végcél). A tervező ezután megpróbál egy ütközésmentes pályát létrehozni köztük a tárolt útiterv segítségével.
Ez a fázis így működik „a motorháztető alatt”
- Kijelöl két célpontot, és megmondja a tervezőnek, hogy „kapcsolja össze” őket.
- Ha valamelyik cél még nincs hozzáadva az ütemtervhez, a tervező új mintaként adja hozzá, és létrehoz egy élkészletet az új hely és a közelben lévő meglévő minták között.
- A tervező ezután az ütemterv alapján keresi meg azt az utat, amelynél a legrövidebb a távolság a két cél között.
Kellően részletes útitervvel ez lehetővé teszi, hogy egyetlen gombnyomással másodpercek alatt bonyolult, ütközésmentes robotmozgásokat készítsen.
Mikor használjam a mozgástervezőt?
A mozgások RoboDK-ba programozásának szokásos módja az, hogy saját kezűleg megtervezzük a mozdulatokat közös mozgások, lineáris vagy körmozgások segítségével. Még mindig ez a leggyorsabb módja annak, hogy a robotot két célpont közötti mozgásra programozzuk.
Ezek a szabványos parancsok azonban csak akkor működnek, ha van szabad hely a két cél között. Ha tárgyak vannak az úton, akkor előfordulhat, hogy sok időt kell töltenie a közbenső célpontok létrehozásával, hogy elkerülje az ütközéseket.
A mozgástervező lehetőséget ad ennek a folyamatnak a automatizálására. Automatikusan megtalálja a legjobb mozdulatsort, hogy ütközés nélkül mozgassa a robotot a célok között.
De van egy kompromisszum. Sokáig kell várnia az építési fázis befejezésére, mielőtt a tervező elkezdheti megtalálni az Ön számára az utakat.
Legtöbbször ez a hosszú várakozás nem okoz gondot. Csak „be kell állítani és elfelejteni”. Hagyja futni az építési fázist, amíg valami mást csinál.