焦烁萌
(南京信息工程大学,江苏南京,210000)
关键字:Robei EDA;FPGA;PWM;机械臂控制;图像处理
近年来,随着自动化产业的发展,除了大型自动化产业在使用工控机械臂进行工作、生产,一些民用、商用领域也开始出现对于自动控制的需求,餐厅、医院、公司,开始依赖机器人、智能助手代替人工进行活动。而自2020年以来的新冠肺炎疫情,社会的生产生活受到了巨大的影响,为了减少因为人们不断接触而带来的肺炎状况,以及持续不断的疫情问题,多地经常性开展核酸检测,来排查降低新冠肺炎的感染。目前,社会上所做新冠肺炎的核酸检测,由于动作细节较多,大多数还需要人为进行咽拭子、鼻试子,但是在核酸检测过程中,本可以依靠机械避免医护和检测试剂的交叉感染,但目前还处于人工核酸检测。这样在密集人群下的核酸检测,容易出现额外的感染状况,要么还是产生了接触而增大了感染风险。因此,研发一款面向核酸检测场景下的非人体接触式的核酸检测机器人,来代替人为的互动显得十分必要。在后疫情时代下,机器的目的就是为了帮助人类避免与病毒的近距离接触。
现场可编程门阵列(Field Programmable Gate Array,FPGA)是一类高集成度的可编程逻辑器件,是以硬件描述语言为基础的硬件开发平台,与专用集成电路(Application Specific Integrated Circuit,ASIC)相比,具有灵活性高、数据处理速度快、设计周期短、成本小的优势。数字图像处理过程中,虽然处理算法较为简单,但参与运算的数据量大,数据需多次重复使用,因此图像处理往往是图像处理系统中最耗费时间的环节,对整个系统速度影响很大。FPGA为数字图像信号处理在算法、系统结构上带来了新的方法和思路,也为器件行为的高精度控制提供了更高的可能性。由于图像中的所有元素均可以实施同样的操作,存在固有的并行性,非常适合于映射到FPGA架构中应用硬件算法实现,大大加快了图像处理速度。
相比于嵌入式系统,可编程逻辑控制器(Programmable Logic Controller,PLC)来说,能够做到更高的实时性和更低的实现成本,能够利用动态重构的特性,去改变和适应不同环境的控制方式。近年来,FPGA发展迅速,实时处理等计算机视觉应用领域具有广阔的前景。特别是在提高计算速度上,将智能算法移植到硬件平台上进行加速已经成为当前领域内的热门研究方向,并且已趋于成熟。
图1 方案总结构
对于数字图像处理,底层图像处理的数据量很大,要求处理速度高但运算结果相对比较简单;复杂器件控制的实时性要求很高,但实现方式容易。因此基于FPGA的图形采集处理和器件控制系统将具有功耗低、体积小、处理速度快的优势,将非常适合用于设计各类的识别控制系统。
考虑到本系统的涉及的几部分功能实现,以及硬件逻辑设计的必要性,本系统的硬件部分由两块开发板构成,主要模块包括OV7725摄像头模块、HDMI显示模块、人体干涉判断模块、机械臂控制模块、红外体温检测模块、语音播报模块。
我们在FPGA的选型上,选择使用了Intel的FPGA硬件开发平台,芯片选用了 Altera Cyclone IV FPGA (EP4CE10F17C8)的FPGA芯片。平台一作为独立的图像处理平台,负责硬件驱动摄像头进行物体放置状态的识别检测和语音播报,HDMI视频显示。平台二作为专门的机械臂驱动控制系统和传感器器件的数据处理系统,该平台与无线屏幕控制进行即时交互,方便实现远程的手动控制。平台一与平台二之间的信号互联采用IEEE标准电平协议,便于系统的二次开发和增交互器件。
在单个舵机的控制上,设置一个PWM波的周期T=T1+T2=20ms,PWM波的高电平时间为T1,低电平 时 间 为 T2。当 T1=1.5MS时,舵机复位(回初始位置或中间位 置 ),当 0.5 OV7725是一款1/4英寸单芯片图像传感器,其感光阵列达到640*480,能实现最快60fps分辨率的图像采集。传感器内部集成了图像处理的功能,包括自动曝光控制(AEC)、自动增益控制(AGC)和自动白平衡(AWB)等。同时传感器具有较高的感光灵敏度,适合低照度的应用,下图为OV7725功能框图。 图2 舵机的控制时序图 由上图可知,感光阵列(image array)在 XCLK 时钟的驱动下进行图像采样,输出 640*480 阵列的模拟数据;接着模拟信号处理器在时序发生器(video timing generator)的控制下对模拟数据进行算法处理(analog processing);模拟数据处理完成后分成 G(绿色)和 R/B(红色/蓝色)两路通道经过 AD 转换器后转换成数字信号,并且通过 DSP 进行相关图像处理,最终输出所配置格式的 10 位视频数据流。模拟信号处理以及 DSP 等都可以通过寄存器(registers)来配置,配置寄存器的接口就是 SCCB 接口,该接口协议兼容 IIC 协议。 图3 OV7725 功能框图 SCCB(Serial Camera Control Bus,串行摄像头控制总线)是由 OV(OmniVision的简称)公司定义和发展的三线式串行总线,该总线控制着摄像头大部分的功能,包括图像数据格式、分辨率以及图像处理参数等。OV公司为了减少传感器引脚的封装,现在SCCB总线大多采用两线式接口总线。 OV7725使用的是两线式接口总线,该接口总线包括SIO_C串行时钟输入线和SIO_D串行双向数据线,分别相当于IIC协议的SCL信号线和SDA信号线。我们在前面提到过SCCB协议兼容IIC协议,是因为SCCB协议和IIC协议非常相似。 SCCB 地写传输协议图4所示。 图4 写传输协议 装摄像头的目的是进行物体放置状态的监测,左侧以检测区域为顶点,右侧以咽拭子转移区域为顶点。机械臂位于两个区域的中间,根据数学几何原理,高清广角摄像头应该安装在机械臂与两区域的中部上方。由于有明显的交界点,即安装在区域边缘中部,这样摄像头扫视的地方能够有效监控检测区域状况,良好进行反馈和驱动机械臂抓取。 HDMI英文名为High Definition Multimedia Interface,是一种数字化视频、音频接口。现已广泛应用于高清数字电视、PC显示器等产品中。 图5 系统框图 我们需要实现的部分就只有RGB2DVI的模块即可,其他的和之前的RGB彩条显示实验的代码基本一样(也就是需要把之前VGA接口的时序转换成DVI接口需要的时序,把RGB888格式转化为TMDS据输出)。 如图6,该顶层模块分为encoder和serializer两个子模块,前者用来实现8位/2位到10位的编码转换,后者用来实现这10位数据的并转串(调用OSERDESE2原语,同时使用5倍频,因为本身该原语具有两倍频的功能,实现传输时间上的平衡)。 图6 RGB2DVI顶层模块设计框图 SU-03T是一款高集成度的语音合成模块,支持任意中文、英文字母的文本合成,并且支持中文、英文字母、数字的混读。模块供电为5V,电流不小于500MA,兼容主流控制芯片。内置功放,可直接连接3W喇叭。 它用于播放语音,配合语音识别模块进行人机交互,比如播放当前的温度或者湿度。模块采用uart协议进行FPGA与模块的通信,波特率为9600bps,1位起始位,8位数据位,1位停止位,无奇偶校验位,对于汉字采用GBK编码,对于英文或数字采用ASCII码。 红外测温传感器:GY-906-DCI红外测温传感器模块是一款温度传感器,该传感器包括1个 NTC 测温元件,通过与FPGA相连,能够利用电平协议进行串行数据读取。在上电情况下,FPGA通过电平信号触发GY-906-DCI红外测温传感器进行数据采样,经过数据采样后,传感器将数据利用逻辑电平传回40 bit数据给FPGA,FPGA利用数据校验的方式进行检验,保证数据的有效性和协议数据传输的准确。 GY-906-DCI红外测温传感器采用串行异步无时钟信号协议进行传感器的控制和温度数据传输,在器件上电初始化状态下,需要对传感器进行1000ms以上的热启动,才能保证器件驱动的正常性,在初始化状态下,FPGA需要对其GPIO口设置为弱上拉状态,同时输出逻辑电平为低电平;在初始化后,FPGA拉低电平输出至少18ms后,设置FPGA GPIO口输出为逻辑高电平且持续20-40us,保证GY-906-DCI红外测温传感器接收到高电平信号触发;在FPGA触GY-906-DCI红外测温传感器进行数据采集后,设置串行GPIO端口为上拉输入。 同时GY-906-DCI红外测温传感器返回响应低电平信号80us,告知FPGA进行数据接收准备,GY-906-DCI红外测温传感器拉高80us,进行串行数据的传输。温度数据共32 bit,分别是8位湿度数据小数、8位温度数据整数、8位温度数据小数、8位数据校验位,对于串行逻辑信号二进制表示为初始状态拉低信号50us,信号电平拉高26-28us表示为二进制逻辑0;初始状态拉低信号50us,信号电平拉高70us表示为二进制逻辑1。 在测试过程中,图样采集成功,精准判断待测人员是佩戴口罩。 图7 摄像头效果测试 在测试过程中发现系统在手动远程控制下能准确进行机械臂的移动抓取,对不同距离、不同位置检效果良好。 经实测,本课题设计的规划可有效地进行自动化核酸检测。 图8 检测效果测试 机械臂作为当下人机交互的热点,不可避免地进入我们的视野,因此我们想到,利用机械臂进行人机交互,实现远程、自动化的机械臂核酸,来帮助疫情期间无法线上进行的非接触互动。 系统的创新点如下: (1)采用纯FPGA实现,相比于单片机,不会因为软件流水线控制而产生错误。并行电路硬件保证控制精准无误差,进入错误步骤概率为。(2)系统自动识别物体并抓取,也能够进行物体的分类,能够在疫情防控期间隔离人与生物试剂的接触,避免医患交叉感染。(3)系统提供远程手动控制、远程温湿度监测、远程热成像监测,保证紧急状态下的人为控制,以及热成像图对于疫情人群的鉴别保证防疫安全。1.2 OV7725摄像头控制
1.3 HDMI图像显示控制
1.4 SU-03T语音播报模块
1.5 红外测温传感器模块
2 系统性能测试
2.1 图像采集测试
2.2 手动抓取咽拭子效果测试
3 结语