運動學

數值逆向運動學

數值逆向運動學求解的同樣是那個反向問題——各關節轉到什麼角度才能到達目標?——但它靠的不是一條神奇公式,而是「有根據的試探加改進」。你先隨便給關節角度一個猜測,用正向運動學看看手實際落在哪裡,量出它離目標有多遠,再把關節朝著能縮小這段差距的方向輕輕撥動一點。如此反覆,手就一點點逼近,直到足夠接近為止。這就像調淋浴的冷熱水龍頭:感受一下水溫,把旋鈕擰動一點,再感受一下,慢慢逼近合適的溫度。

要讓每一次撥動都撥得聰明,關鍵在於雅可比矩陣——它描述了在當前位姿附近,每個關節稍微轉一點會把手挪到哪兒去。把這層關係反過來求逆,就告訴求解器該往哪個方向、撥多大幅度去調關節,才能朝目標邁進一步。這種做法最大的優勢是通用:它幾乎對任何機器人都管用,包括那些古怪的形狀、以及帶有多餘關節、任何漂亮公式都啃不動的機械臂。它的代價是:可能更慢,需要一個像樣的初始猜測,在那些雅可比矩陣「失常」的彆扭姿態附近(也就是奇異點)可能卡住,而且通常一次只給出一個解、而非列出全部——所以軟體常常從好幾個不同的初始猜測出發反覆運行,以便找到幾個不錯的選擇。

一條多關節、形似蛇身的檢測機械臂沒有任何現成公式,它靠的是從一個猜測出發、反覆改進幾十次,直到末端伸到目標管道處,從而求出各關節角度。

猜測、檢驗、微調、重複——在沒有公式可用之處,迭代求出逆解。

因為它是一步步改進猜測的,所以它最終落在哪個解上,可能取決於它從哪裡出發。

又稱
iterative IKnumerical IK数值逆解迭代逆运动学