APP下载

基于ARM的小型湖面漂浮物清扫机器人设计

2013-07-20刘溯奇蒋正锋陆伟艳

微处理机 2013年3期
关键词:漂浮物内核摄像头

刘溯奇,蒋正锋,陆伟艳

(广西民族师范学院,崇左 532200)

1 引言

近年来,机器人技术的应用开始从制造业向非制造领域扩展,比如宇宙探索、海底探查、管道铺设和检修、医疗、军事、服务、娱乐等方面。从而基于非结构环境、极限环境下的先进机器人技术及应用研究已成为机器人技术研究和发展的主要方向。机器人技术的发展从来离不开其他技术的发展,计算机技术就是其中之一,而嵌入式系统就是计算机技术发展最快和应用最广泛的技术之一,人们称之为后PC时代。近年来,由于嵌入式处理器的高度发展,嵌入式系统在体积、价格、功耗、性能、稳定性等方面有明显的突出优势,因此,机器人无论从控制系统的结构还是机器人的智能程度等方面都得到了很大提高。所以,研究机器人及其控制系统,嵌入式技术发挥了越来越重要的作用[1]。

随着我国社会经济和城市建设的迅速发展,在人们物质生活水平不断提高的同时,环境也遭受了越来越多的污染,人类赖以生存的水资源也不例外。水面污染对人类的水源构成很大的威胁,湖泊尤其是旅游胜地和市内人工湖泊,更是无法逃避漂浮物污染的厄运,举目可见各种日常消费品的包装物在湖面上漂浮。污染的加剧需要根治,但是,水面污染的治理是一项长期艰难的任务,是全人类必须面对的共同问题。用人工清理水面漂浮物只是权宜之计,有些危险水域人工是无法胜任的。因此,设计了基于嵌入式技术的小型湖面漂浮物清扫机器人,用于完成这一工作。实验结果表明该系统操作简单、安全平稳、经济环保、适应性和实用性强,具有较深远的理论意义和应用推广价值[2]。

2 清扫机器人系统总体方案设计

小型湖面漂浮物清扫机器人系统总体设计方案如图1 所示,该方案总体来说,可分为两部分:一部分是清扫机器人结构。它由船体、尾部的回收拖网、在水面上行走的一对驱动轮以及对应的一对直流电机构成机器人的本体结构,并在本体结构上搭载了硬件控制系统(ARM11)和多种传感器等相关设备,如USB 摄像头、电机驱动控制板、WiFi 模块等。第二部分是以无线路由器为中心节点构成的远程控制与监控网络。该部分主要由带宽较大、传输速率较高和传输距离达500m 之远的无线路由器,具有无线网卡、安装有监控软件、便于携带的远程控制用笔记本电脑,一端通过有线方式连接到无线路由器的上行端口、另一端通过其他途径连接到Internet的有线路由器,多台接入Internet的远程监控计算机所组成。其目的是通过有线和无线传输通道实现对清扫机器人的远程控制,并获取机器人采集到的实时视频图像,以便进一步观察和决策,最终完成湖面漂浮物垃圾的清理工作。

图1 系统总体方案设计图

3 清扫机器人控制系统的硬件电路设计

清扫机器人控制系统主要完成远程控制计算机发来的命令识别,并做出相应的动作,实时采集机器人周围的视频图像,然后通过WiFi 信道传输给远程控制机等。对系统进行功能模块化划分,本系统可划分为以下六大模块:视频图像采集模块(USB 摄像头);人机交互模块;USB 接口的WiFi 模块;程序下载模块;电机驱动模块和电源管理模块。各模块之间的关系如图2 所示。

3.1 核心控制板和视频采集模块

核心控制板模块采用FriendlyARM 公司的Tiny6410开发板[3],该开发板外围接口比较完备,引出了很多I/O、数据和地址总线,适合二次开发。

视频采集模块采用的是包含中星微公司ZC0301P 芯片的USB 摄像头,ZC0301P 芯片内部集成了CMOS的图像感光芯片、JPEG 硬件压缩引擎和USB 设备控制接口,可通过它采集得到压缩了的MJPEG 格式的视频流数据,并可由USB 接口传输到内存进行处理。

图2 硬件控制系统(ARM11)结构示意图

3.2 电源模块和WiFi 模块

系统需要两种电源,分别是5V,12V。5V 电源用于核心板供电,12V 电源主要对电机驱动模块供电。为了避免引起干扰,需要设计电源模块,因此选用了开关电源芯片LM2576 作为电压变换核心器件,它能承受最大达3A的电流输出。整个机器人所需的能量由12V 电瓶提供。

WiFi 模块采用的是USB 接口的无线网卡TL-WN321G+,采用Ralink 公司的RT73 芯片,无线传输速率高达54Mbps,传输距离可达100~300m,能够满足控制系统对遥控距离的要求。

3.3 程序下载模块和电机驱动模块

程序下载模块主要完成启动程序和应用程序的下载,本系统提供两种下载方式,并口下载和串口下载。并口下载通过并口线与JTAG 调试接口连接完成PC 与S3C6410的通讯,串口下载通过RS232 串口线连接电路板上COM 口与PC 进行通讯[4]。

电机驱动模块是机器人的重要组成部分,它和电机、驱动轮组成机器人的执行机构,完成机器人的向前、向后、转向等运动动作。

由于直流电机具有良好的线性调速特性,简单的控制功能,较高的效率,优异的动态特性等,因此广泛应用在控制系统中。本设计采用的是1 片L298N电机驱动芯片驱动2个直流电机,采用PWM 调速原理控制直流电机达到控制机器人的运动动作。

L298N 可驱动两个直流电机,OUT1,OUT2 和OUT3,OUT4 之间分别接2个电机。IN1 与IN2,IN3与IN4 脚接输入控制电平,控制电机的正反转,ENA,ENB 接控制使能端,控制电机的停转[5]。为了消除电机运转对硬件控制系统(ARM11)的干扰,从控制板的控制引脚出来的信号,经过1 片TLP521-4的4 路光电耦合器信号隔离,通过脉宽调制控制光电耦合器的开关达到控制L298N 驱动芯片,并达到控制电机按照所需的速度运转的目的。其电机驱动电路如图3 所示。

图3 电机驱动模块原理图

4 软件设计

软件设计主要分为两部分:一是远程控制端应用软件的开发,主要工作是发送控制命令,远程控制清扫机器人的前进、后退、转向和作业工作等动作,并控制清扫机器人开启USB 摄像头采集机器人周围水域的视频信息,通过WiFi 无线信道传回到控制端并显示。二是清扫机器人控制系统软件的开发,主要包括操作系统移植、WiFi 模块和USB 摄像头模块驱动移植、视频采集程序的实现、视频服务器的构建、电机模块驱动程序设计和系统应用软件设计等工作。

4.1 操作系统移植

操作系统移植包括引导加载程序Bootloader、内核裁剪、配置与编译、根文件系统的制作与移植等。引导加载程序负责上电时初始化目标板,装载内核到内存,把引导参数传递给内核,然后执行内核。在内核裁剪和配置时,需要保证系统的功能,然后保证

支持硬件电路正常工作。

4.2 WiFi 模块和USB 摄像头模块驱动程序移植

WiFi 模块采用的是USB 接口的无线网卡TL-WN321G+,Linux-2.6.36 内核提供了对该模块的支持,因此,配置内核的时候,选上该模块驱动即可。

视频采集模块采用的是USB 摄像头,用于完成清扫机器人周边水域的视频采集,传回到远程控制端后,可人工判别湖面漂浮物的所在位置。由于Linux-2.6.36 内核已包含万能USB 摄像头驱动,所以在配置内核的时候,选上该模块驱动即可。

4.3 视频采集程序的实现

Linux 下的视频采集是基于Video4Linux(V4L)或Video4Linux2(V4L2)提供的接口函数来实现的。V4L 或V4L2是Linux 中关于视频设备的内核,它为针对视频设备的应用程序编程提供一系列接口函数。在应用程序中可利用V4L 或V4L2 结合I/O 控制函数如open、read、write、close、内存映射等来操作摄像头进行视频数据采集,随后可进行数据压缩。

4.4 视频服务器的构建

视频采集完成之后,通过网络传输到远程控制端计算机的浏览器,远程控制端就可以通过浏览器实时了解机器人周围水域情况。为了完成该功能,需要实现嵌入式web 服务器构建和视频服务器的设计。Web 服务器建立,采用的是thttpd 服务器,它是多任务的http 服务器,支持认证和CGI 程序,对其进行配置和编译,并集成到Linux 操作系统中。在此基础上,开发相应的视频服务端软件和应用软件。

4.5 电机模块驱动程序设计

Linux 操作系统下驱动程序的编写有固定的模式,编写驱动程序的主要工作就是编写子函数,如open、read、write、ioctl 等,并填充file_operations的各个域。编写好之后,可以以模块的形式或直接编译进内核的方式,使Linux 内核支持对电机模块的控制。

5 结束语

本设计采用WiFi 技术,以无线路由器为组网中心节点,构建了一个局域网络,将小型湖面漂浮物清扫机器人和无线远程控制PC 机等接入网络中。通过无线远程控制PC 机或远程监控计算机的控制界面,可向机器人发出采集视频图像的指令,并可通过WiFi 信道传回来的视频图像,判断漂浮物的方向和所在位置,然后发出行走指令控制机器人运动到漂浮物处,收集湖面垃圾。经不同湖面的多次实验表明,该系统传输信息稳定可靠,机器人运行平稳,收集垃圾效率高,通过采用大功率的无线路由器,其最远遥控距离可达500 米左右。因此,该机器人及其构建的系统具有较高的应用价值。

[1]郝卫东,陈亮,曹德新.基于嵌入式技术的智能机器人系统研究[J].电子技术应用,2009(2):30-34.

[2]张蕾蕾.湖面清扫智能机器人的控制[D].沈阳:沈阳理工大学,2008.3.

[3]广州友善之臂计算机科技有限公司.Mini6410 用户手册[EB/OL].http://www.arm9.net/mini6410- um.asp/ Mini6410 用户手册.pdf,2010.

[4]刘溯奇,郝卫东,林添成,等.基于嵌入式的视觉巡线机器人系统设计[J].工程设计学报,2008,15(2):94-96.

[5]S.T.Corp.L298N UserManual[EB/OL].http://www.st.com/internet/analog/product/ 63147.jsp/L298N.pdf,2000.

猜你喜欢

漂浮物内核摄像头
浙江首试公路非现场执法新型摄像头
多内核操作系统综述①
神秘的海上漂浮物
摄像头连接器可提供360°视角图像
强化『高新』内核 打造农业『硅谷』
活化非遗文化 承启设计内核
三峡水库水面漂浮物对近坝段水体重金属的影响初探
Linux内核mmap保护机制研究
酷暑下的三峡清漂工
奔驰360°摄像头系统介绍