运动学
逆向运动学
逆向运动学是反过来问的那个问题,也是机器人在日常工作中真正需要回答的问题:我想让手正好停在这里、朝着这个方向——那每个关节各该弯多少才能做到?你从目标出发(末端执行器要达到的某个位置和姿态),然后必须反推出能实现它的那组关节数值。这其实正是你自己的大脑每次伸手去拿咖啡杯时,悄无声息地做的事:你先定下手该去哪儿,肩、肘、腕的角度自己就配合好了。
反着求要比正着求难得多,有两个原因。第一,可能有好几组不同的关节设置都能把手送到同一个地方——人既可以把肘部收低、也可以把肘部抬高去抓同一个杯子——所以机器人往往面对多个都成立的答案,必须从中挑一个。第二,有些目标根本无解,因为它们就是落在机械臂够不着的范围之外;而在那些别扭的姿态附近,算式还会变得敏感而不稳定。正因如此,逆向运动学是机器人运动的核心问题之一:每当机械臂被要求焊一道缝、放一个零件、或沿着画好的轨迹走时,背后总得有什么东西在求解逆向运动学——要么用一条精确的代数公式,要么靠一步步逼近的数值搜索。
要去触碰白板上一个固定的点,你可以把肘部放低,也可以把它抬高;两种都能够到那个点,所以求解逆向运动学的机器人必须选定用哪一种肘部姿态。
同一个手部目标,却有多组关节解——这正是逆向运动学标志性的难点。
同一个目标位姿可能对应零个、一个或很多组关节解——在它们之间明智地挑选也是任务的一部分。
又称
另见