基于Robei EDA 的可重构智能小车设计

2024-02-21 04:06肖扬侯智
电子制作 2024年3期
关键词:串口小车摄像头

肖扬,侯智

(南京信息工程大学,江苏南京,210000)

0 引言

可重构机器人市场是一个非常具有前景的市场,未来几年内,全球可重构机器人市场规模将呈现爆发式增长态势。可重构机器人技术可以在不同的任务中灵活地重构机器人的行为,具有很强的适应性和灵活性。未来,可重构机器人将被广泛应用于多个行业,包括制造业、医疗保健、物流、农业等。面对诸如灾难废墟现场搜救、生化污染环境作业、排爆排险等场景,一个能灵活应对复杂未知环境的机器人系统代替人类进入未知环境能有效降低探索任务的危险性和成本。模块化自重构机器人不针对特定应用而设计,可根据不同任务和环境转变为合适的构型,可以应对更加复杂多变的环境中的各种任务。本设计重点研究模块化自重构机器人系统应用于现实场景的关键技术,旨在开发一个能自主工作于动态开放环境中的模块化自重构机器人系统。

现场可编程门阵列(Field Programmable Gate Array,FPGA)FPGA 控制的电路准确性高,稳定性强,功耗较低,本系统的机械结构、传感器系统以及摄像头均由FPGA 控制并且实现功能。另外,FPGA 开发板预留的接口还可以拓展小车的功能。

1 方案设计

考虑到本系统的涉及功能较多,资源占用量较大,以及硬件逻辑设计的必要性,本系统的硬件部分由两块FPGA 开发板构成,该系统结合摄像头、6 自由度机械臂、温度传感器、超声波传感器、环境光传感器等多传感器融合图像处理算法、机械臂路径规划算法,通过Robei EDA 工具进行设计与基础仿真验证,同时具有无线手动控制、无线自动控制、物体抓取、物体分类、音频状态播报、高温状态监测、环境突发状态干涉、环境光数据监控的功能。

采用Robei 八角板作为小车FPGA 开发板之一,其搭载Xilinx Zynq-7010/7020 FPGA 芯片(内置Cortex-A9 双核CPU),可以用于系统设计、IC 验证、系统控制、云计算等用途。

小车第二块FPGA 开发板的主控芯片为EP4CE10F17C8N,开发板扩充了丰富的接口和功能模块,其主要负责小车摄像头算法运行。如图1 所示为本系统方案总体结构,主要包含由机械臂和麦克萨姆轮等组成的机械层、HDMI 屏幕、串口屏等组成的显示层以及摄像头、各类传感器组成的数据采集层。另外,小车还配备了通信模块。

图1 方案总体结构

图2 为小车整体视图,机械结构包含六自由度机械臂、四个麦克萨姆轮以及金属框架,本设计可以保证小车运行的稳定性。

图2 小车整体视图

2 数据采集层

■2.1 OV5640 摄像头控制

OV5640 摄像头模块负责采集外部场景信息,传送至FPGA 开发板中进行处理,最终得到可靠外部信息,将外部环境传输至HDMI 显示屏,同时可以根据外部环境的不同向从机传送指令,如周围环境太黑则开启车灯、前方有障碍则进行避障,从机进行执行。在OV5640 摄像头中加入了相应的算法模块,从机将会根据摄像头采集到的图像进行处理,将会对摄像头采集画面中的颜色凸出部分(如红绿蓝等)进行框选,识别出图像中的目标点,减轻了探测作业时的寻找难度。OV5640 采用标准的SCCB 接口,兼容I2C 接口。如图3 为SCCB 写传输协议的时序示意图,包括起始位、器件地址+读/写、写16 寄存器地址、写数据和停止位,“X”为不必关心位,无需关心其数据为多少。

图3 写传输协议

■2.2 SU-03T 语音播报模块

该模块一共有8 个I/O 接口,1 路串口Tx、Rx,1 路传感器接口。I/O 口1-6 可以输出PWM 信号,I/O7、I/O8 不能输出PWM 信号。

它用于播放语音,与本系统配备的语音识别模块进行人机交互,可以用来播报小车自身状态是否正常以及各传感器的数据。模块采用UART 协议与FPGA 通信,1 位起始位,8 位数据位,1 位停止位,无奇偶校验位,通信波特率为9600bps,对于汉字采用GBK 编码,对于英文或数字采用ASCII 码。

■2.3 读卡模块

小车读卡模块与蓝牙模块相关联,当IC 卡插入时,读卡模块通过FPGA 向蓝牙模块发送信号,蓝牙模块向手机端APP 发送预设信息以显示读卡是否成功。此功能用于使用者的身份识别。图4 为本设计所使用的读卡模块。

图4 读卡模块

■2.4 LM75A 温度传感器

LM75A 温度传感器准确度高,通常误差不高于0.5 摄氏度,在本系统中用来检测小车所处环境的温度。图5 为LM75A 的功能框图,LM75A 是一种数字接口(I2C)的温度传感器,LM75A 内置带隙温度传感器和 Σ-△模数转换技术的温度-数字转换器。LM75A 也是一个温度检测器,可提供一个过热检测输出。

图5 LM75A 功能框图

LM75A 内包含许多数据寄存器:配置寄存器,用来存储器件的某些配置,如器件的工作模式;温度寄存器,用来存储读取的数字温度;设定点寄存器,用来存储可编程的过热关断和滞后限制。器件通过2 线的串行I2C 总线接口控制器通信。

■2.5 环境光传感器

环境光传感器配合AD 转换模块可以较为准确地得到小车所处环境的光照情况。小车采用的光敏电阻传感器模块是用硫化镉半导体材料制成的电阻器。当光照强度升高时,电阻的阻值迅速降低。由内光电效应可知,当有光照到此电阻器时,光照可以产生载流子,这些载流子都参与导电,在外加电场的作用下作漂移运动,电子向电源的正极运动,空穴向电源的负极运动,从而使光敏电阻器的阻值迅速下降。在无光照的条件下,电阻器几乎呈高阻状态,此时的电阻阻值很大。

■2.6 HC-SR04 超声波传感器

超声波传感器在本系统中主要用来实现小车的避障功能。HC-SR04 超声波传感器采用IO 触发测距,图6 为超声波传感器时序图,FPGA 给传感器至少10μs 的高电平信号;传感器自动发送8 个40kHz 的方波,自动检测是否有信号返回;如果有信号返回则通过IO 输出一高电平,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间*声速(340M/S))/2。

图6 超声波传感器时序图

■2.7 雨滴检测传感器

雨滴检测传感器可以用来检测机器人所处环境是否下雨,并通过AD 转换模块来检测当前雨量大小,方便为机器人下一步行动做规划。

3 机械层

■3.1 机械臂驱动总控制

机器人配备了六自由度机械臂,可以完成较多动作,在实际的应用中面对错综复杂的情况以及不可逾越的障碍时,提供了更多的解决思路,能够灵活适应工作场景,代替救援人员进入危险场景进行工作。

机械臂使用UART 通信协议与FPGA 通 信,图7 为UART 时序图,本系统机械臂使用的UART协议是8 位数据传输,无校验位。舵机采用UART 异步串行接口进行时序控制,实现半双工异步串行总线通讯,通讯波特率为115200bps。

图7 UART 时序图

■3.2 I2C 控制电机驱动模块

本系统使用I2C 总线来实现FPGA 对麦克萨姆轮的驱动。图8为本系统电机驱动模块框图,包含iic_w_top 和iic_write 两个模块。iic_w_top 模块控制“iic_write”:实现3 次I2C 数据写入。第一次写入电机类型数据。第二次写入电机极性数据。第三次写入电机速度、方向数据。iic_write 则通过I2C 协议写入数据。

图8 电机驱动模块框图

4 显示层

■4.1 HDMI 图像显示控制

HDMI 是一种符合高清时代标准的数字化视频/音频接口技术,能高品质地传输未经压缩的高清视频和多声道音频数据。

图9 为HDMI 显示设计框图,下面分别对各个模块进行介绍。

图9 HDMI 显示设计框图

HDMI_SYNC:行场计数模块:用于产生:CounterX(一行像素点计数器)CounterY(一帧行计数器)、DrawArea(显示区域标志)、Sync[1:0]:场、行非显示区域标志。

HDMI_SHOW:在DrawArea(显示区 域标志)接 收要发送的RGB 数据,将RGB 数据转换成R、G、B 分别为8bit,共24bit 数据,发送给相应的TMDS_encoder 模块。

TMDS_encoder:根 据DrawArea(显示区 域标志)Sync[1:0] :场、行非显示区域标志进行相应的数据编码(固定IP 核功能)。分为:DrawArea(显示区域标志)为高时,处于显示区域的视频数据编码。DrawArea(显示区域标志)为低时,处于非显示区域时的控制数据编码,并将编码后的数据发送给HDMI_TMDS 模块。

HDMI_TMDS:接收来 自TMDS_encoder 的R、G、B 分别为10 位的编码数据。并/串转换:将数据由并行的10 位数据,进行串行转换为1 位数据,逐个发送给相应的OBUFDS,发送10 次。

OBUFDS:接受来自HDMI_TMDS 的数据,进行差分操作:输入为A,输出为A,~A。并将数据传递到相应的HDMI 接口。

■4.2 串口屏显示

串口屏具有使用方便、维护轻松的特点,可以显示更多、更直观的信息,如汉字、曲线、图片等。串口屏在本系统中主要用来显示各个传感器的数据,串口屏通过RS232 串口与FPGA 进行交互。FPGA 可以发送指令控制串口屏显示不同的界面和数据,从而更直观地了解当前工作环境的各项数据。

5 通信模块

■5.1 SPI 手柄控制

小车配备了遥控手柄接收器,实时接受手柄信号实现远距离移动以及控制机械臂实现旋转、抓取物体。手柄控制使用的是SPI 通信协议,能够控制小车完成直线前进、后退、左右平移等动作,在实际的应用中面对各种各样的地形,小车都能够保证一定的移动能力,更好地执行任务。图10 为手柄和接收器。

图10 手柄和接收器

■5.2 蓝牙模块

本系统使用的ATK-BLE01_V1.9 是一款支持蓝牙 4.2 协议的低功耗数传模块,无线工作频率为 2.4GHz ISM。蓝牙模块用于小车与其他控制设备短距离的通信。图11 是蓝牙模块与FPGA 的连接示意图。

图11 蓝牙模块与FPGA 的连接示意图

6 系统性能测试

■6.1 摄像头颜色识别测试

图12 和图13 为图像识别测试图,在测试过程中,图样采集成功,摄像头能够识别到小方块并且框选出来,为后续机械臂抓取物块提供位置信息。

图12 图像识别测视图(1)

图13 图像识别测试图(2)

从测试结果可以看出,小车摄像头所采集的图像能够较为清晰地显示在HDMI 屏幕上,这是本系统设计的摄像头颜色识别功能,可以框选出物块。

■6.2 机械臂抓取物体效果测试

图14 为机械臂抓取测试图,在测试过程中发现,可以通过SPI 手柄和蓝牙两种方式远程控制机械臂抓取物体,并且对不同位置、不同距离都进行了测试,效果良好。

图14 机械臂抓取测试图

7 结语

本研究设计了一种基于Robei EDA 的可重构机器人,利用Robei EDA 软件与FPGA 硬件平台完成设计,以达到同一个机器人在不同环境下可以采取不同的工作模式来完成相应的任务。本系统所提方法具有优良的实现效果,具有良好的市场应用前景及商业价值。

系统的创新点如下:

(1)所有模块采用FPGA 实现,采用并行控制,FPGA 控制的电路不会因为软件流水线控制而产生错误并且运行稳定可靠,并行控制使FPGA 对摄像头和机械臂等器件的控制更加精准。

(2)实现多传感器融合,能够同时反馈温度、湿度、光照情况,对机器人的工作环境实现实时监控,并将信息远程传输给其他设备。

(3)小车采用可重构设计,可以根据不同的任务场景选择不同的工作模式,如危险环境作业、物流机器人等。

猜你喜欢
串口小车摄像头
浙江首试公路非现场执法新型摄像头
摄像头连接器可提供360°视角图像
浅谈AB PLC串口跟RFID传感器的通讯应用
大车拉小车
自制小车来比赛
刘老师想开小车
基于太赫兹技术的新一代摄像头及其在安防领域的应用探讨
两轮自平衡小车的设计与实现
USB接口的多串口数据并行接收方法探索
基于蓝牙串口适配器的GPS接收机与AutoCAD的实时无线通信