基于LabVIEW 的解魔方机器人设计

2024-04-19 13:56王瑜张浩男赵宇梵
电子设计工程 2024年8期
关键词:下位魔方上位

王瑜,张浩男,赵宇梵

(西安航空学院机械工程学院,陕西西安 710077)

近年来,机器人技术发展迅速,各种各样的机器人广泛应用于工业、农业、教育业等场合。魔方作为教学工具,解魔方不仅可以加深人们的空间理解能力,设计解魔方机器人还需要具备机械结构设计、电控系统设计、计算机程序设计等能力,涉及多门课程的理论和实践教学,解魔方机器人设计是近几年的热点[1-4]。

为了设计解魔方机器人,国内外学者们开展了大量相关研究工作,2019 年,长春职业技术学院机电学院的崔文程设计了OPENCV 视觉下闪电解魔方机器人,机器人采用双臂结构,采用视觉和控制以及Two Phase Algorithm 算法实现魔方复原[5]。2021 年,东华理工大学机械与电子工程学院的刘树博等以STM32F407VET6 单片机和安卓手机作为核心,使用Android 手机完成解魔方算法,发送指令至下位机,下位机采用STM32F407VET6 单片机控制步进电机和舵机,设计新型四轴解魔方机器人,实现打乱的魔方自动还原功能[6]。河北大学的赵晓军等设计的嵌入式智能解魔方机器人,以Cortex-A9 处理器为核心,通过PWM 波控制舵机,利用OV5640 摄像头采集魔方各个面颜色,使用Lab 模型+KNN 算法识别颜色,快速且准确复原魔方[7]。

设计一种基于LabVIEW 的解魔方机器人,系统具有自动和手动两种模式,可以实现魔方自动求解和手动求解两种功能。满足求解魔方和魔方教学的需求。该系统由上位机、下位机两部分组成。上位机中的视觉模块主要完成采集和处理图像功能,生成可用于算法解算的数据,通过程序内部的数据流传送至算法模块进行还原解析,后续的解析结果通过通讯模块传送到下位机,下位机控制执行机构完成魔方的还原操作。

1 系统的结构及工作原理

基于LabVIEW 的解魔方机器人系统结构图如图1 所示,系统由上位机和下位机组成。系统上位机基于LabVIEW 平台,实现图像采集、色块位置识别、色块位置手动配置/校准、三维孪生重建、生成还原指令、发送还原指令等功能。STC89C52 作为系统下位机的控制核心,实现接收还原指令、控制执行组件完成动作指令、转动并还原魔方等功能。

图1 系统结构图

2 系统硬件设计

2.1 28BYJ-48步进电机

系统选用28BYJ-48 步进电机实现执行动作指令,转动并还原魔方的功能。28BYJ-48 步进电机为五线四相永磁式步进电机,可以将电脉冲信号转换成角位移或线位移[8]。28BYJ-48 步进电机的控制线有五根,其中一根是电源线,四根是相序线。系统选用ULN2003 驱动模块驱动28BYJ-48 步进电机[9],ULN2003 驱动模块的电源、地接线端分别连接VCC、GND,ULN2003 驱动模块的IN1-IN4 接线端分别和STC89C52 的I/O 口相连,ULN2003 驱动模块U2 的IN1-IN4 接线端分别和STC89C52 的P10-P13 相连,ULN2003 驱动模块U3 的IN1-IN4 接线端分别和STC89C52 的P14-P17 相连,ULN2003 驱动模块U4的IN1-IN4 接线端分别和STC89C52 的P00~P03 相连,ULN2003 驱动模块U5 的IN1-IN4 接线端分别和STC89C52 的P04-P07 相连,ULN2003 驱动模块U6的IN1~IN4 接线端分别和STC89C52 的P20-P23 相连,ULN2003 驱动模块U7 的IN1-IN4 接线端分别和STC89C52 的P24-P27 相连。步进电机驱动模块、步进电机模块的连接电路图如图2 所示。

图2 步进电机驱动模块、步进电机模块的连接电路图

28BYJ-48 步进电机的五根控制线分别和ULN2003 驱动模块的步进电机接口端相连[10-11]。28BYJ-48 步进电机的VCC 和ULN2003 驱动模块的VCC 接线端相连。28BYJ-48 步进电机B1 的1A-4A接线端分别和ULN2003 驱动模块U2 的对应接线端相连,28BYJ-48 步进电机B2 的1B~4B 接线端分别和ULN2003 驱动模块U3 的对应接线端相连,28BYJ-48 步进电机B3 的1C-4C 接线端分别和ULN2003 驱动模块U4 的对应接线端相连,28BYJ-48 步进电机B4 的1D-4D 接线端分别和ULN2003 驱动模块U5 的对应接线端相连,28BYJ-48 步进电机B5 的1E~4E 接线端分别和ULN2003 驱动模块U6 的对应接线端相连,28BYJ-48 步进电机B6 的1F-4F接线端分别和ULN2003 驱动模块U7 的对应接线端相连。

2.2 STC89C52控制模块

系统选用STC89C52作为控制核心[12],STC89C52、USB 转TTL 模块的连接电路图如图3 所示。STC89 C52 的VCC 和USB 转TTL 模块的5 V 接线端相连,STC89C52 的GND 和USB 转TTL 模块的GND 接线端相连,STC89C52 的TXD 和USB 转TTL 模块的RXD接线端相连,STC89C52 的RXD 和USB 转TTL 模块的TXD 接线端相连。STC89C52 的RST 接线端连接复位电路,STC89C52 的XTAL1、XTAL2 接线端连接晶振电路[13]。

图3 STC89C52、USB转TTL模块的连接电路图

3 系统软件设计

3.1 系统上位机软件设计

系统上位机软件需要具备以下功能:图像采集功能、色块位置识别功能、色块位置手动配置/校准功能、三维孪生重建功能、还原算法指令生成功能、串口通信功能等。上位机参数配置前面板如图4 所示[14],主要包括相机端口控件、串口配置控件等。

图4 上位机参数配置前面板

上位机主界面设计主要功能分区为左上角的图像采集显示功能区、左下角的色块位置自动识别与手动校准配置功能区、右上角的三维孪生实时显示交互功能区、右下角的建模还原功能区。上位机主界面前面板如图5 所示。

图5 上位机主界面前面板

图像采集显示功能区主要实现图像实时采集显示功能,并为用户提供魔方位置参考,方便用户快速调整魔方位置达到快速准确识别的目的[15]。

色块位置自动识别与手动校准配置功能区实现色块的识别配置功能,主要有自动与手动配置功能,手动配置功能可满足上位机硬件外设不足的情况下对魔方建模的需求,校准功能可以提高自动识别算法的准确性。

三维孪生实时显示交互功能区可以查看三维魔方建模,验证魔方建模的准确,方便提前验证数据及方法的正确与否。

建模还原功能区可以实现魔方建模、自动/手动还原、串口通信交互信息显示、退出程序等功能。

3.2 系统下位机软件设计

系统下位机软件主要实现以下功能:通过串口接收上位机指令,并控制解魔方机器人做出相应操作;通过串口返回执行状态指令,方便上位机完成状态判断;控制执行组件完成动作指令的功能,转动魔方完成指令响应[16-19]。系统下位机程序流程图如图6所示。

图6 系统下位程序流程图

系统下位机主要包括系统初始化、步进电机驱动、串口通信等。系统初始化后,判断下位机数据接收端是否成功读取数据,读取数据成功后,判断执行哪种控制指令,并返回指令,执行指令,从而实现控制步进电机旋转,求解魔方。

4 系统分析与测试

最快、最直接评价解魔方机器人的方法是其能否将一个任意打乱的魔方成功复原。为了测试基于LabVIEW 的解魔方机器人的性能,进行了15次实验。

对魔方进行随机的打乱,为了保证每次打乱的魔方都不相似,五人分别进行魔方打乱,且每次打乱的时间都要求在30 s 以上,保证可以充分的打乱魔方,实际测试基于LabVIEW 的解魔方机器人的性能。基于LabVIEW 的解魔方机器人测试数据如表1所示。

表1 基于LabVIEW的解魔方机器人测试数据

通过测试数据可以看出,基于LabVIEW 的解魔方机器人可以将一个任意打乱的魔方进行复原,且复原过程中机械结构稳定。

5 结束语

文中设计了一种基于LabVIEW 的解魔方机器人。利用LabVIEW 编写上位机程序,实现图像采集、色块位置识别、色块位置手动配置/校准、三维孪生重建、还原算法指令生成、串口通信等功能。系统下位机选用STC89C52 作为控制核心,实现接收上位机指令、控制步进电机、返回执行状态指令、控制执行组件完成动作指令、转动魔方完成指令响应等功能。基于LabVIEW 的解魔方机器人具有手动与自动两种模式,在手动模式下可以分步执行,魔方爱好者在解魔方遇到困难时,为其提供还原思路。系统成本低、体积小、便于携带、操作简单。

猜你喜欢
下位魔方上位
发明魔方的人
创意无限翻翻翻
魔方廖
发射机房监控系统之下位机
特斯拉 风云之老阿姨上位
“三扶”齐上位 决战必打赢
基于ZigBee和VC上位机的教室智能监测管理系统
小魔方
景洪电厂监控系统下位机数据传输网络改造
围观党“下位”,吐槽帝“登基”