5 egyszerű módszer a robotütközések elkerülésére (és egy utolsó lehetőség)

Hogyan akadályozhatja meg, hogy robotja a munkaterületén lévő tárgyaknak ütközzen? Így kerülheti el a robotok ütközését anélkül, hogy megnehezítené az életét.

A RoboDK fórumon nemrégiben feltett kérdés rámutatott egy gyakori problémára a robotokkal kapcsolatban. A Micronexx felhasználó megkérdezte, hogyan lehet elkerülni az ütközéseket. Megkérdezték, hogy a RoboDK automatikusan generál-e ütközésmentes útvonalakat, vagy a felhasználónak manuálisan kell módosítania.

Ez bonyolultabb kérdés, mint elsőre tűnik. A RoboDK minden bizonnyal tartalmaz olyan funkciókat, amelyek segítenek elkerülni az ütközéseket, beleértve néhány automatikus útválasztást. Azonban az „ütközés elkerülése” a robotikában mély és összetett téma. A teljes kutatási projekteket a pályatervezésnek és az ütközések elkerülésének szentelik. Még fejlett mesterséges intelligencia algoritmusokat is kifejlesztettek hozzá.

A jó hír az, hogy legtöbbünk számára a dolgoknak nem kell olyan bonyolultnak lenniük. Vannak egyszerűbb módszerek is annak megakadályozására, hogy robotja tárgyakkal ütközzön.

5 egyszerű módszer a robotütközések elkerülésére

Általában a legjobb az egyszerűséggel kezdeni.

Ez egy jó ökölszabály, amikor megpróbálja megoldani a robotprogramozási problémáit. Annak ellenére, hogy a robotok fejlett funkciókra is képesek, gyakran az egyszerű mérnöki megoldások a legjobbak.

Íme 5 egyszerű módja annak, hogy megakadályozza a robot tárgyakkal való ütközését.

1. Kezdettől fogva megfelelően tervezze meg munkaterületét

Az ütközések leggyakrabban akkor fordulnak elő, ha a munkaterületet nem tervezték meg megfelelően. Minden robotintegrációt a tér megtervezésével kell kezdeni, pl. papíron vázlatosan.

Tervezze meg, mely területeken fog mozogni a robot, és mely területek lesznek a hatókörén kívül. Mielőtt elkezdené programozni a robotba, próbálja meg a robot mozdulatsorát a saját karjával „játszani” – ez egy nagyon hatékony módszer a lehetséges problémák megelőzésére, és nagyon gyorsan megtehető.

2. Fizikailag távolítsa el a lehetséges akadályokat

Az ütközések elkerülésének legjobb módja annak biztosítása, hogy a robot semmivel ne ütközhessen. Ez azt jelenti, hogy mindent el kell távolítani a munkaterületről, ami akadályozhatja a robot útját.

Győződjön meg arról, hogy szabad útvonal van a munkaterület különböző területei között. Ha a robot felveszi az objektumokat az egyik helyről, és összeállítja őket egy másik helyen, távolítson el mindent a két hely közötti munkaterületről.

Ez magától értetődőnek tűnhet, de könnyen elfelejthetjük, hogy megtegyük, ha offline programozást használunk. Például láthat egy oszlopot a robot munkaterületén, és azt mondja: „Rendben van. Csak kerülni fogom a robotprogramban.” De aztán, mivel egy szimulált környezetben programozunk, ahol a pillér nem létezik, elfelejtjük, és beprogramozzuk a robotot, hogy haladjon át rajta.

3. Párosítsa a Való Világot a szimulációval

A valós világnak és a RoboDK-n belüli szimulációnak a lehető legszorosabban kell illeszkednie. Ezt 2 módon érheti el:

  1. Készítsen pontos modellt a fizikai munkaterületről a szimuláción belül — Ez magában foglalja minden objektum pontos helyének mérését és modellezését a szoftverben. Ez rendkívül időigényes lehet, és minél inkább támaszkodik a szimuláció pontosságára, annál kevesebb a hibalehetőség.
  2. Távolítsa el a valós világból azokat a tárgyakat, amelyek nem szerepelnek a szimulációban — Ez magában foglalja a valós munkaterület egyszerűsítését az objektumok eltávolításával.

A gyakorlatban a legjobb megoldás ezek kombinációja. Eltávolít minden felesleges objektumot a fizikai munkaterületről, és minden szükséges objektumot hozzáad a szimulációhoz.

4. A programozási célpontok manuális beállítása

Mielőtt elkezdené összetett ütközés-elhárító algoritmusokat használni, próbálja meg saját maga módosítani a robot mozgását. A legtöbb alkalmazás esetében a célok kézi mozgatása a RoboDK-n belül gyors, hatékony és robusztus megoldás.

Például, ha a robot egy tárggyal ütközik egy Joint Move parancs során, egyszerűen adjon hozzá néhány további útpontot, hogy elkerülje az objektumot. Vagy – még jobb – kérdezze meg, hogy az objektumnak valóban a munkaterületen kell-e lennie.

Az egyik gyakorlat, amely jelentősen csökkentheti az ütközéseket, annak eldöntése, hogy minden mozgás „utazó” vagy „műveleti” mozgás. Csak szabad térben végezzen utazási mozdulatokat, ahol nincs akadály. Ezután álljon meg egy kis távolságra a művelettől (más néven „megközelítési távolság”), és óvatosan menjen bele a feladatba, mielőtt végrehajtaná a műveleti lépést.

5. Használja a Megmunkáló varázsló új funkcióját

A robotmegmunkálás olyan feladat, ahol valószínűleg automatizált pályatervezésre lesz szüksége. A RoboDK megkönnyíti a megmunkálási utak létrehozását a beépített megmunkáló varázsló segítségével.

Legtöbbször nem lesz ütközés, ha követi a fenti tanácsokat. Van azonban egy lehetőség az ütközések automatikus elkerülésére a megmunkálási művelet során, amelyet a RoboDK legújabb verziójában adtunk hozzá. Olvassa el Albert válaszát a fórumban, amely elmagyarázza, hogyan kell használni ezt az új funkciót.

Ez a funkció elkerüli az ütközéseket azáltal, hogy automatikusan elforgatja a robotot a szerszám z-tengelye körül. Ennek eredményeként nem kerüli el az összes ütközést, de javítja a megmunkáló varázsló robusztusságát.

Utolsó megoldás: Használjon speciális mozgástervezőt

Ha végigment a fenti lépéseken, és úgy döntött, hogy továbbra is szüksége van az autonóm ütközések elkerülésére, ideje kitörni a „nagyágyúkat”. Ez azt jelenti, hogy harmadik féltől származó mozgástervező algoritmusokat kell használni a robot pályájának létrehozásához.

Rengeteg pályatervező létezik, amelyek automatikusan észlelik és elkerülik az ütközéseket. A legtöbb azonban nagyon korai stádiumú kutatási program, és ennek eredményeként nem túl megbízható. Ezenkívül a legtöbbet olyan mobil robotokhoz tervezték, amelyek csak két dimenzióban mozognak.

Van azonban néhány tisztességes pályatervező, amely ipari robotmanipulátorokhoz használható. Figyelmeztetés, használatukhoz komoly programozást kell végeznie.

  1. Mozgatni! — Mozgatni! az egyik legfejlettebb grafikus mozgástervező robotos manipulációhoz. Az OMPL keretrendszert használja, és egy egyszerű grafikus felületet biztosít. A ROS-ba integrálva van. Ha már ismeri a ROS-t, ez jó választás lehet. Ha nem, akkor eléggé tanulási görbéje lehet.
  2. Nyissa meg a Mozgástervezési Könyvtárat (OMPL) — Az OMPL önmagában is használható, MoveIt nélkül! C++ nyelvű könyvtárakat biztosít, és Python-kötésekkel is rendelkezik. Ésszerű mennyiségű dokumentáció áll rendelkezésre, de ez továbbra is tanulási görbével jár, mivel a könyvtár sok funkcióval rendelkezik.
  3. Buborékok — Ez egy kis könyvtár, amelyet a RoboDK vezérigazgatója, Albert Nubiola ajánl. Ez egy önálló mozgástervező manipulátorok számára, amely a valószínűségi útiterv algoritmust (PRM) használja. C++-ban íródott, és nagyon kevés dokumentációt tartalmaz. De ha Ön programozó varázsló, és készen áll egy kihívásra, akkor sokkal kevésbé felfújt megoldást kínálhat a MoveIt használatára.

Általában jobb elkerülni az ütközéseket a könnyebb módszerek valamelyikével. De ha speciális algoritmusokat kell használnia, az ütközések elkerülése lenyűgöző téma.