您好, 访客   登录/注册

基于SOPC的魔方解算机器人设计与开发

来源:用户上传      作者:

  【摘要】本文设计了基于FPGA + Nios II处理器的魔方解算机器人。通过对两个模拟摄像头的数据进行解码,得到魔方整体图像,把图像进行切割得到每个方块的采样点并通过中值滤波得到精确的颜色数据。FPGA主要完成耗时大和重复率高的图像处理部分,Nios II处理器完成魔方解算等单步运行且重复率不高的操作,使用Avalon总线完成软硬件之间的数据传输,最终控制电机完成魔方的还原。SOPC技术简化了硬件电路的设计,降低系统的功耗,提高系统运行的稳定性。
  【关键词】FPGA;Nios II处理器;机器人;魔方解算
  一、
  引言
  FPGA克服了传统CPU处理数据能力弱的特点,具有并行计算和可编程的特性。FPGA内部拥有庞大的乘法器和硬件浮点运算部件,其乘法运算性能是一般CPU所不能媲美的,非常适合进行密集型计算任务,如图像处理、矩阵计算、卷积神经网络等。
  二、系统结构
  系统工作流程及功能框图如图1所示。系统硬件结构框图如图2所示,系统硬件主要由Cyclone II系列的FPGA芯片、模拟摄像头、ADV7180视频解码芯片、SDRAM存储器、ADV7123高速视频DAC芯片、光电开关、步进电机等组成。系统硬件结构框图如图2所示。
  本系统工作流程是:通过两个模拟摄像头对魔方进行全方位采集图像,通过解码芯片得到数字化的图像数据然后传到FPGA中进行处理。FPGA首先把ITU-R BT.656接口协议的图像数据解码成Ycrcb格式缓存在SDRAM,然后再把每一帧图像从SDRAM中读出来进行切割图像,得到每个方块的像素点,紧接着进行中值滤波处理。然后把Ycrcb格式转RGB格式,再从RGB格式转成HSV格式,即图像的明度、饱和度、色调。将解析完的颜色模型通过Avalon总线传到Nios ii处理器中建造3阶魔方模型,通过魔方算法把魔方还原步骤下传到FPGA中FIFO里面,然后FIFO数据依次读出控制步进电机转动。
  Nios ii处理器与FPGA分工合作,FPGA主要完成一些耗时大和重复率高的图像处理部分,而Nios ii处理器则完成魔方解算这种单步运行且重复率不高的操作。这样的设计方法大大减少了CPU的负荷,通过FPGA中流水线以及硬件复制等设计方法来进行硬件加速,极大地加快了整个魔方解算的时间。在步进电机控制中,由FPGA搭建分频器产生PWM脉冲使得魔方转动,使得整个魔方转动更加的稳定,而且能准确转动某个角度。
  三、魔方解算
  魔方解算公式采用最普遍的层先法,先完成底层十字,再完成第一层的还原,然后完成第二层的还原,接着顶层十字还原,最后通过改变角块和色块的位置完成整个魔方的还原。
  魔方方块的颜色识别是整个魔方设计最重要的环节,它主要包括图像切割模块、中值滤波模块、RGB转HSV模块以及颜色识别模块。图像的坐标信息以及像素数据输入到图像切割模块中,采样每个魔方方塊中心3x3的RGB数据,并储存在3x3的像素矩阵中。接着把每个3x3的像素矩阵输入到中值滤波模块中,提取出中间值作为该方块的颜色。由于只需对切割的图像进行中值滤波,而图像的刷新也仅仅达到每秒30帧的速度,所需要的数据带宽并不大,所以通过多路选择器对中值滤波模块进行分时复用,这样的做法同样可以对每个3x3的像素矩阵进行滤波,同时也减少了硬件复制所带来的硬件资源的浪费。同样以分时复用的设计方法把每个像素数据输入RGB转HSV模块以及颜色识别模块,接着得到所需要的HSV格式的颜色数据,最后把这些数据挂载在Avalon总线上等待Nios ii处理器的访问。
  四、实验结果及分析
  由于颜色数据受光线的影响较大,白天与晚上的数值上下浮动比较大,并且不同地方的光线条件也相差甚远,因此采用HSV颜色模型来识别颜色,减少了误差。除此之外,面对光线反光的问题,在实验中需要添加挡光板来避免光线斜射导致的光滑平面的反光。这样做使得机器人不会因为反光而识别不出来颜色。在后期的调试中,在保证性能的前提下,可以通过改良算法来减少转动的步数。通过反复实验,在步进电机每秒转360度时,魔方转动稳定,并未出现丢步和失灵的现象,提高了魔方还原的效率。
  通过改变魔方的地理位置以及转动魔方的方向,改变每一个魔方平面上每种颜色的占比,并在不同光照强度下统计该设计的魔方机器人对各个颜色的识别率,每种颜色采样次数为100次,在强光、中强光、弱光三种条件下分别进行实验,魔方还原准确率达99%以上。
  五、结论
  本设计的魔方解算机器人,采用Nios ii + FPGA的设计方法,取代了传统的CPU嵌入式系统设计,使用Avalon总线完成软硬件之间的数据传输,极大地加快了数据的处理以及通信,同时SOPC技术还简化了硬件电路的设计,实现在一个片内完成电路的连接,降低系统的功耗以及运行的稳定性。经实验验证,本设计的魔方解算机器人魔方还原准确率较高,运行稳定。
  参考文献:
  [1]张艳珠,古长军,王凡迪,朱啸天.魔方机器人控制系统设计[J].沈阳理工大学学报,2016,35(3):43-46.
  基金项目:北华大学省级大学生创新创业训练计划资助项目“魔方解算机器人”(201910201110);北华大学“高频电子技术”金课建设资助项目。
  作者简介:余国庆(1999-),男,汉族,安徽省亳州市人,本科生,研究方向:FPGA系统开发;通讯作者:张玉欣()1979-),女,汉族,吉林省吉林市人,副教授,工学博士,研究方向:电气设备故障诊断。
转载注明来源:https://www.xzbu.com/2/view-15243079.htm