Matlab Robitic Toolbox学习笔记Day2
来源:互联网 发布:mac打开远程桌面 编辑:程序博客网 时间:2024/06/05 11:20
1.对于之前已经建立好的SCARA机器人模型,进行动画演示。9.10版本的工具箱中原来的drivebot函数替换为teach函数,用来生成可修改关节变量q的演示图。值得注意的是,在使用teach函数之前,必须在建立各个杆件的时候设置好关节变量q的范围,即qlim;以及设置好所显示图形的范围,即workspace。如果没有设置好,则teach函数会报错。
代码如下所示:
clc, clear, close all;
deg = pi/180;
% Joints setting
L1 = Link('d', 3.3, 'a', 0, 'alpha', 0, 'qlim', [-105 105]*deg,'modified');
L2 = Link('d', 0, 'a', 3.25, 'alpha', 0, 'qlim', [-150 150]*deg,'modified');
L3 = Link('theta', 0, 'a', 2.75, 'alpha', pi,'qlim', [0 2.1],'modified');
L4 = Link('d', 0, 'a', 0, 'alpha',0, 'qlim', [-360 360]*deg,'modified');
bot = SerialLink([L1 L2 L3 L4], 'name', 'SCARA');
% Initial position/Starting position
q = [0 0 1 0];
q1=[90*deg 0 2 0]
a=7;
W = [-a a -a a -a/2 a];
bot.plot(q,'workspace', W);
图形界面如图所示
之前在网上搜索的实例大多是puma560机器人,由于该机器人全部关节均为转动关节,所以在进行仿真的时候可以不必添加workspace的选项,而scara机器人的第三关节是移动关节,所以在使用teach函数的时候必须规定好workspace的大小。
2.jtraj函数。jtraj函数用来生成轨迹
q = [0 0 1 0];
q1=[90*deg 0 2 0];
a=7;
W = [-a a -a a -a/2 a];
c = jtraj(q , q1 , 40 );
bot.plot(c,'workspace', W);
使用robotic toolbox自带的plot函数画出的图形都为动图,如果需要得到一个静态图,则可以使用哪个plot3函数,具体的使用方法如下。
plot3函数与plot函数用法十分相似,其调用格式为:
plot3(x1,y1,z1,选项1,x2,y2,z2,选项2,…,xn,yn,zn,选项n)
其中每一组x,y,z组成一组曲线的坐标参数,选项的定义和plot函数相同。当x,y,z是同维向量时,则x,y,z 对应元素构成一条三维曲线。当x,y,z是同维矩阵时,则以x,y,z对应列元素绘制三维曲线,曲线条数等于矩阵列数。
例 绘制三维曲线。
程序如下:
t=0:pi/100:20*pi;
x=sin(t);
y=cos(t);
z=t.*sin(t).*cos(t);
plot3(x,y,z);
title('Line in 3-D Space');
xlabel('X');ylabel('Y');zlabel('Z');
(参考来源:http://www.ilovematlab.cn/thread-243883-1-1.html)
3.在进行模型的动力学分析的时候,用serialLink.rne函数求得力矩。
rtbdemo中的puma560的实例如下:
t = [0:.056:2]; % create time vector
[q,qd,qdd] = jtraj(qz, qr, t); % compute joint coordinate trajectory
tau = p560.rne(q, qd, qdd); % compute inverse dynamics
% Now the joint torques can be plotted as a function of time
plot(t, tau(:,1:3)); xlabel('Time (s)'); ylabel('Joint torque (Nm)')
4.尚不明确的地方:
五次三项式的插值函数?关于第三第四关节的简化中,实际力矩的求解?
- Matlab Robitic Toolbox学习笔记Day2
- Matlab Robitic Toolbox学习笔记Day1
- Matlab Robotic Toolbox工具箱学习笔记
- Matlab Robotic Toolbox工具箱学习笔记
- Matlab Robotic Toolbox学习
- Matlab Robotic Toolbox工具箱学习笔记(一)
- Matlab Robotic Toolbox工具箱学习笔记(二)
- Matlab Robotic Toolbox工具箱学习笔记(二)
- Matlab Robotic Toolbox工具箱学习笔记(一)
- Matlab深度学习笔记——安装deep learning toolbox
- Matlab Robotic Toolbox工具箱学习笔记(一)
- 【转】matlab学习--bioinformatics toolbox学习
- Java学习笔记day2
- CCNA学习笔记Day2
- Android学习笔记day2
- Python学习笔记Day2
- DAY2学习视频笔记
- 计算机网络学习笔记day2
- 集合类3-Map
- 五、药店的药品销售统计系统(排序应用)
- redis-07-redis启动警告处理
- Spring的两种代理JDK和CGLIB的区别浅谈
- 蓝桥杯 凑算式
- Matlab Robitic Toolbox学习笔记Day2
- 关于利用js编写网页程序的心得或碰到的错误点1
- 机器学习综述
- 直播市场规模有限,差异化竞争成行业必然趋势
- Java优先级队列
- 深入PHP面向对象、模式与实践——让面向对象编程更加灵活的模式(2)
- 情景linux--如何获取一个UUID?
- 关于播放受损视频的问题
- 转 eclipse代码自动提示设置、如何配置eclipse的代码自动提示功能?