对于运动学校准,我对DH参数和其他表示形式特别感兴趣。我能找到的关于运动学标定的最佳信息(最清晰)是在《机器人:建模,规划和控制》一书中,作者是Bruno Siciliano,Lorenzo Sciavicco,Luigi Villani,Giuseppe Oriolo,第2.11章。这需要在DH参数中描述机械臂,再乘以运动学方程,偏微分w.r.t.每个DH参数,然后进行最小二乘拟合(左伪逆),然后进行迭代。

是否存在使用DH参数代替其他表示形式(例如xyz +欧拉角)的一些根本原因。我知道参数较少(4个对6个或更多),但是对于这样的校准过程,无论如何我将获取比未知数更多的数据。我读过的所有机器人教科书都只介绍了DH参数,并说“这是您应该使用的”,但并没有真正解释为什么。大概可以在Denavit的原始论文中找到这个论点,但我无法找到它。

评论

这篇文章是否回答您的问题:robotics.stackexchange.com/questions/2758/…

#1 楼

我已经做了大量关于运动学校准的研究,这是我发现的:

从[1]开始:


运动学模型应该满足三个运动学参数识别的基本要求:

1)完整性:完整的模型必须具有足够的参数,以描述实际运动学参数与标称值的任何可能偏差。

2)连续性:机器人几何结构的微小变化必须
对应于运动学参数的微小变化。在
数学中,模型是运动学参数的连续函数。

3)最小化:运动学模型必须仅包含最小数量的参数。运动学校准的误差模型不应具有多余的参数。虽然DH参数完整且极少,但它们不是连续的。另外,当两个连续的关节具有平行轴时,存在奇异之处。来自[2]:


我们的假设是,两个连续链接的位置和方向的小变化可以通过链接参数的小变化来建模。如果在两个连续关节具有平行或接近平行轴的情况下使用Denavit和Hartenberg链接几何特征,则违反了这一假设。这导致许多研究人员提出了替代模型。即Hayati模型[2],Veitschegger和Wu模型[3],Stone和Sanderson的S模型[4],以及“完全和参数连续”(CPC)模型[5]。

这些模型通常涉及添加参数。这就产生了必须处理的冗余。或者他们专门针对其机器人的几何形状量身定制。这消除了普遍性。

一种替代方法是指数乘积公式[6]。 POE模型中的运动学参数随关节轴的变化而平滑变化,并且可以自然地处理运动学奇点。但是,由于使用了接头扭曲,因此该方法并非最小。这导致了杨等人。 [7]提出一个POE公式,每个关节只有4个参数,这是最小,连续,完整和一般的。他们通过非常具体地选择关节框架来做到这一点。 (实际上模糊地类似于D-H帧)。


[1]:何瑞波;赵英俊杨淑年;杨淑子,“基于POE公式的串行机器人校准的运动学参数识别”,《机器人技术》,IEEE期刊,第26卷,第3期,第411-423页,2010年6月。

[2]:Hayati,SA,“机械臂几何链接参数估计”,于Decision and Control,1983年。第22届IEEE大会,第,卷,第1477-1483页-1983年12月
[3]:W. Veitschegger和C. Wu,“基于运动学的机器人精度分析”,IEEE Trans。机器人。自动卷RA-2,不。 3,第171–179页,1986年9月。

[4]:H。Stone和A. Sanderson,“原型手臂签名识别系统”,在进程IEEE会议机器人。自动化,1987年4月,第175-182页。

[5]:庄(H. Zhuang),罗特(ZS Roth)和哈马诺(F. Hamano),“完整且参数化的连续运动模型机器人操纵器”,IEEE Trans。机器人。
自动卷。 8号1992年8月,第4卷,第451–463页。

[6]:陈一刚,杨光阳,谭正恩和杨世S,“机器人运动学标定的本地POE模型,机甲。马赫理论卷。 36号11/12,第1215–
1239,2001年。

[7]:杨向东,吴Wu,李金权和陈肯。 2014。使用POE公式进行串行机器人校准的最小运动学模型。机器人。计算积分制造30,3(2014年6月),326-334。

#2 楼

Paul评论中的链接“使用Denavit-Hartenberg表示法有什么优势?”提供了正确的提要。

其他的实际好处是: DH提供了保证的最小表示。线性代数计算非常有用,因为您想使用现有的最紧凑形式。
DH矩阵很容易解决。通常需要快速计算速度,加速度,旋转,平移,重心,Jacobian导数的所有变化,基本上是所有运动学。
将DH与最小二乘技术结合使用将有助于更快地减少误差,即估计状态的更快收敛。

如果继续阅读“机器人:MPC”,您将看到弹出相同样式的线性代数导数。作者将这些方程式推导到所有使用简单DH矩阵的工作中。您可以使用任何其他表示形式,但必须重新推导运动学。

评论


$ \ begingroup $
我同意。正如我前面提到的,“关于DH参数的问题:它们的使用范围非常广泛,如果您使用它们定义了系统,那么就会建立一些相当标准的方法,这样您就不必从头开始重新获得所有内容。 ”
$ \ endgroup $
–卡盘
15年8月11日在11:41

$ \ begingroup $
确实,如果您习惯了这种表示法,那么您将更容易地掌握数学。
$ \ endgroup $
– Ryan Loggerythm
15年8月11日在17:50