机器人逆向运动学(IK):问题分析

在游戏开发和机器人开发中进场需要用到的一个场景是,给机器人或者游戏角色末位置的位置和姿态,求解可到达给定位置和姿态的各关节的角度值,这里就需要逆向运动学去求解这个问题,在场景中有着很多的应用,比如说六轴机械臂的位姿求解,游戏角色踩楼梯的真实感觉: 

常用的六轴机械臂结构:

UE5在Control Rig也中新加入的功能Full Body IK的Control Rig: 

问题分析:

给定一个带一个关节的机械臂,其中有一个轴是可以自由转动的,如下

转动后:

 那么把末端可以到达的轨迹显示出来:

这就是所有的有解区域,且解都是唯一解

接下来再给这个问题加码,将关节节点添加到两个:

这时候可达的区域将大大增加,如下图,绿色区域为可达区域,红色区域为不可达区域:

 其中中间的红色区域就算d3折下来和d2重叠,但是由于长度不够也无法到达红色区域,红色区域的半径为d3为d2

绿色的区域代表可达区域,也代表这个问题有解,其中两个关节的角度代表求出的解

随着关节的增多,解会越来越多,并且不只有一个唯一解,根据以上我们得到两个IK运动学的关键部分:

①在求解前需要判断最后位置是否可达,如果可达才可以开始求解过程

②在问题有多解情况下,为了减少计算量,可以在求解出一个位置后就停止求解

猜你喜欢

转载自blog.csdn.net/qq_36653924/article/details/128314962