
设计开发
基于LabVIEW的魔方机器人系统设计
张雨田
(华东师范大学信息科学技术学院上海200241)
共事
与用
摘要:本研究在图像识别技术的帮助下,让乐高机器人完成解魔方的过程。在硬件条件受到限制的情况下,通过理论分析和实际测试尽可能用合理应用函数、调整参数、速当控制外部环境变量的方式使额色识别的准确性达到一个较高的水平。实验中,转魔方用的机械肾、转盘由Leg0 Mindktorms NXT的零件组装而成,魔方各个面的图像由一个普通摄像头拍摄,由一台电脑进行图像分析和还原步骤的计算。在魔方还原过程中,PC端和NXT端要运行各自的程序,程序均使用LabVIEW编写,
关键词:LabVIEW乐高机器人魔方模式匹配图像分析
中图分类号:TP242
文献标识码:A
随着科技的进步,越来越多的人试图用机器人自动复原魔方。本研究参考了网上的鹿方机器人的相关资料,实现了一个完整的魔
方机器人系统。 1系统结构
图1为包括机械部分和所有外部设备在内的完整系统结构, 2硬件实现
机械部分采用了乐高MindStormsNXT机器人套件,采用2个电机配合完成魔方的翻滚与扭转,造型仿造了动力老男孩的博客中的魔方机器人叫。此外,一台计算机用于分析图像和计算还原步骤并实时显示魔方当前状态,一个摄像头用于采集图像。
如图2所示,摄像头从童方上方垂直对着魔方的角度进行拍摄
照明条件良好。使用的魔方为国甲5三阶速拧魔方。 3软件实现
软件部分分为PC端程序和NXT端程序两部分。 3.1PC端程序
PC端程序功能分为:(1)获取图像;(2)分析图像;(3)查错;(4)解魔方;(5)传送指令。
3.1.1券取图债
拍摄魔方6个面的图像,存入指定目录下。 3.1.2分析图像
PC
图像分析模块分析结果查错模块
收稿日期:2014-11-14
初始状查初始状态
图像采集模块板像头
解魔方模块仿真模块
消典
文章编号:1007-9416(2014)12-0136-02
分析图像部分的功能又可以分为四大块:(1)生成模板:生成6个面中心色块的模板。使用的模板图要注意参数选择。经过理论研究和实验测试,最后的选择是:模板图的类型用HSL(U32),模板的 LearnMode选的是ShiftInformation,模板的FeatureMode选的是Color。(2)生成色块数组:用模式匹配识别魔方6个面的颜色分布,并将结果转化为9*6魔方色块数组。由于区分红、橙、黄需要较高的色彩精确度,模式匹配函数的ColorSensitivity设为High Sensitivity,由于搜索的色块间距较近,SearchStrategy设为 Conservative。(3)显示魔方初始状态:用颜色模板拼出6个面。(4)算出魔方初始状态:查表把色块数组转化成规范的初始状态字符串。
3.1.3查错
这部分是PC根据前一部分输出的色块数组,判断该色块数组是否合理(是否每种颜色各9块),从而判断是否继续进行解魔方的操作。
3.1.4解鹿方
本研究完成的系统中解魔方模块的采用Thistlethwaite's alg orithm算法,该算法和一般解魔方一层一层还原的思想不同。它步一步减小魔方的打乱程度,使鹿方变得能用越来越简单的步还原,群降法的思想复杂,却是最少步数还原魔方的最佳选择。算法实现参考了JaapScherphuis编写的C++代码。输入魔方初始状态(每块的颜色,如:RULFUBDRDLBLULFUBDRFBRFD LDFLBDFULRFD UFRRDB UBLRBU),输出解魔方步骤
机器人模块
通信模块
度方状态变化图、步费图1系统结构
作者简介:张雨田(1990一).女,汉族,浙江杭州人,颈士(应局生),研究方向:信号与信息处理
通信模块
机械动作
NXT机器人