《机器人学导论》Matlab计算坐标系变换矩阵
生活随笔
收集整理的這篇文章主要介紹了
《机器人学导论》Matlab计算坐标系变换矩阵
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
PUMA560機械臂的坐標系分布如圖
?
?使用DH法表達各坐標系參數(shù)如下表
相鄰坐標系的變換矩陣的公式如下:
?根據(jù)DH法表示的參數(shù)表,可以帶入變換矩陣公式得到相應(yīng)的變換矩陣
?
MATLAB變換矩陣計算函數(shù)
function T = trans_cal(afa_ii,a_ii,d_i,theta_i) %% %計算變換矩陣函數(shù)T_{i-1,i} %輸入的參數(shù)為,afa_{i-1},a_{i-1},d_i,theta_i,與DH表達法的參數(shù)表對應(yīng) %ii 為i-1 %注意,這里輸入的角度,均采用角度制,不采用弧度制T = [cosd(theta_i) -sind(theta_i) 0 a_iisind(theta_i)*cosd(afa_ii) cosd(theta_i)*cosd(afa_ii) -sind(afa_ii) -sind(afa_ii)*d_isind(theta_i)*sind(afa_ii) cosd(theta_i)*sind(afa_ii) cosd(afa_ii) cosd(afa_ii)*d_i0 0 0 1 ];end以為例,帶入[-90,0,0,]
clear;clc %% syms theta_2 afa_ii = -90; a_ii = 0; d_i = 0; theta_i = theta_2;T_{2,1} = trans_cal(afa_ii,a_ii,d_i,theta_i)計算得到的結(jié)果如下:
T_{2,1}?=
[ cos((pi*theta_2)/180), -sin((pi*theta_2)/180), 0, 0]
[ ? ? ? ? ? ? ? ? ? ? 0, ? ? ? ? ? ??0,? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1, 0]
[-sin((pi*theta_2)/180), -cos((pi*theta_2)/180), 0, 0]
[ ? ? ? ? ? ? ? ? ? ? 0, ? ? ? ? ? ? 0,? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?0, 1]
總結(jié)
以上是生活随笔為你收集整理的《机器人学导论》Matlab计算坐标系变换矩阵的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 搜集的几个超高难度的数独题
- 下一篇: linux中fork() 函数详解