运动学
数值逆向运动学
数值逆向运动学求解的同样是那个反向问题——各关节转到什么角度才能到达目标?——但它靠的不是一条神奇公式,而是「有根据的试探加改进」。你先随便给关节角度一个猜测,用正向运动学看看手实际落在哪里,量出它离目标有多远,再把关节朝着能缩小这段差距的方向轻轻拨动一点。如此反复,手就一点点逼近,直到足够接近为止。这就像调淋浴的冷热水龙头:感受一下水温,把旋钮拧动一点,再感受一下,慢慢逼近合适的温度。
要让每一次拨动都拨得聪明,关键在于雅可比矩阵——它描述了在当前位姿附近,每个关节稍微转一点会把手挪到哪儿去。把这层关系反过来求逆,就告诉求解器该往哪个方向、拨多大幅度去调关节,才能朝目标迈进一步。这种做法最大的优势是通用:它几乎对任何机器人都管用,包括那些古怪的形状、以及带有多余关节、任何漂亮公式都啃不动的机械臂。它的代价是:可能更慢,需要一个像样的初始猜测,在那些雅可比矩阵「失常」的别扭姿态附近(也就是奇异点)可能卡住,而且通常一次只给出一个解、而非列出全部——所以软件常常从好几个不同的初始猜测出发反复运行,以便找到几个不错的选择。
一条多关节、形似蛇身的检测机械臂没有任何现成公式,它靠的是从一个猜测出发、反复改进几十次,直到末端伸到目标管道处,从而求出各关节角度。
猜测、检验、微调、重复——在没有公式可用之处,迭代求出逆解。
因为它是一步步改进猜测的,所以它最终落在哪个解上,可能取决于它从哪里出发。
又称
另见