一种多功能智能垃圾桶设计与实现

2023-12-26 12:47陈广振李孟珍刘明亮朱钦龙
黑龙江大学工程学报 2023年4期
关键词:舵机识别率垃圾桶

陈广振,李孟珍,刘明亮,*,王 伟,朱钦龙

(1.黑龙江大学 电子工程学院,哈尔滨 150080;2.黑龙江省气象数据中心,哈尔滨 150030)

0 引 言

垃圾分类是对绿色低碳生活方式的重要践行,也是实施“双碳”国家战略的重要任务[1]。随着国家垃圾分类政策的普遍实施和人民环保意识的不断提升,实行垃圾分类是大势所趋[2-3]。垃圾分类处理的流程是一个综合体系,包括前端的垃圾分类投放、中端的垃圾运输和末端的垃圾处理,任何一个环节的缺失都会影响整个垃圾分类体系,形成恶性循环效应[4]。特别是前端的垃圾分类投放环节,它是整个垃圾分类过程的核心,然而垃圾种类繁多、分类规则复杂等问题给其带来了一定的挑战。同时随着垃圾分类政策推行时间的延续,人们的关注度也随之降低,如何培养人们长期参与垃圾分类的意识和习惯,建立垃圾分类长效机制是城市治理领域亟待解决的重要问题[5]。然而作为投放垃圾的主要容器,现有的垃圾桶结构简单,功能单一,更新迭代较为滞后[6-7],通常需要先自行对垃圾分类后再进行投掷或存在找不到垃圾桶、距离垃圾桶位置较远等问题。本文设计的多功能智能垃圾桶具有垃圾的自动分类功能,并通过语音方式实现了人与垃圾桶的有效互动以及对垃圾桶智能移动的控制,有助于垃圾的正确分类投放,具有一定的应用价值。

1 系统方案设计

设计的智能垃圾桶是面向家庭、办公室等场景使用,垃圾桶功能结构见图1。垃圾桶可对投入的垃圾进行识别分类,并将识别结果和对应垃圾种类通过语音播报和屏幕显示两种方式呈现给用户,同时垃圾桶将自动把分类后的垃圾送入相应类别桶中;用户可通过语音方式对垃圾桶进行控制,垃圾桶将根据不同语音命令自主导航至相应地点并作出语音反馈,在移动过程中垃圾桶可以自动避开路径上的障碍物。

图1 垃圾桶功能结构Fig.1 Functional structure of trash can

2 硬件系统设计

硬件系统架构见图2。设计选用Raspberry Pi 4B作为系统的控制中心,其以Linux作为操作系统,搭载4核 Cortex-A72处理器,内存大小为4 GB,拥有两个USB3.0和两个USB2.0接口,传输速率快,算力强大,可扩展性强,满足设计要求。Raspberry Pi 4B控制STM32F407等其他硬件设备实现垃圾分类、语音交互以及智能移动等功能。

2.1 分类硬件设计

设计采用OV5642摄像头进行图像采集,其支持最大以2 592×1 944分辨率输出RGB、YUV422和JPEG等格式图像,可通过CSI接口将采集到的图像传输至Raspberry Pi 4B进行识别,识别种类在LCD液晶屏上进行显示以及通过语音方式进行播报。使用3ds Max软件对垃圾桶分类结构进行设计,分类结构见图3。设计的垃圾桶外观形状与传统垃圾桶相似,直径为32 cm,高度为40 cm。桶内通过十字型结构划分为4个区域,分别对应可回收物、厨余垃圾、有害垃圾和其他垃圾。十字型结构正上方连接着可以旋转的垃圾分离结构,垃圾分离结构的旋转通过两个舵机来完成,主舵机位于十字型结构与垃圾分离结构下半部分之间,负责将整个垃圾分离结构旋转至不同垃圾区域上方;副舵机通过扇形结构连接垃圾分离结构上半部分,转动时可将垃圾送入相应类别桶中。考虑到旋转角度、精度以及旋转扭矩等要求,主副舵机均采用LD-27MG型号金属数字舵机。LD-27MG舵机可通过PWM脉冲信号控制,具有20 kg的超大扭力,能实现270°大角度转动,转动精度高且响应速度快,保证了分类的准确性和快速性。

图3 垃圾桶分类结构Fig.3 Classification structure of trash can

2.2 语音交互硬件设计

设计采用M160C语音模块实现人与垃圾桶的交互功能。M160C语音模块板载Linux系统,可直接与同为Linux系统的Raspberry Pi 4B通过USB自定义通信协议进行通信,基于这些协议,在Raspberry Pi 4B端设置语音模块开机、获取音频等操作。

当用户发出语音指令时,M160C语音模块对其进行输入捕捉后送入离线识别引擎中进行语音识别,根据识别到的文本命令进行逻辑处理,最后对生成的回复文本实现语音合成。

2.3 移动硬件设计

Raspberry Pi 4B作为控制中心通过串口通信方式连接LSN10激光雷达和STM32F407微控制器,控制中心负责相关数据的接收处理以及命令的发送,从而控制垃圾桶的导航和移动。

LSN10激光雷达主要负责构建垃圾桶周围环境的实时二维地图,其采用TOF(time of flight)方案,能够对周围360°环境进行二维扫描探测,其内部使用无线供电和光通讯,测量重频为4.5 kHz,输出数据分辨率达15 mm,探测精度达到3 cm,最大量程为12 m,使用寿命超过30 000 h,支持ROS系统。

STM32F407微控制器主要负责接收和执行Raspberry Pi 4B下发的运动控制命令以及上传相关传感器信息至Raspberry Pi 4B,具有性价比高、性能强大以及外设资源丰富等优点。采用MPU6050惯性测量单元进行垃圾桶加速度、角速度的采集,L298N电机驱动器实现MG513直流减速电机的驱动,MG513直流电机位于垃圾桶底部且连接着麦克纳姆滚动轮,用于实现垃圾桶快速精确的移动。

3 软件系统设计

3.1 垃圾分类程序设计

通过OV5642摄像头采集不同种类的垃圾图片构建数据集,数据集涵盖了可回收物、其他垃圾、厨余垃圾与有害垃圾,包含日常生活中常见的纸片、电池、口罩、西瓜皮、烟蒂、废纸、塑料袋等30类垃圾,经数据增强[8]后共3 570张图片,每张图片分辨率为224×224。数据集样例见图4。

图4 数据集样例图片Fig.4 Sample pictures of dataset

使用MobileNetV3[9]模型实现对垃圾的分类。MobileNet是一种轻量化卷积神经网络,轻量化卷积神经网络广泛用于无人驾驶、移动端、物联网的边缘计算和人工智能算法部署[10-12]。MobileNetV3作为MobileNet模型的第三代版本,不仅结合了前两代的深度可分离卷积、残差连接等优点,而且升级了非线性激活函数,加入了注意力机制,使模型精度和速度都有了一定的提升。

使用构建的数据集,基于Pytorch框架搭建MobileNetV3网络模型,训练环境基于谷歌公司的Google Colab平台,其中GPU为Tesla T4,显存大小为16 G。训练集与测试集比例设置为7∶3,初始学习率设置为0.000 1。经过500次迭代后训练完成,测试集准确率达到了98.7%,模型较好地完成了垃圾分类任务。

垃圾经过识别分类后,需要控制舵机转动从而联动相应机械结构来实现垃圾入桶。舵机的转动通过调整PWM(脉冲宽度调制)信号的占空比实现,输入脉冲信号范围是0.5~2.5 ms,4种垃圾入桶时与PWM信号、舵机角度的对应关系见表1。由表1可见,不同垃圾入桶时主舵机转动不同角度,副舵机固定转动90°即可。

表1 PWM信号与舵机角度的对应关系

3.2 语音交互程序设计

语音交互相关参数包括唤醒词、命令词和回复语。唤醒词负责开启垃圾桶的语音交互功能,命令词负责启动不同的导航移动任务,回复语则作为一种反馈,用于判断唤醒词或命令词是否被识别。

设计将唤醒词设置为“小桶小桶”。命令词的设置与垃圾桶具体的导航任务有关,不同命令词对应不同的导航任务,同时对应不同的回复语。

例如,用户说出命令词“前往桌子”,垃圾桶将会回复“马上到达桌子”,同时M160C语音模块会将识别到的命令词传输给Raspberry Pi 4B控制中心进行语音参数匹配,匹配成功后,控制中心将会执行导航去桌子位置的相关程序。用户可根据使用需求设置不同的命令词,命令词默认设置为“前往桌子”“前往窗台”和“回到起点”3种。

3.3 智能移动程序设计

垃圾桶移动部分的程序设计基于ROS(Robot Operating System)完成。ROS是开放源代码(OSS)的机器人应用程序架构,其以UNIX系列操作系统的Ubuntu 作为标准环境,被广泛应用到全球机器人的研究开发领域[13-15]。ROS不可独立运行,需要搭载在其他操作系统上开发,设计选用基于Linux的Ubuntu 18.04操作系统,其可运行于控制中心Raspberry Pi 4B上。

为实现垃圾桶自主导航移动,设计选择Gmapping算法进行建图。Gmapping算法在构建小场景地图时所需的计算量较小且精度较高,对雷达频率要求低且鲁棒性好[16],符合应用环境要求,使用激光雷达运用Gmapping算法构建的一个封闭环境下的二维地图(图5)。黑色代表封闭环境中的桌子、沙发和一些障碍物,左下角白色物体代表垃圾桶。通过Gmapping算法建立好环境地图后,结合激光雷达、IMU、里程计等传感器信息,采用Amcl滤波定位算法、Astar全局路径规划算法以及TEB局部路径规划算法实现垃圾桶的自主导航及避障功能。

图5 环境地图Fig.5 Environmental map

可通过ROS平台可视化工具Rviz中的“2D Nav Goal”按钮在地图上进行移动位置的标定,标定后会生成相应位置的坐标以及角度信息(图6),每个移动位置信息与语音命令中的命令词对应。

图6 位置坐标和角度Fig.6 Position coordinates and angles

4 实验验证与分析

垃圾桶实物见图7。基于垃圾桶实物分别对垃圾识别分类、语音交互以及垃圾桶的智能移动功能进行测试与分析。

图7 垃圾桶实物Fig.7 Real picture of trash can

4.1 垃圾识别分类测试

使用训练好的MobileNetV3网络模型对收集的30种433个垃圾进行识别分类,并将识别结果在8 cm LCD液晶屏上进行显示,部分结果见图8。垃圾的识别分类准确率见表2。由表2可见,垃圾的平均识别率达到了98.1%,识别效果与训练测试时基本保持一致,该智能垃圾桶实现了垃圾分类功能。

表2 识别分类准确率

图8 识别分类结果显示Fig.8 Display of recognition and classification results

4.2 语音交互及智能移动测试

分别在30~40 dB较为安静环境和50~60 dB相对嘈杂环境下对4种语音指令进行识别测试,若垃圾桶能播报出正确回复语即判定本次语音识别成功,播报错误或无反应则判定本次语音识别失败。对每个语音指令分别进行100次测试,同时记录识别成功情况下的移动准确率即垃圾桶能否按照语音指令到达指定位置,测试结果见表3。测试结果表明,在两种环境下每个语音指令的识别率均在86.0%以上,虽然嘈杂环境下的平均识别率相较安静环境降低了4.0%,但平均识别率仍然达到了较高的88.0%,平均移动准确率也达到了97.6%,结果表明,垃圾桶较好实现了语音交互和智能移动功能。

表3 语音指令识别率

5 结 论

基于现有垃圾分类现状及发展需求,利用人工智能技术设计了一款多功能智能垃圾桶。测试结果表明,该智能垃圾桶具有较高的垃圾识别准确率、语音指令识别率和移动准确率。相比于传统垃圾桶,该智能垃圾桶可自动对投掷的垃圾进行识别分类,较高的垃圾识别率解决了垃圾分类知识缺乏以及分类结果不准确等问题;通过简单的语音命令词实现了与垃圾桶的语音交互,该智能垃圾桶为垃圾桶的发展提供了新的思路,有利于资源的优化整合和回收利用,具有很好的市场价值和发展前景。

猜你喜欢
舵机识别率垃圾桶
垃圾桶等
投进垃圾桶的信
投进垃圾桶的信
飞进垃圾桶
基于类图像处理与向量化的大数据脚本攻击智能检测
含齿隙弹载舵机的全局反步模糊自适应控制
基于真耳分析的助听器配戴者言语可懂度指数与言语识别率的关系
提升高速公路MTC二次抓拍车牌识别率方案研究
基于dsPIC单片机的飞艇舵机控制实现
基于高速同步485总线通信的多通道舵机控制器设计