学习目标:

matlab机器人工具箱的使用(4)


学习内容:

1、工作空间可视化


学习记录:

思路:
随机生成一个关节变量-----fkine------>变换矩阵------transl--------->三维坐标

  • rand函数

rand是在(0,1)内生成一个随机数
在[m,n]内随机生成一个数字:m+rand*(m-n)
随机关节空间变量:q=qmin+rand*(qmax-qmin)

  • Link.qlim

限制关节角度的

本案例使用的《机器人控制技术》书中的机械臂模型,前面已经说明了它的DH参数。

%采用弧度制
L(1).qlim=[-180,180]/180*pi;
L(2).qlim=[-145,65]/180*pi;
L(3).qlim=[-65,220]/180*pi;
L(4).qlim=[-180,180]/180*pi;
L(5).qlim=[-135,135]/180*pi;
L(6).qlim=[-360,360]/180*pi;

可以验证一下设置的是否正确:

>> L(1).qlimans =-3.1416    3.1416

绘制工作空间:
首先定义一个30000为迭代次数,P是一个[30000,3]的矩阵,事先声明一个这也的0矩阵可以加快运行速度。L(1).qlim(2)是最大限制,L(1).qlim(1)是最小限制,这就生成了关节随机变量,再组合成完整的关节随机变量,通过正运动学函数得到变换矩阵,在提取它的变换矩阵,赋值给P得到30000×3的位置矩阵。最后用plot函数绘制出点来。

num=30000;
P=zeros(num,3);
for i =1:numq1=L(1).qlim(1)+rand*(  L(1).qlim(2) - L(1).qlim(1)  );q2=L(2).qlim(1)+rand*(  L(2).qlim(2) - L(2).qlim(1)  );q3=L(3).qlim(1)+rand*(  L(3).qlim(2) - L(3).qlim(1)  );q4=L(4).qlim(1)+rand*(  L(4).qlim(2) - L(4).qlim(1)  );q5=L(5).qlim(1)+rand*(  L(5).qlim(2) - L(5).qlim(1)  );q6=L(6).qlim(1)+rand*(  L(6).qlim(2) - L(6).qlim(1)  );q=[q1 q2 q3 q4 q5 q6];T=Six_dof.fkine(q);P(i,:)=transl(T);
endplot3(P(:,1),P(:,2),P(:,3),'b.','markersize',1);

最后加入这些可以把机械臂也放进去。

hold on
grid on
daspect([1 1 1]);
view([45 45]);
Six_dof.plot([0 0 0 0 0 0])

完整代码:

%1.standard DH 课本6R
L(1)=Link('revolute','d',0.504,'a',0.17,'alpha',pi/2);
L(2)=Link('revolute','d',0,'a',0.78,'alpha',0,'offset',pi/2);
L(3)=Link('revolute','d',0,'a',0.14,'alpha',pi/2);
L(4)=Link('revolute','d',1.06,'a',0,'alpha',pi/2,'offset',pi);
L(5)=Link('revolute','d',0,'a',0,'alpha',pi/2,'offset',pi);
L(6)=Link('revolute','d',0.125,'a',0,'alpha',0);
Six_dof = SerialLink(L,'name','6/-dof');
%Five_dof.base=transl(0,0,0.28);%关节限制
L(1).qlim=[-180,180]/180*pi;
L(2).qlim=[-145,65]/180*pi;
L(3).qlim=[-65,220]/180*pi;
L(4).qlim=[-180,180]/180*pi;
L(5).qlim=[-135,135]/180*pi;
L(6).qlim=[-360,360]/180*pi;num=30000;
P=zeros(num,3);
for i =1:numq1=L(1).qlim(1)+rand*(  L(1).qlim(2) - L(1).qlim(1)  );q2=L(2).qlim(1)+rand*(  L(2).qlim(2) - L(2).qlim(1)  );q3=L(3).qlim(1)+rand*(  L(3).qlim(2) - L(3).qlim(1)  );q4=L(4).qlim(1)+rand*(  L(4).qlim(2) - L(4).qlim(1)  );q5=L(5).qlim(1)+rand*(  L(5).qlim(2) - L(5).qlim(1)  );q6=L(6).qlim(1)+rand*(  L(6).qlim(2) - L(6).qlim(1)  );q=[q1 q2 q3 q4 q5 q6];T=Six_dof.fkine(q);P(i,:)=transl(T);
endplot3(P(:,1),P(:,2),P(:,3),'b.','markersize',1);%示教
%Six_dof.teach


matlab机器人工具箱的使用(4)相关推荐

  1. 五自由度简单机械臂运动学及动力学分析|基于MATLAB机器人工具箱Rvctool

    五自由度简单机械臂运动学及动力学分析|基于MATLAB机器人工具箱Rvctool 1.机械臂要满足其抓手能在0.50.50.5立方米的工作空间内活动,终端抓手要能横向以及纵向抓到这个空间内每一个点(死 ...

  2. matlab机器人工具箱 欧拉角,Matlab机器人工具箱(一)

    开始学习<Robotics,Vision and Control>,今天是学习的第一篇章,因为项目需要, 需要在Matlab上做一个仿真实验,由于是串联机器人系统,不涉及到移动机器人系统, ...

  3. 工业机器人(9)-- Matlab机器人工具箱之创建单臂/双臂机器人SDH/MDH方法

    目录 1. Matlab机器人工具箱 2. 创建MDH单机械臂 3. 创建MDH双臂机器人 UR构型双臂 如何进行轨迹仿真 4. MDH-双臂机器人 1. Matlab机器人工具箱 官方网站Robot ...

  4. Matlab机器人工具箱(3):双臂操作(从模型建立到轨迹规划)

    从 Matlab机器人工具箱(3) 开始,使用的机器人工具版本更换到v10版本 他们的区别还是挺大的: 一个是单位的问题:从m变为mm 还有一个是变量类型的问题,变换矩阵从正常的矩阵形式变为se3类型 ...

  5. 四足机器人—matlab机器人工具箱DH建模

    目录 基于matlab机器人工具箱的四足机器人DH建模 模型展示 代码 参考博客 基于matlab机器人工具箱的四足机器人DH建模 模型展示 代码 %2021/10/28四足机器人DH建模 %碎弧的星 ...

  6. matlab机器人工具箱学习笔记——ikine函数

    matlab机器人工具箱学习笔记--ikine函数 ikine函数用法 使用实例 链接: https://blog.csdn.net/weixin_42596724/article/details/8 ...

  7. matlab工具箱使用手册,matlab机器人工具箱使用手册.pdf

    [实例简介] matlab机器人工具箱使用手册.pdf Preface This, the ninth major release of the Toolbox, repre * stal sents ...

  8. 强大的MATLAB机器人工具箱Matlab_Robotic_Toolbox_v9.8及教程

    强大的MATLAB机器人工具箱Matlab_Robotic_Toolbox_v9.8及教程 Matlab_Robotic_Toolbox_v9.8是一个功能强大的机器人工具箱,包含了机器人正.逆向运动 ...

  9. MATLAB机器人工具箱(一 机器人运动学)

    目录 一.三维空间位姿表示与坐标变换方法 三维空间的位置与姿态表示 位置描述 姿态描述 旋转矩阵 坐标系绘制 坐标变换 平移坐标变换 旋转变换 二.机器人运动学 D-H参数法 创建一个连杆对象 创建一 ...

  10. MATLAB 机器人工具箱与机器人系统工具箱使用

    安装机器人工具箱成功的基础上,打开matlab后在命令行输入 roblocks可以打开机器人工具箱的Simulink库 应用参考链接如下: MATLAB机器人工具箱在SIMULINK中对机器人进行操作 ...

最新文章

  1. 基于深度学习的自然语言处理
  2. 聚集索引和非聚集索引- -
  3. flex组合流动布局实例---利用css的order属性改变盒子排列顺序
  4. 秒拍副总裁陈太锋:如何通过数据分析提升有效播放量
  5. 数据科学家们会被 AutoML 代替吗?
  6. php如何连接mariadb,MariaDB 建立连接
  7. 阿里矢量图标库的使用
  8. ENVI5.1裁剪影像及注意要点(如无论规则或是不规则裁剪结果都是矩形的问题求解)
  9. 新浪sae php,PHP+新浪微博开放平台+新浪云平台(SAE)1
  10. 百度关闭快照删除更新入口
  11. python中的与或非详解
  12. Python爬虫第四课 appium和第MongoDB数据库
  13. 抓取淘宝某类商品名称和价格
  14. 【IXDC 2014】小米、BroadLink对垒智能Wi-Fi模块
  15. iOS审核总被拒?腾讯教你提升iOS审核通过率!
  16. C++stack与queue模拟实现
  17. 全球及中国聚氨酯热固性弹性体(TSU)行业研究及十四五规划分析报告
  18. Kafka 集群在马蜂窝大数据平台的优化与应用扩展
  19. python代码学习1
  20. 休闲零食加盟店项目该如何选择品牌?

热门文章

  1. C#练习题答案: 狂暴评价者:CG比。铛【难度:2级】--景越C#经典编程题库,1000道C#基础练习题等你来挑战
  2. 京东抢购茅台如何获取_JdTdudfp
  3. Python基础--通用序列操作
  4. Excel VBA基础与应用5
  5. android打开前置摄像头和后置摄像头 .
  6. JZOJ 3736. 数学题(math) 题解
  7. 科大星云诗社动态20210128
  8. 洛谷 P3674 小清新人渣的本愿 [莫队 bitset]
  9. 360极速浏览器强制刷新的快捷键
  10. 中国矿业大学计算机学院张铖,中国矿大在第41届ACM国际大学生程序设计竞赛中国区决赛中荣获银奖...