新手。用DH方法及暴力方法建立機械人正運動學座標系

2021-09-11 08:24:00 字數 4398 閱讀 8941

機械臂如上圖

暴力方法:

1、座標系的建立:

原點:確定各座標系原點的方法與dh方法一致。

座標軸方向:基座標係根據個人喜好進行建立,除基座標係系外,其他座標系方向一致。座標系是為了描述方便,固定在1、2、3號軸相交處。

2、傳遞矩陣

以下為matlab中寫出的運算**

dh方法求解:

1、座標系的建立完全照搬機械人學導論第三版p53建立連桿座標系的步驟

2、連桿引數的得出完全搬照p53連桿引數的求法,為了使得與暴力方法求的運動學方程一致,這裡將每個軸的初始位置設為上圖狀態與暴力法一致。因此需要加上每個軸此時的初始角度。

3、建立傳遞矩陣。ti-1,i的公式完全照搬p59(3-6)

function [t06]=matrix()

syms x1 x2 x3 x4 x5 d1 d2 d3 d4;

%    連桿轉角    連桿長度   連桿偏距   關節角

sdh=[ pi/2       0            -d2       x1;

-pi/2      0            0         -x2;

-pi/2      0            0         x3;

0         d3            0         x4;

-pi/2     0             -d4       x5];

這裡的連桿偏距與紙質版不同的原因是:在轉換矩陣我已經將公式進行了三角轉換,比如sin(x3+pi)=-sin(x3),下面的轉換矩陣也是經過轉換後的;這裡值得注意的是軸2的轉角是負的,這裡是由於暴力方法軸2是順時針旋轉,而dh都是繞旋轉軸逆時針旋轉,故為負值。暴力方法1到4號軸旋轉的方向分別為,逆,順,逆,逆,dh都為逆。

t00=[0 1 0 0;

-1 0 0  0;

0  0 1  d1;

0 0  0  1];

t00表示暴力方法中基座標係到dh方法基座標係的傳遞矩陣。

t01=[cos(sdh(1,4))                -sin(sdh(1,4))                0               sdh(1,2);

sin(sdh(1,4))*cos(sdh(1,1))  cos(sdh(1,4))*cos(sdh(1,1))   -sin(sdh(1,1))  -sin(sdh(1,1))*sdh(1,3);

sin(sdh(1,4))*sin(sdh(1,1))  cos(sdh(1,4))*sin(sdh(1,1))   cos(sdh(1,1))   cos(sdh(1,1))*sdh(1,3);

0                            0                             0                1];

t12=[sin(sdh(2,4))                 cos(sdh(2,4))                0               sdh(2,2);

-cos(sdh(2,4))*cos(sdh(2,1))  sin(sdh(2,4))*cos(sdh(2,1))   -sin(sdh(2,1))   -sin(sdh(2,1))*sdh(2,3);

-cos(sdh(2,4))*sin(sdh(2,1))  sin(sdh(2,4))*sin(sdh(2,1))   cos(sdh(2,1))   cos(sdh(2,1))*sdh(2,3);

0                            0                             0                1];

t23=[-cos(sdh(3,4))               sin(sdh(3,4))                0               sdh(3,2);

-sin(sdh(3,4))*cos(sdh(3,1))  -cos(sdh(3,4))*cos(sdh(3,1))   -sin(sdh(3,1))   -sin(sdh(3,1))*sdh(3,3);

-sin(sdh(3,4))*sin(sdh(3,1))  -cos(sdh(3,4))*sin(sdh(3,1))   cos(sdh(3,1))   cos(sdh(3,1))*sdh(3,3);

0                            0                             0                1];

t34=[-sin(sdh(4,4))              -cos(sdh(4,4))                0               sdh(4,2);

cos(sdh(4,4))*cos(sdh(4,1))  -sin(sdh(4,4))*cos(sdh(4,1))   -sin(sdh(4,1))   -sin(sdh(4,1))*sdh(4,3);

cos(sdh(4,4))*sin(sdh(4,1))  -sin(sdh(4,4))*sin(sdh(4,1))   cos(sdh(4,1))   cos(sdh(4,1))*sdh(4,3);

0                            0                             0                1];

t44=[0 -1 0 0;

1 0 0  0;

0  0 1  0;

0  0  0  1];

t44表示dh方法中4號座標系到暴力方法中4號座標系的傳遞矩陣。

t04=t00*t01*t12*t23*t34*t44;

p45org=[-d4;0;0;1];

t06=t04* p45org;

結果如下,兩者的出來的運動學方程是一致的。

總結:1、正運動學是為了描述末端在基座標係中的位姿,座標系的建立僅僅是為了描述的方便。因此座標系的建立並不是一成不變的。

2、當基座標係與目標座標系一致時,得出來的運動學方程時一致的。

3、暴力方法中軸的旋轉方向有順時針和逆時針之分,初始角度都為0。而dh方法中旋轉方向都是逆時針,初始角度不一定為0。由此可見,各有優劣。

4、座標系是繞電機軸旋轉,而不是繞某個座標系旋轉。

座標系是繞電機軸旋轉,而不是繞某個座標系旋轉。

座標系是繞電機軸旋轉,而不是繞某個座標系旋轉。

java 方法。(新手用於記錄每天的作業)

建立的乙個包名。package ri0318 定義的乙個類。public class fangfalx 1 int length 返回的是字串的長度 public static void lx1 2 substring int beginindex,int endindex 獲取字串的一部分,包含頭...

DNS CAA 記錄及建立方法

有一百多個被稱為證書頒發機構的組織,可以頒發 ssl 證書來保證您的域的身份。如果您和大多數域所有者一樣,您可能只從少數幾個證書頒發機構獲得證書。caa certificate authority authorization,證書頒發機構授權 允許您宣告您實際使用的證書頒發機構,禁止其他機構為您的域...

Linux kvm 建立 虛擬機器 的方法

通常情況下,複製別人的硬碟檔案vmharddisck.qcow2,制定記憶體,網絡卡就可以啟動虛機了,當然這個是硬碟中的作業系統是別人已經安裝好的了。那如何建立乙個空的硬碟,然後自己通過作業系統映象 linux 或者 unix 安裝自己的作業系統呢?其實最關鍵的就是通過 boot d指定從光碟啟動,...