APP下载

基于机器视觉的载货小车的设计与实现

2021-12-24王波

中国新通信 2021年19期
关键词:机器视觉嵌入式

【摘要】    本文介绍了一种基于机器视觉的嵌入式系统载货小车,使用了NI公司的嵌入式系统模块myRIO和图形编程语言Labview,与传统的C语言实现有所不同,具有一定的参考价值。

【关键词】    嵌入式    机器视觉    myRIO

引言:

随着信息化的发展,嵌入式系统技术无疑有了更广阔的发展空间。嵌入式系统应用于我们日常生活中的各个领域。嵌入式系统是一种可裁剪的系统,对实时响应程度较高,它必须根据实际系统的需求进行合理的裁剪使用,可以更好的降低成本。

NI公司的myRIO是一个集成的嵌入式模块,包含了一个嵌入式处理器和一个ZYNQ架构的FPGA。我们利用一定的硬件,并结合Labview的视觉助手,可以比较容易的搭建出一个机器视觉模型。本设计就采用了这样一种方案。

一、硬件设计

該载货小车以基于Cortex-A9内核的myRIO为核心,外围电路包括一个电机驱动板,四个电机,以及一个摄像头,电源供电由12V直流锂电池供电,myRIO模块里有整流电路将12V转变为3.3V提供给Cortex-A9和FPGA。

基于Cortex-A9内核的myRIO程序控制,从摄像头获取图片,输出到myRIO,通过机器视觉算法判断出物体的颜色,并通过小车机械臂的抓取,实现货物的运输。

myRIO型号为NI myRIO-1900 ,其核心芯片是 Xilinx Zynq-7010,该芯片集成了 667 MHz 双核 ARM Cortex-A9 处理器以及包含 28K 逻辑单元、80 个 DSP slices、16 个 DMA 通道的 FPGA。

摄像头采用普通高清USB摄像头,驱动板采用普通电机驱动板,本方案中采用的DIGILENT公司的Motor Adapter for NI myRIO电机驱动扩展板。

二、软件设计

本载货小车实现从出发点出发,循迹到达货物存放区,根据机器视觉判断不同颜色的不同货物并获取,回到货物存放点将货物按颜色分类。具体流程图如下图2。

对货物的颜色识别首先要通过摄像头采集视频,捕捉图像。要实现此功能,上位机必须安装好 NI Vision Acquisition Software(视觉采集软件)和LabVIEW Vision Development Module(视觉开发模块)。安装好软件后,我们可以开始进行视觉开发。

其中,小车电机的驱动程序如下图3。

首先,在 LabVIEW 启动界面上单击 Create Project,会弹出一个对话框,用户可以在左侧看到不同的模板,选择 Templates » myRIO 之后会出现相应的一些模板,选择创建 myRIO Project,用户可以自行修改 Project Name 和 Project Root。在 USB线连接着 myRIO 和计算机的情况下, 在 Target 一栏中会自动搜索到已连接的硬件设备。如果用户当前没有 myRIO,可以在 Target 一栏选择 Generic Target 先进行程序的开发,在后面再连接上硬件之后便可以直接运行。单击 Finish 完成工程的创建。

在程序自动创建的项目管理器中,用户可以观察到主程序,例如 Main.vi,如果是在myRIO 这个 Target 下面,那么将来它就会运行在 ARM 处理器上。本工程中的 Main.vi 是所选用模板为用户提供的一个实例,可直接运行。打开 LabVIEW » Help » Find Examples » Hardware Input and Output » Vision Acquisition » NI-IMAQdx,在此目录下可以找到一个名叫Grab的机器视觉例程,双击打开后另存。将另存的示例程序添加到 myRIO 的目标下面,通过右击弹出菜单中 Add » File,选择对应程序。此时程序位于 myRIO 的目标下,因此它将运行在嵌入式处理器上。

我们选择National Instruments » Vision » Vision Assistant工具,打开后会有一个提示窗口询问用户测试图片的来源,我们事先保存好了红色和黄色的图片,所以直接点击Open Image。

使用 Color 函数选项卡下的 Color Matching函数,选择 Create Template,在弹出的对话框中选择ROI(Region of Interest)后,在右上方图片区域选择一个区域,点击 OK 将图像匹配算法添加入脚本。

完成颜色匹配验证后,可将检测步骤保存以备后用。选择 File » Save Script 进行保存 。NI Vision Assistant 不仅能帮助我们选择合适的算法和参数还能将一系列操作步骤自动生成

LabVIEW 代码:点击 Tools » Create LabVIEW VI,Step1 中选择生成路径时可选择上一小节创建的项目路径;Step2 中选择默认的 Current Script;Step3 选择图片来源,选择IMAQdx Image Acquisition 即可;Step4 供用户选择在生成的 LabVIEW 程序中哪些参数作为输入控件,哪些参数作为显示控件,如果不进行选择,将根据 NI Vision Assistant软件中的设置采用常量作为默认值,由于我们关心其输出值,因此将 Match Flag勾选上。点击 Finish 后将自动生成所需 VI,如图4所示。

完成颜色匹配的相关操作并将操作步骤自动生成 LabVIEW 代码后,打开程序框图查看生成的 VI,可发现程序首先完成了图像采集的工作,然后通过函数 Color Matching(颜色匹配)进行比较,最后得到匹配的结果Match Flag(匹配标志)和Match Score(匹配得分)。我们需要将此 VI 中图像处理的程序和上一小节中图像采集的程序整合成一个可以运行在 myRIO 上的完整的程序。

打开上一小节创建的工程,将颜色匹配程序当作子VI 添加至 myRIO 的 Target 下,调整总程序得到连续颜色匹配程序。

三、结束语

本设计从硬件和软件两方面介绍了基于机器视觉的载货小车的制作。硬件上解决了机器视觉与嵌入式系统的连接,软件方面主要解决了小车的驱动、循迹,颜色识别匹配,本设计还有不足以及需要改进的地方,将在以后的工作中进行改进。

参  考  文  献

[1]李积英,基于机器视觉的智能车设计开发,[J]智能化仪表,2014

[2]张兴华,基于机器视觉的物流仓储智能车设计,[J]技术与市场,2019

[3] NI,NI myRIO 入门指南。2015.4

王波(1980),男,无锡职业技术学院教师,硕士,副教授,主要研究方向是IP通信、嵌入式。

猜你喜欢

机器视觉嵌入式
全自动模拟目标搜救系统的设计与实现
基于机器视觉的自动浇注机控制系统的研究
大场景三维激光扫描仪在研究生实践教学培养中的应用
基于机器视觉的工件锯片缺陷检测系统设计
基于机器视觉技术的动态“白带”常规检测系统的开发
机器视觉技术在烟支钢印检测中的应用
嵌入式LINUX操作系统的研究
嵌入式的特点及发展机遇
嵌入式组件技术的研究及应用
基于嵌入式系统的游戏程序设计