Amit tudnod kell

Mi az inverz kinematika?

Mennyit kell tudnod róla, hogy a legtöbbet hozd ki a robotodból?

A robotika inverz kinematikája hatalmas és gyakran összetett téma. A projekttől függően előfordulhat, hogy nagyon részletesen kell tudnia róla, vagy meg kell elégednie az alapvető ismeretekkel.

Itt vannak az alapvető információk, amelyeket tudnia kell a robotika inverz kinematikájáról.

Mi az inverz kinematika?

Az inverz kinematika egy matematikai folyamat, amellyel kiszámítják azokat az illesztési pozíciókat, amelyek ahhoz szükségesek, hogy a robot végeffektorát egy adott pozícióba és orientációba helyezzék (más néven „pozíciót”). Megbízható inverz kinematikai megoldásra van szükség ahhoz, hogy egy robotot feladatok végrehajtására programozhassunk.

Fontos, hogy tisztában legyünk az inverz kinematika és a robot előremenő kinematikája közötti különbségekkel.

Az előremenő kinematika határozza meg, hogy hol lesz a véghatás, ha az ízületek egy adott pozícióba vannak állítva. Az előrehaladó kinematikai egyenletnek mindig csak egy megoldása van. Ha az illesztéseket egy adott pozícióba állítják, a véghatás mindig ugyanoda kerül.

Az inverz kinematika esetében gyakran többféle megoldás és többféle megközelítés létezik az inverz kinematikai megoldás kiszámítására.

Miért van szükség inverz kinematikára a robotikában?

Ha nem lenne inverz kinematikánk, a robotprogramozás rendkívül nehéz lenne… ha nem lehetetlen.

Ha azt szeretné, hogy a robot végeffektorja a munkaterület egy bizonyos pontjára mozogjon, akkor logikus, hogy a kívánt pózt adja meg a programban.

De nem mondhatja meg egyszerűen a robotnak, hogy menjen a kívánt helyre X, Y és Z koordinátákat, és elvárja, hogy a robot megértse az utasításait… nem inverz kinematika nélkül.

A legtöbb ipari robot több egymástól függetlenül vezérelhető csuklós csuklóból épül fel. Mindegyik csukló egy vagy több másik csuklóhoz kapcsolódik, néha összetett konfigurációkban. A vég effektor a teljes „kinematikai lánc” végére van rögzítve. Ha megmozgat egy ízületet, az különböző módokon befolyásolja a végső effektor pózát.

Ez azt jelenti, hogy nincs egyszerű, közvetlen kapcsolat a vég-effektor helyzete és egyetlen adott ízület között.

Például, ha azt szeretné, hogy a robot effektora 1 mm-rel lineárisan mozogjon a Z tengely mentén, előfordulhat, hogy az összes csuklót eltérő mértékben kell elmozdítania.

Végül az inverz kinematikai algoritmusok kiszámítják a robot egyes ízületeinek pontos helyzetét, amelyek szükségesek a kívánt véghelyzet eléréséhez.

Hogyan találjuk meg a robotkar inverz kinematikáját

Ha némi kutatást végez a robotika inverz kinematikájában, gyakran talál egyenleteket, képleteket és algoritmusleírásokat tartalmazó oldalakat és oldalakat. Az inverz kinematika számítása ugyanis a robotikai kutatások jól bevált területe. Nem sokan beszélnek inverz kinematikáról a kutatási területen kívül (kivéve a 3D animátorokat).

Ha azonban robotokat használunk ipari alkalmazásokhoz, két alapvető lehetőség van az inverz kinematikai megoldás megtalálására:

  1. Az összes matematikai és programozási munkát maga is elvégezheti, hogy inverz kinematikai megoldót hozzon létre az adott robothoz.
  2. Használhat egy meglévő inverz kinematikai megoldót az adott robothoz, amely „kivételesen” működik.

Az Ön egyedi helyzetétől függ, hogy ezek közül melyiket választja.

Ha saját maga építette meg a robotot – azaz a semmiből építette meg motorok és mechanikus kapcsolatok összekapcsolásával –, akkor valószínűleg az 1. lehetőséget kell választania.

Ha olyan ipari robotot használ, amely egy robotgyártótól származik, a 2. lehetőség szinte mindig gyorsabb és egyszerűbb lesz.

A kemény módszer: Inverz kinematikai megoldó létrehozása

Ha saját inverz kinematikai megoldóját választja, készüljön fel egy komoly programozásra!

Az inverz kinematika kiszámításának két alapvető megközelítése van:

1. Analitikai inverz kinematikai megoldások

Egy analitikus inverz kinematikai megoldó képes lesz felvenni a kívánt vég-effektor pózt, és (majdnem) azonnal kiköpni a szükséges ízületi pozíciókat.

Ennek az az oka, hogy „a motorháztető alatt” a robot kinematikai láncát zárt formájú kifejezéssé redukálták – minden vég-effektor pózhoz létezik matematikai definíció a szükséges ízületi pozícióknak.

Bár a zárt formájú kifejezést saját kezűleg is elkészítheti (kézzel), erre általában nincs szükség. Manapság az IKFast könyvtár sokkal könnyebbé teszi ezt a feladatot, mint korábban.

2. Numerikus/Iteratív kinematikai megoldók

Nem minden robotnak van analitikai inverz kinematikai megoldása. Ha a robot kinematikai szerkezete összetett vagy szokatlan, az egyetlen lehetőség egy numerikus inverz kinematikai megoldó használata.

Ráadásul egy numerikus megoldásban nincs egyértelmű zárt formájú kifejezés. Ehelyett, amikor megadja a kívánt vég-effektor pozíciót, egy iteratív algoritmus a szükséges illesztési pozíciók megoldására dolgozik, optimalizálási megoldásként kezelve.

Minden iterációnál az algoritmus beír néhány kötési pozíciót a robot elülső kinematikai egyenletébe, hogy megtudja, hol ér véget a vég effektor. A következő iterációban ezt az információt használja fel a közös pozíciók további módosítására. Ez fokozatosan a kívánt póz felé mozgatja a véghatást.

Ennek az iteratív megközelítésnek köszönhetően a numerikus inverz kinematikai megoldások lassabbak, mint az analitikus megoldások.

Az egyszerű módszer: Használjon bevált inverz kinematikai megoldót

Saját inverz kinematikai megoldó létrehozása jó intellektuális gyakorlat az egyetemen, vagy ha saját robotot épít a semmiből.

De ha csak termelési környezetben szeretné használni a robotját, nem valószínű, hogy saját inverz kinematikai megoldót kell létrehoznia.

Sokkal egyszerűbb és gyorsabb egy meglévő megoldó használata, amely már be van építve a robotprogramozási környezetébe.

A RoboDK Robot Library minden robotja saját inverz kinematikai megoldóval rendelkezik. Ez lehetővé teszi, hogy azonnal elkezdhesse a programozást anélkül, hogy gondolnia kellene rá.

Megoldóink többsége előre generált analitikai megoldás, amely a robotfájllal együtt érkezik. A könyvtárban található bonyolultabb robotok némelyike ​​azonban numerikus megoldókat használ. Még a numerikus megoldók esetében sem jelent problémát a csökkentett számítási sebesség a RoboDK-nál, mivel a robotot offline módban kell programozni, mielőtt elküldené a programot magának a robotnak.

Végül is csak akkor hozzon létre saját inverz kinematikai megoldót, ha nagyon muszáj.

Ha nem, akkor sokkal jobban el fogja tölteni az idejét a feladatához szükséges robotprogram létrehozásával és gyorsabb gyártásba helyezésével.

Milyen kérdései vannak a robotika inverz kinematikájával kapcsolatban? Mondja el nekünk az alábbi megjegyzésekben, vagy csatlakozzon a beszélgetéshez a LinkedIn-en, TwitterFacebook, Instagram vagy a RoboDK Fórumban.

(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s);
js.id = azonosító;
js.src = “//connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.5”;
fjs.parentNode.insertBefore(js, fjs);
}(dokumentum, ‘script’, ‘facebook-jssdk’));