APP下载

基于嵌入式ARM的采摘机器人远程视频监控系统研究

2019-05-27

农机化研究 2019年11期
关键词:PC机服务端内核

何 芸

(云南交通职业技术学院,昆明 650500)

0 引言

中国是个蔬菜、水果种植大国,改革开放以来,农村青壮年外出务工,导致农忙时节出现劳动力短缺现象。果蔬种植与农业劳动力短缺之间的矛盾日益突出,而替代劳动力只能通过采摘机器人技术的发展和研究来解决。新时代背景下,以网络通讯为介质的机器人技术逐渐成为大家研究的热点。本文采用TCP网络通讯协议设计的采摘机器人远程视频监控系统,能够实现对远程视频监控,可以给果蔬采摘机器人的研究开发带来一定的促进作用。

1 TCP网络通讯协议

TCP/IP协议网络中传输层具有TCP协议及用户数据报协议(User Datagram Protocol)UDP协议。TCP是一种面向连接的协议,在数据传输前,必须建立可靠的连接,多用于对可靠性要求较高的场合。结合系统对视频数据的要求,视频图像的传输采用TCP的Socket网络编程实现。

客户端发起连接请求,第1次握手,发送初始序号J至服务端,服务端允许连接,确认信号ACK为1。因为已接收到序号为J的数据包,所以下一个接收的数据包序号为J+1,所以返回确认号Ack=J+1,进行第2次握手。同时,发送服务端初始序号K,客户端接收确认信息准备建立连接,完成第3次握手,向服务器发送序列号K+1。同理,返回确认号也在K的基础上加1。当数据传输完成后,需要断开连接时,同样具有一个“4次挥手”的过程。

在建立TCP连接的过程中,必须经过“3次握手”,而断开连接,则需要4次挥手。3次握手过程示意图如图1所示;4次挥手过程示意图如图2所示。

图1 3次握手过程示意图Fig.1 The schematic diagram of the three handshake process

图2 4次挥手过程示意图Fig.2 The schematic diagram of the four wave process

第1次挥手,客户端发送FIN报文,关闭客户端到服务端的数据的发送,客户端进入半关闭状态;第2次挥手,当服务端接收FIN成功后,此时,服务端到客户端的数据发送功能还未关闭,服务端仍可发送数据,发送应答与序号,其确认号Ack=M+1与3次握手数据传输原理相同;第3次挥手,服务端发送FIN报文,关闭服务端的数据发送功能,服务端进入半关闭状态;第4次挥手,客户端收到FIN报文后,进入等待状态,同时发送应答、确认号,服务端进入完全关闭状态。

TCP通信协议的Socket网络编程,如图3所示。

图3 TCP的Socket网络编程过程Fig.3 Socket network programming process of TCP

2 采摘机器人远程视频监控系统整体设计

采摘机器人远程视频监控系统包含PC机、环境监测摄像头和采摘机器人等部分,系统整体框架如图4所示。

图4 采摘机器人远程视频监控系统结构Fig.4 The structure of remote video monitoring system for picking robot

远程视频监控系统的PC机是整个系统的监测中心,负责对采摘机器人的行走、作业进行实时监控;环境监测摄像头布置在采摘机器人作业环境周边;采摘机器人由ARM控制器、机器人运动结构、红外测距传感器、USB摄像机和无线网络组成。

采摘机器人远程视频监控系统,可以为采摘机器人提供周边环境信息,为其正常的作业进行巡航、监测和报警等监测。采摘机器人可以采用无线通讯方式将PC机实时发送视频图像信息,以及接收和执行PC机发送的控制指令信息。

3 采摘机器人远程视频监控系统硬件设计

采摘机器人远程视频监控系统主要负责整个系统的图像采集、数据传输和对机器人的预警等控制,其硬件结构是实现采摘机器人远程视频图像采集、图像处理、接收和执行PC机发送的控制指令信息的基础,是整个控制系统的载体。根据系统需求,采用模块化的思想进行设计,通过无线网络保持和PC的实时信息共享,根据上位机设定的程序,对采摘机器人作业过程进行调整和控制,并实时将数据信息发送给PC机。采摘机器人远程视频监控系统的硬件结构如图5所示。

图5 采摘机器人远程视频监控系统的硬件结构图Fig.5 Hardware structure of remote video surveillance system for picking robot

采摘机器人远程视频监控系统的硬件主要包括EXYNOS4412处理器、SDRAM、Nand Flash、USB摄像头、电源管理单元、无线路由器、网络通讯模块和PC机等。

结合采摘机器人远程视频监控系统对硬件的要求,选用的微处理器单元必须要具备成本低、体积小、运算速度快、性能卓越、稳定性高,以及功耗低等特点。ARM架构微处理器性能参数比较如表1所示。

通过对各个内核体系和微处理器运行速度和性价比,可以看出:采用Cortex-A9内核的Exynos4412性价比和处理速度较高,能够满足采摘机器人远程视频监控系统对硬件的要求。因此,本文选用韩国三星公司的Exynos4412作为系统的核心。

表1 ARM架构微处理器性能参数比较Table 1 Comparison of performance parameters of ARM ARCHITECTURE MICROPROCESSOR

Exynos4412是一款基于ARM Cortex-A9内核体系的四核微处理器,每个核心的运行频率都有1.4GHz,最高可达1.6GHz,运算能力达到2000DMIPS;另外,该处理器配备了64kB一级缓存(D/L Cache)以及1MB二级缓存(L2 Cache),可以实现更高主频的高性能运算能力。该芯片支持MMU和内存映射管理,具有更高的主频和更丰富的外设,具有稳定性强、可靠性高、能适用于对性能和处理能力有更高要求的嵌入式系统应用场合,适用于对CCD摄像机采集到的视频图像信息的处理与传输。Exynos4412内部资源如图6所示。

图6 Exynos4412内部资源图Fig.6 The internal resource diagram of Exynos4412

Exynos4412微处理器的主要优势包括:CPU主频可达1.6GHz*4核;内存:1GB+DDR3,FCK频率:400MHz;闪存4GB eMMC,最高可扩展为16GB;网口为1个10/100M自适应以太网RJ45接口(采用DM9621);串口为2个DB9式RS232串口(另有4个TTL电平串口);USB为USB Host 2.0接口。

4 采摘机器人远程视频监控系统软件设计

4.1 远程视频监控系统的软件设计

采摘机器人远程视频监控系统软件设计主要包括图像采集、行走控制和传感器信息采集等,设计流程如图7所示。

图7 采摘机器人远程视频监控系统软件设计流程图Fig.7 Software design flow chart of remote video surveillance system for picking robot

采摘机器人远程视频监控系统的图像获取包括采摘机器人USB摄像头和环境监测摄像头组两部分,二者实现了对USB摄像和有线连接摄像头的图像采集。采摘机器人自身搭载的USB摄像头可以自主旋转,能够对对作业环境进行自动化图像扫描;另外,环境监测摄像头组在上下90°及左右270°内进行旋转扫描,实现多方向的机器人作业环境的图像采集。

4.2 嵌入式Linux系统搭建与移植

1)交叉编译环境的搭建。嵌入式系统的交叉开发是在PC机上完成Linux系统的Bootloader、Kernel和fs文件系统,然后下载移植到目标板运行。本文选用内核版本是Linux3-14,交叉工具链版本为gcc-4.6.4。其安装流程如下:

Step1:解压工具链压缩包;

Step2:在环境变量文件中添加已解压的工具链路径;

Step3:测试该工具链是否安装正确,安装成功后继续进行后面的流程。

2)Linux系统内核的裁剪。Linux系统内核是整个嵌入式平台运行的基础,为了让系统在Exynos4412平台上稳定的运行,对Linux内核需要进行一定程度的裁剪。将linux-3.14.tar.xz 拷贝到/home/linux 下并解压,然后运行make menuconfig,并在配置菜单中依次对CPU、NANDFlash、Netwoking、USB,以及ramdisk 文件系统等进行配置与裁剪,配置过程不再赘述。

3)文件系统的移植。本系统采用RamDisk作为嵌入式系统的fs文件系统,实际上是从内存中划出一部分作为一个分区使用,换句话说,就是把内存一部分当作硬盘使用,方便用户存放文件。RamDisk文件系统制作流程如下:

Step1:下载并配置busybox工具;

Step2:编译、安装、新建RamDisk文件系统所需目录;

Step3:添加库,添加inittab、fstab、init.d和profile等系统启动文件;

Step4:将busybox得到的文件夹制作一个大小为8M 的镜像文件,然后进行格式化、创建initrd目录作为挂载点、将镜像文件挂载到/mnt/initrd下、复制到ramdisk目录下,最后进行格式化为uboot 识别的fs文件系统格式。

4.3 USB摄像头驱动移植

远程视频监控系统通过采摘机器人自身的USB摄像头采集作业环境的图像信息,该摄像头驱动采用Linux3.14内核中的视频驱动模型V4L2驱动程序。该驱动最大的优势是可以自定义驱动缓冲数量,另外用户空间需要V4L2的操作,可以针对性地在底层实现相应的驱动。USB摄像头图像采集流程如图8所示。

图8 USB摄像头图像采集流程图Fig.8 USB camera image acquisition flow chart

5 试验结果分析

为了验证采摘机器人远程视频监控系统是否符合设计要求,是否满足远程监测功能,在某猕猴桃种植区进行了实际采摘作业,验证其是否具有可行性。结果表明:PC机的监测软件可以实现USB摄像头和环境监测摄像头画面的切换,能够实现拍摄图片和录制食品等功能;另外,还可以根据监测到的环境信息,控制机器人进行避障运动。PC机监测软件实际监测画面如图9所示。

图9 PC机监测软件实际监测画面Fig.9 The actual monitoring picture of PC monitoring software

试验表明:PC机的监测软件可以实现USB摄像头和环境监测摄像头画面的切换,可以根据需求旋转摄像头,已拍摄多方位的环境图片;另外,该软件还可以根据环境状况控制采摘机器人的运动状态,验证了系统的可行性和可靠性。

6 结论

采摘机器人远程视频监控系统运用了嵌入式、Linux技术、图像采集和无线网络传输技术,将视频监控系统应用于采摘机器人中,可以实现对采摘过程的实时监控,并能及时对作业中的紧急状况进行处理。采用TCP网络通讯协议,搭载高性能的EXYNOS4412微处理器,并结合Linux操作系统,实现了采摘机器人远程视频监控系统。试验测试表明:PC机的监测软件能够从多方位拍摄采摘环境图片,还可以根据环境状况控制采摘机器人的运动状态,验证了系统的可行性和可靠性。

猜你喜欢

PC机服务端内核
多内核操作系统综述①
强化『高新』内核 打造农业『硅谷』
活化非遗文化 承启设计内核
微软发布新Edge浏览器预览版下载换装Chrome内核
新时期《移动Web服务端开发》课程教学改革的研究
用VC++实现PC机与单片机的串行通信
VC.NET下实现dsPIC单片机与PC机的通信
单片机与PC机串行数据通信的工程实践
基于单片机与PC机的电气量采集系统设计
摸清黑客套路防范木马侵入