机械臂已经能够在示教模式下单步旋转了,下一步,我们可以将每个关节旋转的角度记录下来,让机械臂自动旋转到指定位置。
1. 在UI画布上增加两个按钮,recordButton和AutoButton,一个用来记录每个节点旋转的角度,另一个让机械臂自动旋转到记录的角度上。
2. 编辑脚本挂载在机械臂父节点上。
变量设置:
3. Start()中记录初始值
4. Update()中调用AngleMove()方法,将关节旋转到最终位置
5. 用于记录角度的recordAngle()方法:
6. IsRotated()方法,用于被自动旋转的按钮AutoButton调用,判断能否释放旋转命令
7. 判断数组相同的CompareAngle()方法,用于判断初始角度和记录的角度是否相同
8. 脚本的重点方法:用于角度旋转的AngleMove()方法,使用四元数的球形插值,让旋转角度无限接近最终角度。在两个角度之间的差小于0.5时,直接使用最终角度赋值给当前角度
拓展思考:
1. 模仿以上脚本结构,制作自动回零按钮;
2. 运行中的逻辑冲突,如机械臂使用单步按钮回零后,再次使用自动回零等,诸如此类的情况需要考虑完整。