Kinematika

     Na ez már egy nagyobb falat lesz, gondoltam magamban és elkezdtem dokumentáció után kutakodni. Elég sok helyen írnak erről a témáról, több-kevesebb sikerrel. A gond az volt, hogy nekem nem egy Euler szöges, Rotációs mátrixal megfűszerezett hat oldalon keresztül levezetett egyenlet kellett, hanem egy olyan, ami megadja nekem, a végpontot a kezdőpont, a karhosszúságok, meg a szögek függvényében. Ezt angolul úgy hívják, hogy forward kinematics. Sajnos magyar megfelelőjét nem tudom (még).

     A témában a nekem legjobban megfelelő leírás az MIT oldalán található : Link

     Rövid leírása a feladatnak : Adott egy karos mechanizmus, amiben a karok összekapcsolásánál vezérelhető elemek vannak. Határozzuk meg a kar végpontjának pozícióját és irányultságát (vagyis azt a szöget, amit a talajjal, vagy a karos mechanizmus kezdőpontjánál meghatározott síkkal bezár).


     Itt tudjuk a szögeket, vagyis a tetákat, valamint az egyes részek hosszát (l1, l2, l3). Ez alapján szeretnénk meghatározni az E pont X illetve Y koordinátáját, valamit a Fi-e szoget. Erre egy viszonylag egyszerű képlet van. A képlet matematikai háttere valahová hetedik osztályba nyúlik vissza, emiatt a magyarázattól eltekintek.

     Ha harminchat elemű a robotkarunk és meg szeretnénk határozni a végének a pozícióját, illetve azt, hogy merre néz, akkor a képletben harminchat összeg fog szerepelni, illetve az utolsó koszinusz és utolsó szinusz a harminchat szögnek az összegét fogja tartalmazni. Azért kiváncsi lennék, hogy egy ilyen robotnak is ugyanígy számolják ki, hogy merre néz a feje?



    Tesztelési céllal elkészült a feladat implementációja C#-ban is. Kép a programról működés közben :



     Forráskódot nem másolom be, mert elég gyengén kidolgozott. Nem az a tiszta kód, amit szivesen kiadok a kezem közűl. Lényeg, hogy a fent említett képlet van felhasználva. (Persze ha valaki akarja, szivesen elküldöm a programot.)

     Következő feladat az inverz kinematika. Ha sikerül a programot megírni, akkor írok egy bejegyzést arról is.

0 megjegyzés:

Megjegyzés küldése

Return top