1 首先检测Matlab 中已经安装的工具箱,采用“ver”命令
MATLAB 版本 9.9 (R2020b)
Simulink 版本 10.2 (R2020b)
Computer Vision Toolbox 版本 9.3 (R2020b)
Control System Toolbox 版本 10.9 (R2020b)
Curve Fitting Toolbox 版本 3.5.12 (R2020b)
Data Acquisition Toolbox 版本 4.2 (R2020b)
Deep Learning Toolbox 版本 14.1 (R2020b)
Global Optimization Toolbox 版本 4.4 (R2020b)
Image Acquisition Toolbox 版本 6.3 (R2020b)
Image Processing Toolbox 版本 11.2 (R2020b)
MATLAB Coder 版本 5.1 (R2020b)
Machine Vision Toolbox for MATLAB 版本 4.3
Model Predictive Control Toolbox 版本 7.0 (R2020b)
Optimization Toolbox 版本 9.0 (R2020b)
Parallel Computing Toolbox 版本 7.3 (R2020b)
Partial Differential Equation Toolbox 版本 3.5 (R2020b)
Robotics System Toolbox 版本 3.2 (R2020b)
Robotics Toolbox for MATLAB 版本 10.4
Robust Control Toolbox 版本 6.9 (R2020b)
Signal Processing Toolbox 版本 8.5 (R2020b)
Simscape 版本 5.0 (R2020b)
Simscape Multibody 版本 7.2 (R2020b)
Simulink Coder 版本 9.4 (R2020b)
Simulink Control Design 版本 5.6 (R2020b)
Simulink Design Optimization 版本 3.9 (R2020b)
Stateflow 版本 10.3 (R2020b)
Statistics and Machine Learning Toolbox 版本 12.0 (R2020b)
Symbolic Math Toolbox 版本 8.6 (R2020b)
YALMIP 版本 3 (R2009b)
采用指令mdl_ur5 -> ur5可以得到:
T = SE2(x, y, theta); % x、y为偏移量,theta为旋转角度
trplot2(T); % 画出T坐标系
T = transl2(x, y); % 纯平移变换
x=100;
y=200;
n=0;
for theta=0:0.1:pi/3
T = SE2(x, y, theta);
trplot2(T); % 画出T坐标系
pause(0.5);
grid on
hold on
n=n+1;
end
具体的运行结果如下所示
% rotx(alpha), roty(beta), rotz(theta); % 绕xyz轴旋转的旋转矩阵(3x3)
% trplot(T); % 画出相应的旋转坐标系
% tranimate(T); % 旋转动画
% transl( [x, y, z] ); % 平移变换(4x4)
% trotx(theta), troty(theta), trotz(theta); % 只有旋转的绕xyz轴旋转的齐次变换矩阵(4x4)
alpha=pi/3;
beta=pi/4;
theta=pi/2;
rotx(alpha)
roty(beta)
rotz(theta)
运行结果如下所示
ans =
1.0000 0 0
0 0.5000 -0.8660
0 0.8660 0.5000
ans =
0.7071 0 0.7071
0 1.0000 0
-0.7071 0 0.7071
ans =
0 -1 0
1 0 0
0 0 1
mdl_ur5
ur5
ur5.teach % 机械臂操控交互界面
mdl_ur5
ur5
q=[0;-pi/3;-pi/4;pi/3;-pi/3;pi/3];
ur5.plot( [q(1), q(2), q(3), q(4),q(5),q(6)] )
% 画出机械臂,theta为关节初始角度
q=[0;-pi/3;-pi/4;pi/3;-pi/3;pi/3];
T1=ur5.fkine( [q(1), q(2), q(3), q(4),q(5),q(6)] )
ur5.ikine6s(T1); % 逆运动学封闭解
ur5.ikine(T1,q);% 逆运动学数值解
由上述可以得到机器人的正向运动学,进而得到机器人的笛卡尔空间变换矩阵为:
T1 =
0.7891 0.0474 0.6124 -0.1275
0.4330 -0.7500 -0.5000 -0.1503
0.4356 0.6597 -0.6124 0.7191
0 0 0 1
ur5.ikine6s(T1); % 逆运动学封闭解
反而导致计算错误
qS=ur5.ikine(T1,q);% 逆运动学数值解 的计算可以得到:
qS =
0.0000 -1.0472 -0.7854 1.0472 -1.0472 1.0472
未完待续
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。