我想知道是否有任何方法可以得到6自由度机械臂逆运动学的所有可能解决方案?
我找到了一些不错的Matlab代码,但只给出了一个类似Peter corke的书中的解决方案。 />谢谢你。

评论

通常,您会得到反运动学问题的方程式。这些方程式是您可以获得所有解决方案的形式。但是,为什么要“发现”所有无限的可能性?

在某些情况下(例如避开障碍物),使您减少运动的解决方案并不总是合适的。

#1 楼

我建议您看一下克雷格(Craig)的《机器人力学与控制概论》。在“逆运动学”一章中,他介绍了通过解析获得的多个闭式解。许多其他文本也解决了这个问题。

通常,如果手腕是球形的(即所有三个轴相交),则可以通过称为“手腕分割”的方法枚举所有各种闭合形式的解。该方法使用三个手臂关节来解决腕部中心的位置。然后,它使用腕关节确定正确定向末端执行器的关节角度。从“腕部向上”和“腕部向下”选项,“肘部向上”和“肘部向下”选项(对于关节臂)以及“肩膀上方”选项也可以有多种解决方案。对于其他机器人几何形状,选项将有所不同。

如果手腕不是球形的,那么找到闭合形式的逆解变得非常具有挑战性。但是对于逆运动学解决方案,您仍然具有各种几何选项。

确保确定所有解决方案的一种方法是回顾三角学的基础知识。回想一下$ \ sin(\ theta)=-\ sin(-\ theta)$和$ \ cos(\ theta)= \ cos(-\ theta)$。因此,当您求解$ \ theta $时,必须考虑使用这些和其他三角恒等式产生相同结果的其他角度。

评论


$ \ begingroup $
这个符号($)表示变量x和y吗?
$ \ endgroup $
–user14296
16年7月22日在12:57

$ \ begingroup $
如果您在我的答案中看到\ $符号,请忽略它们。您的浏览器应将\ $符号之间的文本设置为数学公式。
$ \ endgroup $
– SteveO
16年7月22日在13:43



#2 楼

Siciliano和Khatib在Springer机器人技术手册中很好地概述了逆运动学方法。作者解释了可以使用这些方法中的哪一种来找到6自由度臂的所有解决方案。它们涵盖了代数方法和许多数值方法。

还可以看看openrave中的ikfast。这是一种基于搜索的方法,可以根据给定的机器人结构,为逆运动学找到闭合形式的解决方案。 ikfast的源代码包含许多数值逆运动学方法。

#3 楼

用于MATLAB的Robotics Toolbox具有一个解析解决方案ikine6s,该解决方案适用于大多数带有球形手腕的6DOF手臂。它需要一个配置字符串。如果用所有8种可能的组合来调用它,那么您将获得所有可能的解决方案,例如。 'run''lun''rdn'等。