[機器人學習]-樹莓派6R機械臂運動學分析
![[機器人學習]-樹莓派6R機械臂運動學分析的圖1](https://img.jishulink.com/msimage/202212/724f9dd4ed1679d29341729d06ff291c.png)
1正運動學分析
采用標準的D-h法進行機械腿模型分析:
![[機器人學習]-樹莓派6R機械臂運動學分析的圖2](https://img.jishulink.com/msimage/202212/f7a65e4a8605a46dad014cc57a7141cb.png)
![[機器人學習]-樹莓派6R機械臂運動學分析的圖3](https://img.jishulink.com/msimage/202212/06aa8dc3992fe0edff334224635f6166.png)
D-h表如下
![[機器人學習]-樹莓派6R機械臂運動學分析的圖4](https://img.jishulink.com/msimage/202212/dd3c623bf3ad609b1e03ee4dca809a54.png)
(2)通過(1)求解出機器人各位姿變換矩陣后,求解機器人手臂變換矩陣。通過matlab 計算,寫出機器人末端位置。
正運動學分析
根據D-H表規定得到如下變換矩陣為:
由此可得機器人相鄰兩關節位姿分別為:
所以,坐標系{4}相對于基坐標系的變換矩陣為:
相對于基坐標系的旋轉矩陣
位置矢量
根據DH參數求解變換矩陣的函數trans:
%輸入JD,即6個關節變量的值,求解正運動方程
function [ T ] = trans( theta, d, a, alpha )
T =[
cos(theta), -sin(theta)*cos(alpha), sin(theta)*sin(alpha), a*cos(theta);
sin(theta), cos(theta)*cos(alpha), -cos(theta)*sin(alpha), a*sin(theta);
0, sin(alpha), cos(alpha), d;
0, 0, 0, 1 ];
end
正向運動學:
function [ T04 ] = fkine(JD)
%JD為輸入的1*6的數組,代表6個關節變量
% trans( theta, d, a, alpha )
if nargin<2; end
T01 =trans( JD(1)+pi/2, 0.0685, 0, pi/2 );
T12 =trans( JD(2)+pi/4, 0, 0.105, 0);
T23 =trans( JD(3), 0, 0, pi/2);
T34 =trans( JD(4), 0.1153, 0, pi/2 );
T45 =trans( JD(5)-pi, 0, 0, pi/2 );
T56 =trans( JD(6), 0.1288, 0, pi/2 );
T04 =T01*T12*T23*T34*T45*T56
end
3機器人模型建立
所設計的機器人由多個連桿機構組成,其關節類型包括旋轉關節和移動關節兩種。利用Matlab中機器人仿真工具箱Robotics Tool中Link和SerialLink兩個函數可建立機器人模型[] 。其中,函數表達式如下:
式中,theta為關節變量;d為偏置距離;alpha為扭轉角;a為連桿長度;sigma表示關節類型(0為旋轉關節,1為移動關節);前四個參數分別對應表1中的,,,。
具體程序編制如下:
Clear %情況matlab軟件的數據緩存,避免影響本次運行
Clc %清空運行窗口的數據
L(1) = Link( 'd', 0.0685 , 'a' , 0 , 'alpha', pi/2 ,'offset',pi/2);
L(2) = Link( 'd', 0 , 'a' , 0.105 , 'alpha', 0 ,'offset',pi/4);
L(3) = Link( 'd', 0 , 'a' , 0 , 'alpha',pi/2,'offset',0);
L(4) = Link( 'd', 0.1153 , 'a' , 0 , 'alpha', pi/2 ,'offset',0);
L(5) = Link( 'd', 0 , 'a' , 0 , 'alpha',pi/2,'offset',-pi);
L(6) = Link( 'd', 0.1288 , 'a' , 0 , 'alpha',pi/2,'offset',0);
robot = SerialLink(L, 'name' , '六自由度'); %建立四自由度模型
% RRP.plotopt = {'workspace',[-10,10,-10,10,-10,10],'tilesize',10}; %設置模型空間大小和地磚大小
robot.display;
robot.teach; %畫出模型并進行調控
robot.plot([0 0 0 0])%輸入一定參數后機器人圖形
運行上述程序,即可得到碼垛機器人模型如圖 3-3
![[機器人學習]-樹莓派6R機械臂運動學分析的圖5](https://img.jishulink.com/msimage/202212/7af8200a555c966b11e49c63a8b35143.png)
圖 33機器臂模型 |
4機器臂正運動驗證
init_ang=[0,-pi/4,0,-pi/5];%任意起點
disp('工具箱求解得到旋轉矩陣如下:')
robot.fkine(init_ang)
%%
%自定義矩陣
disp('通過變換矩陣求解旋轉矩陣如下:')
fkine(init_ang)
![[機器人學習]-樹莓派6R機械臂運動學分析的圖6](https://img.jishulink.com/msimage/202212/e5529fa37fba21b676dec6ce1283151a.png)
![[機器人學習]-樹莓派6R機械臂運動學分析的圖7](https://img.jishulink.com/msimage/202212/aa367b2684538cab3229535bb65d1d71.png)
如圖所示:任意選取某點工具箱仿真姿態結果與變換矩陣計算結果一致。驗證了正運動學方程的正確性。
模型與matlab程序如下:如需要定制服務可以咨詢扣扣2386317960
![[機器人學習]-樹莓派6R機械臂運動學分析的圖8](https://img-blog.csdnimg.cn/ab23a9b9c6e646bfa5d182dc7a6c4622.png)
以下內容為付費內容,請購買后觀看
1人購買
[機器人學習]-樹莓派6R機械臂運動學分析
工程師必備
- 項目客服
- 培訓客服
- 平臺客服
TOP




















