前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >机器人工具箱matlab robotics toolbox使用

机器人工具箱matlab robotics toolbox使用

原创
作者头像
ZC_Robot机器人技术
修改2021-05-15 21:23:50
4.6K3
修改2021-05-15 21:23:50
举报
文章被收录于专栏:机器人技术与系统Robot

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)

2 以UR5为例子,其具体的建模和仿真如下所示:

UR5
UR5

采用指令mdl_ur5 -> ur5可以得到:

UR5模型参数
UR5模型参数

3 机器人位置姿态变换,首先以平面的位姿变换为例

T = SE2(x, y, theta); % x、y为偏移量,theta为旋转角度

trplot2(T); % 画出T坐标系

T = transl2(x, y); % 纯平移变换

代码语言:javascript
复制
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)

代码语言:javascript
复制
alpha=pi/3;
beta=pi/4;
theta=pi/2;
rotx(alpha)
roty(beta)
rotz(theta)

运行结果如下所示

代码语言:javascript
复制
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

4 UR5测试

代码语言:javascript
复制
mdl_ur5
ur5
ur5.teach                                        % 机械臂操控交互界面    
UR5示教
UR5示教
代码语言:javascript
复制
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为关节初始角度
特定构型下的UR5
特定构型下的UR5
代码语言:javascript
复制
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);% 逆运动学数值解    

由上述可以得到机器人的正向运动学,进而得到机器人的笛卡尔空间变换矩阵为:

代码语言:javascript
复制
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);% 逆运动学数值解 的计算可以得到:

代码语言:javascript
复制
qS =
    0.0000   -1.0472   -0.7854    1.0472   -1.0472    1.0472


未完待续

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档