刘 洋 刘新月 赵冠华 穆广才 郑凌杰 沈栩楷
(天津职业技术师范大学,天津 300222)
随着我国社会经济和城市化建设的突飞猛进,越来越多的湖泊水环境遭受污染。近年来,虽然环保部门加强了监管力度,但是这一情况仍未得到有效改善,需要进一步加强污染源控制、科技创新和宣传教育等方面的工作,才能实现湖泊水环境的有效保护和治理。很多城市的小型湖泊和河流都存在不同程度的污染和破坏,漂浮着各种垃圾。目前,市面上存在人工和打捞船两种打捞方式。其中:打捞船适用于较大面积的河流湖泊和海洋中垃圾分布集中的区域,对于水域的边缘和水深较浅区域因船体体积过大无法进行打捞活动;而人工打捞主要用于较小且复杂的流域,费时、费力且存在一定的危险性。
针对这些问题,文章提出并设计一款基于无线遥控的水上清洁机器人,通过人工远程操控,收集水中垃圾的同时减少人工打捞的危险,降低成本。随着人工智能技术的不断改进和发展,拥有智能水质监测功能的水上清洁机器人,得到了更加广泛的认可和应用。
设计一种无线遥控的水上清洁机器人(见图1),主要由船体、电源系统、传送系统、动力系统、视频采集系统、监控系统和控制系统7 部分组成。操作人员可通过远程遥控手柄控制螺旋桨转速,从而自由转换转弯和前进。前进过程中保持缓慢匀速行驶,保证运动过程对垃圾产生的作用力最小。船体到达目标位置后,污染物通过传送带上的滤水带进行滤水,然后通过传送带将垃圾运送到收集舱。当传感器得到垃圾收集舱满的信号时,会向控制人员返回相应的信息指令。控制人员接收到相应信息后,会控制船体停靠在最近的岸边进行垃圾回收。完成垃圾回收后,水上清洁机器人可以进行下一次的垃圾清理。在运行过程中,机器人顶部可以传回实时影像,以便控制人员观察。
图1 水上清洁机器人
基于对浮力、吃水深度和重量的考虑,将两侧船体设计成流线型,以减小阻力、加快船体行驶速度[1]。船体采用工程塑料外壳,不仅材料轻,而且质量相对较高,抗水面突发风险能力较强。
传送系统不仅具有传送功能,还具有收集垃圾的功能。传送带上有可过滤水的隔板,在接触垃圾的同时能够将垃圾推上传送带并运往垃圾存储舱室。运送过程中,水上清洁机器人可以过滤水。
垃圾存储舱室的收集舱箱底由带孔洞的板组成,除了实现滤水功能,还能相对减少自身的前进阻力。
该水上清洁机器人的控制系统分为上位机控制系统和下位机控制系统两大部分,其主要作用是实现操作者和装置之间的远程通信功能。操作者通过上位机向下位机发出控制信号,下位机驱动动力电机、转向舵机及垃圾打捞收集电机,使得机器人沿规划路经行走,同时打捞收集锁定的垃圾。上位机和下位机这两个系统均采用STM32F103C8T6 作为主控芯片。该芯片是一款基于ARM Cortex-M3 内核的32 位嵌入式处理器,最高工作频率可达72 MHz,拥有128 kB 的程序存储器,同时支持模拟数字转换器(Analog to Digital Converter,A/D)转换,并提供多种通信接口,如通用串行总线(Universal Serial Bus,USB)、内部集成电路(Inter-Integrated Circuit,I2C)、串行外设接口(Serial Peripheral Interface,SPI)等。其功能强大,价格低廉,因此十分适合作为上、下位机控制系统的主控芯片[2]。
在电源系统方面,该机器人采用可充电的蓄电池作为主要能量来源。这些电池可以在机器人工作时进行充放电,延长机器人的工作时间。电源系统还包括太阳能充电板,利用太阳光源为电池充电。此外,机器人配备适当的充电装置和充电管理系统,以便进行充电和管理电池状态。电源管理模块负责管理机器人的电池充放电和使用,确保机器人能够持续工作,防止因低电量而导致机器人停机[3]。
动力系统主要由螺旋桨、直流减速电机以及电机支座组成。直流减速电机固定在电机支座上,电机支座放置在船体后方两侧,螺旋桨通过传动轴和直流减速电机相连接。系统的运动主要包括船体的运动和传送带的转动。船体由后方两个电机带动螺旋桨运动,从而实现船体的自由运动[4]。
该设备采用1 个涡轮机和1 个直流电(Direct Current,DC)马达作为动力,利用DC 马达推动推进,并由大扭矩的转向机构及转向盘等机构控制推进。DC 马达由12 V 的电池提供动力,并由AQMH2407ND 型马达执行器控制电机使能。
视频采集系统使用USB 摄像头作为视频数据采集的硬件设备,在Linux 操作系统环境下运行,并使用Linux 2 视频(Video for Linux 2,V4L2)编程接口及实时传送协议(Real-Time Transport Protocol,RTP),加快数据传输速度。视频设备文件打开后,首先进行初始化设置。在这个阶段,系统会设置图像的基本参数,如分辨率的高度和宽度、图像格式、帧率等,确保采集的视频数据符合用户端的显示需求。其次,初始化完成后,向Linux 内核的驱动程序申请帧缓存。为了将采集到的数据高效传输到用户空间,使用mmap 函数进行内存映射,使得应用程序能够像访问普通内存一样直接访问帧缓存,从而大大加快数据处理的速度。再次,将已经映射的帧缓存放入输入队列,并启动视频采集。这个步骤是实时视频监控的核心,涉及对硬件的控制和数据流的管理。最后,在数据采集的过程中,应用程序不断从输出队列中取出采集的数据帧。系统每处理完一个数据帧,就将其放回输入队列,进行下一帧的采集。整个过程形成一个持续的循环,直到监控结束。视频采集流程如图2 所示。
图2 视频监控系统结构图
图2 视频采集流程
系统的工作模式能够保证连续且高效地采集和传输视频数据。采集的视频数据由USB 摄像头传送至嵌入式系统,经过初步处理,如压缩和格式化后,通过RTP 发送给移动端。在移动端,用户可以利用专门设计的客户端软件实时观看监控视频。监控软件能够根据用户的操作进行交互,如远程操控摄像头的旋转等。这样的设计,不仅确保了视频监控系统的实时性和可靠性,还提升了系统的灵活性和扩展性。
监控系统由摄像头模块、存储模块、Wi-Fi 模块、微控制单元(Micro Controller Unit,MCU)模块和电源模块5 部分组成[5]。该系统采用STM32F103ZET6微控制器,采集和处理图像信号。USR-C322 型无线传输系统,具有从通用异步收发器(Universal Asynchronous Receiver/Transmitter,UART)到Wi-Fi的双向传输能力[6]。摄像头模块使用OV7670 图像传感器,不仅体积较小,而且工作电压较低,能节约电能。它由串行摄像机控制总线协议(Serial Camera Control Bus,SCCB)总线控制,可以输出整帧、取窗口、子采样方式的不同分辨率为8 位的图像数据。存储模块为一个4 GB 容量的Micro SD 卡,用于存储数据。电源模块是一块可再充的锂电池,用以提供能量[7]。视频监控系统结构,如图2 所示。
随着社会物质文明的进步,人们的生活质量得到质的飞跃。由于过于重视工业和经济的发展,而忽视了对环境的保护,使得近年来世界环境日益恶劣,出现各种各样的环境问题。湖泊、河流中的垃圾随处可见,不仅对生态环境造成了严重污染,而且给人们的饮水健康带来了极大危害。为了实现生态环境和社会经济的和谐发展,快速、有效地治理水污染问题,设计一款水上清洁机器人。该机器人采用无线遥控的方式消除垃圾分散和水面波动带来的未知影响,由操作者判断收集路线,从而快速地收集垃圾,提高工作效率,改善生态环境。