基于LabVIEW魔方机器人系统设计.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于LabVIEW魔方机器人系统设计

基于LabVIEW魔方机器人系统设计   摘要:本研究在图像识别技术的帮助下,让乐高机器人完成解魔方的过程。在硬件条件受到限制的情况下,通过理论分析和实际测试,尽可能用合理应用函数、调整参数、适当控制外部环境变量的方式使颜色识别的准确性达到一个较高的水平。实验中,转魔方用的机械臂、转盘由Lego Mindstorms NXT的零件组装而成,魔方各个面的图像由一个普通摄像头拍摄,由一台电脑进行图像分析和还原步骤的计算。在魔方还原过程中,PC端和NXT端要运行各自的程序,程序均使用LabVIEW编写。   关键词:LabVIEW 乐高机器人 魔方 模式匹配 图像分析   中图分类号:TP242 文献标识码:A 文章编号:1007-9416(2014)12-0136-02   随着科技的进步,越来越多的人试图用机器人自动复原魔方。本研究参考了网上的魔方机器人的相关资料,实现了一个完整的魔方机器人系统。   1 系统结构   图1为包括机械部分和所有外部设备在内的完整系统结构。   2 硬件实现   机械部分采用了乐高MindStorms NXT机器人套件,采用2个电机配合完成魔方的翻滚与扭转,造型仿造了动力老男孩的博客中的魔方机器人[1]。此外,一台计算机用于分析图像和计算还原步骤并实时显示魔方当前状态,一个摄像头用于采集图像。   如图2所示,摄像头从魔方上方垂直对着魔方的角度进行拍摄,照明条件良好。使用的魔方为国甲5三阶速拧魔方。   3 软件实现   软件部分分为PC端程序和NXT端程序两部分。   3.1 PC端程序   PC端程序功能分为:(1)获取图像;(2)分析图像;(3)查错;(4)解魔方;(5)传送指令。   3.1.1 获取图像   拍摄魔方6个面的图像,存入指定目录下。   3.1.2 分析图像   分析图像部分的功能又可以分为四大块:(1)生成模板:生成6个面中心色块的模板。使用的模板图要注意参数选择。经过理论研究和实验测试,最后的选择是:模板图的类型用HSL(U32),模板的Learn Mode选的是Shift Information[2],模板的Feature Mode选的是Color。(2)生成色块数组:用模式匹配识别魔方6个面的颜色分布,并将结果转化为9*6魔方色块数组。由于区分红、橙、黄需要较高的色彩精确度,模式匹配函数的Color Sensitivity设为High Sensitivity。由于搜索的色块间距较近,Search Strategy设为Conservative。(3)显示魔方初始状态:用颜色模板拼出6个面。(4)算出魔方初始状态:查表把色块数组转化成规范的初始状态字符串。   3.1.3 查错   这部分是PC根据前一部分输出的色块数组,判断该色块数组是否合理(是否每种颜色各9块),从而判断是否继续进行解魔方的操作。   3.1.4 解魔方   本研究完成的系统中解魔方模块的采用Thistlethwaites algorithm[3]算法,该算法和一般解魔方一层一层还原的思想不同。它一步一步减小魔方的打乱程度,使魔方变得能用越来越简单的步骤还原。群降法的思想复杂,却是最少步数还原魔方的最佳选择。算法实现参考了Jaap Scherphuis编写的[4]C++代码。输入魔方初始状态(每块的颜色,如:RU LF UB DR DL BL UL FU BD RF BR FD LDF LBD FUL RFD UFR RDB UBL RBU),输出解魔方步骤([面][旋转数],如:D1B3F1U3B1L2U3B2D3L2U1R1D1F2D1L2D2B2D3L2D1B2U2L2D2B2U2L2B2R2)。   3.1.5 传送指令   将解魔方步骤分成一个一个小步,逐步传给NXT,并在屏幕上显示魔方当前状态、变化趋势、还原步骤。   3.2 NXT端程序   NXT端程序分为:(1)初始化;(2)等待;(3)还原。   3.2.1 初始化   将魔方6个面的坐标数组初始化。坐标数组用于保存魔方每个面中心颜色(ASCII码形式)的变化。   机器人通过推和转的动作将要拍的面翻到顶面,然后通知电脑获取图像,直到6个面都拍完。   3.2.2 等待   该部分NXT的主要功能就是等待接收PC向它发送的命令。PC端的分析图像、查错、解魔方以及一些手动操作都在NXT的等待阶段完成。   3.2.3 还原   这一部分是NXT端的核心部分,包括两类操作:翻面和转面。翻面和转面这两种操作将会不断交替进行,直到收到PC端的结束信号。   (1)翻面:这一部分,要将需要扭转的面以最简单的步骤翻到底面,并更新坐标数组。坐标数组保存的是U、D、L、R、F、

文档评论(0)

317960162 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档