讨论

SCARA的DH坐标系到底咋建?我跟两本书对着干迷糊了

520
520
2026/04/14 17:22

调试这行干了好些年,发那科、爱普生、雅马哈、众为兴这几个品牌的SCARA都摸过,本来DH参数这块以为自己没啥问题,最近帮同事带个新人,对着两本教材教他SCARA的DH坐标系建立,结果自己反而绕进去了。

教材一上来就先把坐标系固连在第一个关节轴上,Z0沿J1旋转轴往上,X0随便定(说水平就行),末端X4沿J4旋转轴指向末端工具。可我实际在现场做标定的时候,按这个规则手算出来的a、d跟控制器里默认的DH表对不上,尤其d值偏差特别明显。我用第二本书的Modified DH(就是坐标系建在连杆末端那种),重新算了一遍,跟控制器对得上了,但我又分不清到底是我现场搞错了,还是教材本身就写得有问题。

想问问各位,SCARA这种结构的DH,坐标系到底标准建在哪?Z0方向真就是死规矩必须朝J1轴线吗?X0取0°还是随便取?现场手算跟控制器默认参数对不上的时候,优先信哪一头?

11 4

全部回复 (4)

zqz1977
zqz1977#1

SCARA的DH其实是有标准做法的,Z0就是沿J1旋转轴方向往上(右手定则拇指指向上),X0取水平方向,一般跟基坐标系X同向或者X+1方向取在第一臂伸出时的正前方,这个不随便取,会直接影响后面的a1、a2值。末端坐标系X4确实是沿J4旋转轴指向末端,但Z4的方向各品牌定义有差别,有的朝外有的朝内,这就是你教材跟控制器对不上的主要原因之一。

现场手算的时候,建议先打开控制器里DH参数表反推坐标系,不要先看书。发那科的SCARA、EPSON的LS系列、雅马哈的YK系列都查过,默认DH表里的X方向取值逻辑不完全一样,有的按alpha=0顺时针推,有的直接给出Modified DH参数。如果d值偏差大,多半是基坐标系和世界坐标系没分清楚,d1那个值往往是世界原点到第一关节的高度差,不是简单等于连杆长度。

2026/04/15 03:46
飞哥
飞哥#2

我就直接说我们厂里咋干的——不看书,直接拆控制器里的DH参数表,用示教器把每个关节单独打零位、正方向各动5度,反算每个关节的旋转轴方向和偏置,然后把这些值代回DH公式里验证。教材只是参考,跟控制器对不上的时候,控制器就是标准,现场调试没必要跟教材较劲。

2026/04/17 20:16
qiangz97
qiangz97#3

你这个提问里有个地方需要先确认一下:教材到底是经典DH(坐标系固连在连杆首端,关节i的坐标系在i-1连杆末端)还是Modified DH(坐标系固连在连杆末端)?这两种方法d、a、alpha的定义完全不一样,混着算肯定对不上。Z0方向一般确实是沿J1轴线,但X0取0°和取90°算出来的a1值会差一个连杆长度,d1也会跟着变。你先说清楚你用的是哪种DH方法,再看教材跟控制器对不上的问题在哪。

2026/04/18 05:56
a518431
a518431#4

你手算的时候末端工具坐标系加了没?SCARA的J4一般是末端旋转轴,工具坐标系一般是另外挂在J4后面的TCP上,教材里说的X4沿J4旋转轴指向末端,那只是腕部坐标系,不是工具坐标系。如果你是按工具TCP算的DH,d4这个值就会跟控制器里的TCP偏移混在一起算,肯定对不上。

2026/05/06 15:31