对于齐次位姿变换(RT矩阵),有的时候手动计算公式参数太多比较麻烦,因此利用matlab参量syms,可以方便一些,可以用于计算机器人正运动学位姿矩阵的参数表示,简单的小程序,写机器人学作业的时候可能有点儿用,Matlab代码整理如下
clear
syms theta1 ; syms d1; syms a1 ;
syms pi;
RTMatrix=Rotr('Z',-pi/2)*Rotr('Z',theta1)*Trans(0,d1,0)*Trans(0,0,0)*Rotr('X',-pi/2)
用到的旋转函数Rotr,输入旋转轴和角度(弧度)
function y = Rotr( a ,b )
switch a
case 'X'
y=[1,0,0,0;0,cos(b),-sin(b),0;0,sin(b),cos(b),0;0,0,0,1];
case 'Y'
y=[cos(b),0,sin(b),0;0,1,0,0;-sin(b),0,cos(b),0;0,0,0,1];
case 'Z'
y=[cos(b),-sin(b),0,0;sin(b),cos(b),0,0;0,0,1,0;0,0,0,1];
end
平移函数Trans,输入xyz方向的平移量
function y = Trans( a,b,c )
y=[1,0,0,a;0,1,0,b;0,0,1,c;0,0,0,1];
end