【轉載】標準DH和改進DH的區別

原文鏈接: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的對應。
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章