• List item

基于蒙特卡洛法的机器人工作空间仿真

matlab代码

clear,clc,close all
format compact
alpha=[0,90,0,0,90,-90];
a=[0,0,-0.3,-0.276,0,0];
d=[0.1215,0.1225,-0.102,0.09,0.09,0.082];
offset=[0,-90,0,-90,0,0];
DH=[alpha',a',d',offset'];
qlim=[-170,170;-84,130;-188,50;-170,170;-117,117;-360,360];
for i=1:length(alpha)L(i)=RevoluteMDH('d',d(i),'a',a(i),'alpha',deg2rad(alpha(i)),'offset', ...deg2rad(offset(i)),'qlim',deg2rad([qlim(i,1),qlim(i,2)]));
end
robot=SerialLink(L,'name','Arm6');base=transl(0,0,0)*rpy2tr(0,0,0,'deg');
robot.base=base;
tool=transl(0,0,0)*rpy2tr(0,0,0,'deg','xyz'); %末端工具
robot.tool=tool;
robot.display()xita = [0 0 0 0 0 0];for i = 1:10000for m = 1:6xita(m) = qlim(m,1) + (qlim(m,2)-qlim(m,1))*rand;endpx = d(6)*cos(xita(5))*sin(xita(1))...- d(6)*cos(xita(2)+xita(3)+xita(4))*cos(xita(1))*sin(xita(5))...+ cos(xita(1))*a(3)*cos(xita(2)+xita(3))...+ cos(xita(1))*a(2)*cos(xita(2))...+ d(4)*sin(xita(1))...+ d(5)*sin(xita(2)+xita(3)+xita(4))*cos(xita(1));py =  sin(xita(1)) * (a(3) * cos(xita(2) + xita(3)) + a(2)*cos(xita(2))) ...-d(4)*cos(xita(1))...-d(6)*(cos(xita(1)*cos(xita(5)) + cos(xita(2)+xita(3)+xita(4))*sin(xita(1))*sin(xita(5)))) ...+d(5)*sin(xita(2)+xita(3)+xita(4))*sin(xita(1));pz = d(1)+a(3)+ sin(xita(2)+xita(3)) + a(2)*sin(xita(2))...-d(5)*cos(xita(2)+xita(3)+xita(4))...-d(6)*sin(xita(2)+xita(3)+xita(4))*sin(xita(5));%旋转矩阵中移动部分向量p = [px py pz]';plot3(p(1),p(2),p(3),'r*')hold on
end

取100000个采样得到的三维图如下所示:

采用蒙特卡洛法实现机器人工作空间仿真 附matlab源码相关推荐

  1. 附Matlab源码:滚动轴承早期故障优化自适应蝙蝠算法优化的随机共振诊断法

    附Matlab源码:滚动轴承早期故障优化自适应蝙蝠算法优化的随机共振诊断法 文章目录 附Matlab源码:滚动轴承早期故障优化自适应蝙蝠算法优化的随机共振诊断法 前言 一.自适应蝙蝠算法优化的随机共振 ...

  2. 基于确定性最大似然算法 DML 的 DoA 估计,用牛顿法实现(附 MATLAB 源码)

    本文首次在公众号[零妖阁]上发表,为了方便阅读和分享,我们将在其他平台进行自动同步.由于不同平台的排版格式可能存在差异,为了避免影响阅读体验,建议如有排版问题,可前往公众号查看原文.感谢您的阅读和支持 ...

  3. 基于ITD实现的轴承故障信号分解并附Matlab源码

    基于ITD实现的轴承故障信号分解并附Matlab源码 轴承是旋转机械中重要的支撑部件,其状态的健康程度对设备运行的性能和寿命有着至关重要的影响.因此,轴承状态监测和故障诊断成为了研究热点.本文基于IT ...

  4. 初勘数据处理之预测算法(随机森林random forest)附matlab源码

    初勘数据处理之预测算法(随机森林random forest)附matlab源码 集成学习方法 集成学习方法,是整合多个分类方法的预测结果,以提高分类准确率.集成学习方法先用训练数据构建一组基分类器,再 ...

  5. 【Matlab 六自由度机器人】基于蒙特卡罗方法(Monte Carlo Method)构建机器人工作空间(附MATLAB建模仿真完整代码)

    [Matlab 六自由度机器人]基于蒙特卡洛法构建工作空间 往期回顾 前言 正文 一.蒙特卡洛方法及机器人工作空间的概述 1. 蒙特卡洛法 2. 机器人工作空间 二.rand函数的应用 1. rand ...

  6. MATLAB实战系列(十九)-遗传算法解决TSP(旅行商)问题-应用及解析(文末附MATLAB源码)

    接上篇MATLAB实战系列(十八)-遗传算法解决TSP(旅行商)问题-算法原理 https://wenyusuran.blog.csdn.net/article/details/114060030 感 ...

  7. 一种基于加密域的数字图像水印算法的设计与实现(附Matlab源码)

    一种基于加密域的数字图像水印算法的设计与实现 项目介绍 毕设项目 题目:一种基于加密域的数字图像水印算法的设计与实现 随着数字媒体技术的发展,数字媒体版权的保护得到了越来越多人的重视,数字水印技术作为 ...

  8. 数学建模-关于碎纸片的拼接复原的理解(2003年建模国赛B题 附Matlab源码)

    目录 赛题解析 题目 解题思路 算法细节 运行结果 Matlab源码 赛题解析 题目 2013年B题 碎纸片的拼接复原     破碎文件的拼接在司法物证复原.历史文献修复以及军事情报获取等领域都有着重 ...

  9. 【机器人栅格地图】基于蚁群优化遗传算法求解机器人栅格地图最短路径规划问题附Matlab源码

    1 简介 通过栅格法建立栅格地图作为机器人路径规划的工作环境,采用蚁群算法结合遗传算法作为机器人路径搜索的规则.将所有机器人放置于初始位置,经过NC次无碰撞迭代运动找到最优路径,到达目标位置.为防止机 ...

最新文章

  1. calendar类_带有时区的字符怎样转换为时间及Java 8中日期 与 Calendar 转换
  2. vc++6.0 模拟鼠标点击代码 木马程序的编写 VC 模拟键盘输入
  3. 用JavaScript将字符串中的单词大写
  4. python server client_python 实现简单client与server | 学步园
  5. 【荐】纯CSS实现苹果MAC官方网站的菜单导航
  6. The Top 8 Security and Risk Trends We’re Watching
  7. 生产环境下ftp的迁移并构建corosync+pacemaker的高可用
  8. 理解之软件需求说明书
  9. 转载:Java导出数据到Excel
  10. 同步电机模型的MATLAB仿真模型
  11. element-ui 输入框的前后缀图标 prefix-icon 和 suffix-icon
  12. 腾讯青浦二期数据中心为啥得到了USGBC的青眼?
  13. VB数据库方面的知识
  14. springboot中整合mybatis及简单使用
  15. 阿里云开机自动挂载ossfs
  16. 约瑟夫环(51nod)
  17. android 数据重构(仿淘宝浏览记录,足迹)
  18. 自动化测试系列(六)--自动化成熟度等级
  19. 口袋微博 服务器 客户端代码
  20. 【架构实践】微服务架构全解析:Scale Cube 横向扩展,垂直扩展,纵向扩展

热门文章

  1. ABAP subroutine 的定义和使用
  2. 单片机2个按键互锁c语言程序,单片机的C语言应用程序设计 2.ppt
  3. 综合 | 分工,方法学可讨论的点
  4. 9V转5V,12V转5V的降压和LDO方案选型
  5. STM32在Kiel4中注意的问题
  6. 【autojs源码】App自动向上翻页、自动刷视频 改进版/可连续刷
  7. 网优任我行手机版 v3.3.2
  8. spring Aop实现日志
  9. 大数据相关论文的阅读计划
  10. 用HTML和CSS做一个携程旅游手机端布局含源码分享