一.用MATLAB仿真实现机器人的坐标系齐次变换
(1)平移坐标变换:transl( )函数,使用transl( )函数创建齐次的平移变换矩阵
T = transl(x,y,z):表示能够获取一个分别沿着x轴、y轴和z轴平移一段距离得到的4X4齐次变换矩阵;
(2)旋转坐标变换:trotx( )函数、troty( )函数和trotz( )函数
T=trotx():表示围绕x轴旋转角度得到的齐次变换矩阵(4x4);
T=troty():表示围绕y轴旋转角度得到的齐次变换矩阵(4x4);
T=trotz():表示围绕z轴旋转角度得到的齐次变换矩阵(4x4);
(3)t2r( )与r2t( )函数
R=t2r(T):用来获取齐次变换矩阵中的旋转矩阵分量;
T=r2t(R):用来获取一个与旋转矩阵等价的具有零平移分量的齐次变换矩阵。
已知点 u=7i+3j+2k,将 u绕 z 轴旋转90°得到点 v,再将点 v 绕 y轴旋转90°得到点w,最后进行平移变换4i-3j+7k得到t ,求最终的v,w,t的齐次坐标。用MATLAB仿真实现。
u=[7,3,2];
U=transl(u);
u1=trotz(90);
v=u1*U;
v1=troty(90);
w=v1*v;
w1=transl(4,-3,7);
t=w1*w;
trplot(U,'frame','U','color','r');
axis([-5 15 -5 15 0 8]);
hold on;
% trplot(v,'frame','v','color','b');
% axis([-5 15 -5 15 0 8]);
% hold on;
% trplot(w,'frame','w','color','g');
% axis([-5 15 -5 15 0 8]);
% hold on;
tranimate(U,v,'frame','v','color','r');
axis([-5 15 -5 15 0 8]);
hold on;
tranimate(v,w,'frame','w','color','b');
axis([-5 15 -5 15 0 8]);
hold on;
tranimate(w,t,'frame','t','color','g');
axis([-5 15 -5 15 0 13]);
hold on;
二.用MATLAB仿真实现机器人运动学的表示与求解
使用Link()函数,建立连杆的DH参数表
使用SerialLink()函数,建立串联式机器人模型
teach()进行机器人建模示教
jtraj()函数进行机器人轨迹规划
建立一个六自由度的PUMA560型机器人模型,实现要求中所有函数的应用,并实现机器人工作空间的可视化。
1.实现6自由度机器人工作空间的可视化
% RRR机械臂
clear;
close all;
clc;
theta(z) d(z) a(x) alpha(
标签:仿真,15,color,frame,机器人,矩阵,齐次,MATLAB
From: https://blog.csdn.net/lengmei1/article/details/140334047