原文鏈接:https://blog.csdn.net/qq_27170195/article/details/79936518
一:區別
二、區別示意圖
三:MATLAB仿真對比
1. 標準DH
%標準DH
%Link(DH,option):
%DH = [THETA D A ALPHA SIGMA]//我的代碼中此處定義theta的初始值無效
L1 = Link([0 0.2 1 pi/4 0],'standard');
L2 = Link([0 0.2 1 pi/4 0],'standard');
L3 = Link([0 0 0.5 pi/4 0],'standard');
robot = SerialLink([L1 L2 L3]); %建立連桿機器人
robot.plot([0 0 0]) %顯示並賦三個關節變量theta值都爲0//此處纔可以初始theta
對比代碼中的DH參數和圖中畫的座標系,再次確定標準DH四個參數含義:
theta:繞Zi軸,從Xi旋轉到Xi+1的角度
D:沿Zi軸,從Xi移動到Xi+1的距離
A:沿Xi軸,從Zi移動到Zi+1的距離
alpha:繞Xi+1軸,從Zi旋轉到Zi+1的角度
2. 改進DH
%改進DH
%Link(DH,option):DH = [THETAi Di Ai-1 ALPHAi-1 SIGMA]
L1 = Link([0 0.2 1 pi/4 0],'modified');
L2 = Link([0 0.2 1 pi/4 0],'modified');
L3 = Link([0 0 0.5 pi/4 0],'modified');
robot = SerialLink([L1 L2 L3]); %建立連桿機器人
robot.plot([0 0 0]) %顯示並賦三個關節變量theta的初始值都爲0
MATLAB中定義改進DH連桿時一定要注意DH[theta d a alpha]中前兩個參數下表爲i,
即當前關節的DH值,後兩個參數下表爲i-1,及前一個關節的DH值參數值!
此時對比代碼中的DH參數和圖中畫的座標系,得到DH定義爲:
theta:繞Zi軸,從Xi-1旋轉到Xi的角度
D:沿Zi軸,從Xi-1移動到Xi的距離
A:沿Xi軸,從Zi移動到Zi+1的距離
alpha:繞Xi軸,從Zi旋轉到Zi+1的角度
四:總結
標準型和改進型中A和alpha定義相同,都是相對於下一關節而言,不同的是theta和D在標準型中都是相對於下一關節,在改進型中是相對於上一關節。
定義DH表格時:
標準型的列標題爲:THETAiDi Ai ALPHAi
改進型的列標題爲:THETAiDiAi-1ALPHAi-1
所以一定要注意MATLAB機器人工具箱中連桿定義中DH的對應。