A robotmozgástervezés egyszerűen

Robot mozgástervezés? Alapvető? Tényleg nem bonyolult a mozgástervezés!? Nem feltétlenül. Ha használt már GPS-t, offline programozással könnyen megértheti a mozgástervezést.

Vissza az alapokhoz?

Mozgástervezés?

Lehet, hogy azt gondolja: A robotmozgás tervezése nem egy nagyon fejlett téma?

Nos, igen, ez elég fejlett lehet. Ha saját mozgástervezési algoritmust szeretne létrehozni, és minden programozást maga végez, a téma gyorsan bonyolulttá és zavarossá válhat. De nem kell ismernie az összes bonyolult matematikai részletet ahhoz, hogy megértse, hogyan használhatja a mozgástervezést robotalkalmazásaiban.

Ha valaha is használt GPS-t, vagy követte az okostelefon útmutatásait, meg kell értenie a robot mozgástervezésének alapjait.

Mi az a robotmozgástervezés? (PS már tudod)

Valószínűleg jól kitalálhatja a „robot mozgástervező” funkcióját, ha megnézi magát a nevet, igaz? A mozgástervező egy olyan algoritmus, amely automatikusan megtervezi az útvonalat (más néven pályát, útvonalat), amelyen a robot eljut, hogy eljusson A pontból B pontba.

Manapság szinte mindenki ismeri a mozgástervezőket, de a legtöbben nem veszik észre, hogy igen.

Néhány évvel ezelőtt egy ötletes hasonlattal kellett volna előállnom, hogy leírjam, mit csinált egy mozgástervező. Többé nem. Legalább az elmúlt évtizedben szinte mindenkinek van okostelefonja GPS-szel és térképes alkalmazással. Ezek az alkalmazások ugyanolyan típusú tervezési algoritmusokat használnak, mint a robotmozgástervezők.

Minden nap használ egy mozgástervezőt

Képzelje el, hogy feloldja okostelefonját, megnyitja a térképalkalmazást, és megkérdezi tőle: „Hogyan sétálhatok el a házamból Belluccio pizzázójába?”

Az okostelefonnak most két helye van:

  1. A kiindulási hely (az Ön háza).
  2. A végállomás (Belluccio pizzázója)

A két hely között összefüggő utcák hálózata található. Szinte végtelen számú különböző útvonal közül választhat. A térképalkalmazás egy tervezési algoritmust használ a legjobb útvonal megrajzolásához a két hely között.

De honnan tudja az alkalmazás, hogy mi a „legjobb útvonal”?

Nem az! Talán a „legjobb” útvonal a legrövidebb. Talán ez a leggyorsabb. Csak te tudod, mit jelent a „legjobb”. Ez az oka annak, hogy az alkalmazás valószínűleg több különböző lehetőséget kínál az útvonalakhoz, és választania kell közöttük. Az emberek azonban nem tudnak egyszerre 3 vagy 4 opciónál többet kezelni, ezért az alkalmazás valószínűleg a 3 legrövidebb, leggyorsabb útvonalat választja, és megkéri, hogy válasszon ezek közül.

A robot mozgástervezése ugyanazt az algoritmust használja, hogy eldöntse, melyik a legjobb útvonal a robot számára. Leggyakrabban a mobil robotikában használják, ahol a probléma nagyon hasonlít a GPS-térképpéldánkhoz. Azonban ipari manipulátorokhoz is használják. Ebben az esetben a tervezési probléma valamivel összetettebb, mert az útvonalakat 3D térben kell megtervezni.

Miért használjuk a mozgástervezést az ipari robotikában?

A mozgástervezők használatának fő oka az, hogy felgyorsítja a programozási folyamatot, ha a robot összetett környezetben van. Ahelyett, hogy minden egyes lépést magunk terveznénk meg, a mozgástervező automatikusan létrehozhat egy vagy több jó útvonalat a robot számára.

Figyeld meg, hogy azt mondtam, „amikor a robot összetett környezetben van”. Ez alatt azt a környezetet értem, ahol sok az akadály. Sok robotalkalmazás esetében a munkaterület két helye közötti út akadályoktól mentes. Ha igen, egy egyszerű „Összemozgatás” parancs gyorsabb és hatékonyabb. Ha azonban akadályok vannak a környezetben, fennáll annak a veszélye, hogy a robot összeütközhet velük. Ebben az esetben a kézi tervezés kevésbé hatékony, mint a mozgástervező használata.

Mielőtt azonban mozgástervezőt használna az ütközések elkerülésére, győződjön meg arról, hogy nincs egyszerűbb módja a robotütközések elkerülésének, tekintse meg korábbi, 5 egyszerű módja a robotütközések elkerülésének című cikkünket.

Hogyan működik a mozgástervező?

Különböző mozgástervező algoritmusok egész sora létezik, és mindegyik kissé eltérő módon működik. Van azonban köztük hasonlóság.

Íme három szempont, amelyek az összes mozgástervezőben közösek:

1. Konfigurációs terület: Miért okosabb, mint a telefonja

A konfigurációs tér leírja az összes helyet és tájolást, amelyet a robot esetleg el tud helyezni a környezetben. Mielőtt az algoritmus megtervezhetne egy útvonalat, tudnia kell, hogy melyik lehetséges pont az útvonalon.

Térjünk vissza az okostelefonos GPS-példánkhoz. A konfigurációs tér az összes olyan utca, amely az egész világon fel van térképezve (igen, lehetséges olyan útvonalat kijelölni a háza és a pizzéria között, amely egy környező országon keresztül vezet). A világ azonban nagyon nagy, ezért a tervezési algoritmus valószínűleg az összes utcára korlátozza a konfigurációs teret a kezdő és véghely közötti sugárban.

Fontos, hogy a konfigurációs terület pontosan reprezentálja a környezetet. Íme, miért:

Képzelje el, hogy ismeri a Belluccio pizzázójához vezető parancsikont, amelynek során átugorja a kerítést a hátsó udvarban, és végigsétál egy sikátoron. Az algoritmus soha nem fogja használni ezt a parancsikont, még akkor sem, ha ez a legjobb útvonal, mert a konfigurációs terület nem tartalmazza a sikátort vagy a kerti kerítésen át vezető utat.

2. Szabad tér: Hol mozoghat a robot?

A robot munkaterületén lesznek olyan terek, amelyeket a robot nem tud elmozdítani, pl. mert akadályok vannak bennük. Az algoritmus eltávolítja az összes akadályozott helyet a konfigurációs térből.

Így marad a „szabad hely”, amely tartalmazza az összes olyan helyet, amely valóban rendelkezésre áll a mozgástervezéshez.

A konfigurációs tér rögzített. A szabad terület azonban változhat, amikor új objektumok lépnek be és hagyják el a környezetet.

3. Tervezés: milyen utat választ a robot?

Végül a mozgástervező algoritmus a legjobb útvonalat ábrázolja a szabad területen belül. Ez az, ahol a különböző megközelítések mozgástervezés része a társaság.

Egyes algoritmusokat (kombinatorikus tervezési algoritmusokként ismertek) „teljesnek” neveznek, ami azt jelenti, hogy mindig megtalálják a megoldást, ha létezik ilyen, vagy egyébként hibát jelentenek. Mások (mintavételen alapuló tervezésként ismertek) hatékonyabbak, de előfordulhat, hogy bizonyos helyzetekben nem találnak megoldást.

Az ipari robotikában a hatékonyabb megoldás valójában jobb, még akkor is, ha bizonyos esetekben hiányzik a megoldás. Hasznosabb, ha gyorsan választ kapunk, mint órákat várni, amíg a mozgástervező algoritmus teszteli az összes lehetséges útvonalat. Ez az oka annak, hogy a mintavételen alapuló tervezési algoritmusokat, például a valószínűségi ütemterveket (PRM) gyakran előnyben részesítik az alternatívákkal szemben.

A robotmozgástervezők használata az alkalmazásban

A mozgástervezés saját robotalkalmazásába való beépítésének legegyszerűbb módja az offline programozószoftverbe integrált mozgástervező használata. Azaz, ha a szoftver rendelkezik mozgástervezővel, akkor elérhető. A legtöbb nem.

Ez év előtt a RoboDK nem tartalmazott mozgástervezőt… de most ez megváltozott!