摘要:本文提出了一种高效智能的文档处理机器人设计方案,旨在提高文档处理效率,降低人力、物力、时间成本以及失误率,以适应现代办公环境的智能、自动化趋势。该机器人可以根据用户定义的关键字词规则,实现智能地将纸质文档分类或排序,此外还能实现内容采集与纠错等任务。其采用三轴桁架结构的机械手,桁架结构由步进电机驱动,机械手包含摄像头、真空吸盘以及多个传感器。用户放入待处理的纸质文档,并通过局域网连接主控板进行发布任务,然后由机械手摄像头检测纸张位置以及识别文字,接着由真空吸盘吸取纸张,分类放置在指定位置。综合以上设计,本方案大幅提高了办公的效率和智能化,为自动化文档处理领域提供了一个可行的解决方案。
关键词:文档处理机器人;三轴桁架结构;机械手;气动;目标检测;字符识别;自然语言处理;Python;YOLOv8
中图分类号:TP311文献标识码:A
文章编号:1009-3044(2024)34-0028-05开放科学(资源服务)标识码(OSID):
0引言
在现代办公环境中,纸质文档的处理和管理一直是一个重要但耗时的任务。传统的人工处理方式不仅效率低下,而且容易出现错误,导致人力和物力的浪费。随着信息技术和自动化控制技术的快速发展,智能化办公设备逐渐成为各行各业的迫切需求。通过引入机器人来替代人工进行重复性、高强度的工作,成为现代机器人研究的一个重要方向。
近年来,许多研究者在此领域作出了重要贡献。例如,张锐通过对桁架机器人的可靠性分析和改进,设计了一款用于汽车传动轴自动线的机器人,提升了自动化生产线的稳定性和效率[1]。此外,张岳、孙伟和唐庆伟设计了一种基于目标检测的桌面整理机器人,能够有效识别和整理桌面物品,展示了智能化办公设备在提升工作效率方面的巨大潜力[2]。赵先的研究则为冲压机械手设计了一种气动真空系统,解决了因真空压力不稳定而影响作业效率的问题,提升了机械手的工作可靠性[3]。谢波、熊立贵、吴文君等人设计并分析了码垛机械手的吸附式手部装置,该装置基于真空系统,能够高效地抓取和处理平整面产品、纸箱包装产品以及袋装包装产品,从而显著提高了码垛机械手的性能[4]。王晓瑜和郑梦强开发了一种基于视觉识别的智能分拣机械臂,该机械臂利用工业相机采集物料图像,结合HALCON软件处理图像,并通过PLC系统实现了高精度的分拣操作,展现了智能化分拣系统的优越性[5]。
1总体设计
本设计方案开发了一款基于AI全自动纸质文档处理机器人,整体结构如图1所示。机器人包括硬件和软件两大部分,其中硬件设计包括结构框架、传动系统、机械手。该机器人采用三轴桁架结构,通过步进电机驱动,由同步带和齿轮齿条传动,机械手包括摄像头、限位开关、真空吸盘等。软件设计包括算法应用和控制程序,而算法应用则包括目标检测、字符识别和自然语言处理。目标检测基于YOLOv8s模型,通过训练和优化实现高效准确的实时图像识别,用于识别纸张的位置,字符识别分别通过OpenCV和PyT⁃esseract进行预处理和OCR识别纸张上的内容,自然语言处理通过调用科大讯飞的API接口实现文档内容的分析和处理。控制程序采用上位机与下位机相结合的形式,部署在鲁班猫4开发板,前端基于Boot⁃strap框架开发用户界面,后端基于Flask框架处理业务逻辑,通过GPIO引脚实现对电机、传感器等硬件设备的控制以及数据传输,同时,用户通过局域网实现任务发布和实时控制。
2硬件设计
2.1结构框架
结构框架采用三轴桁架机械手结构,桁架结构由铝型材通过紧固件连接而成。其结构包括X、Y、Z三轴。首先使用12支铝型材构成长方体,顶部的两条长边作为X轴,在X轴上增加一条横梁垂直于X轴作为Y轴,接着在Y轴上再增加一条竖梁垂直于X轴和Y轴作为Z轴,最后在Z轴上连接机械手,使机械手在X、Y、Z三个方向上具有独立自由度,能够覆盖三维坐标系中的任意位置。
2.2传动系统
在X、Y、Z轴上分别安装传动装置,每个轴由一个步进电机驱动,以确保机械手在三维空间中的精确运动和定位。在X轴上,安装直线导轨,滑块在导轨上滑动。滑块上固定横梁,横梁能够在X轴的基础上线性运动。为了保证横梁两端的平衡同步运动,采用一个步进电机的输出轴同时驱动两侧的同步带,即采用梅花联轴器将输出轴和光轴相连,然后将两侧的同步带轮固定在光轴上,实现机械手在X轴方向上的左右移动。横梁作为Y轴,采用齿轮齿条传动,步进电机驱动齿轮,而齿轮与齿条紧密啮合,从而将电机的旋转运动转化为导轨滑块的线性运动,实现机械手在Y轴方向上的前后移动。Z轴连接Y轴的导轨滑块,同样采用齿轮齿条传动,使机械手能够在垂直于XY平面的方向上进行上下移动。机器人利用SolidWorks软件进行建模和仿真,如图2所示。
步进电机均为两相四线制,四根线分别为A+、A-、B+、B-,这些线连接到TB6600驱动器的信号输出端,驱动器接上12V开关电源,其信号输入端有ENA、DIR、PUL三组控制引脚与主控板的GPIO引脚对应连接,然后通过编写程序实现对步进电机的控制。具体来说,可以通过对ENA+引脚输入低电平对步进电机进行使能,电机的正转或反转由DIR+引脚高低电平控制,并通过向PUL+引脚发送PWM脉冲信号来控制电机的旋转速度,而ENA-、DIR-、PUL-引脚接地。在一定周期内,PWM波形的占空比越大,电机的转速就越快。限位开关的作用是限制机械运动范围,防止设备损坏,同时向控制系统提供位置信号。其公共端输入3.3V,常开端连接GPIO引脚。主控板不断读取引脚输入值,当X、Y、Z轴移动到达尽头时限位开关被按下,引脚值变为高电平,步进电机停止移动。
2.3机械手
机械手是基于气动系统的设计,包括微型真空泵、微型电磁阀、继电器、气动管道、真空吸盘、负气压传感器、激光测距模块和USB摄像头。微型真空泵通过12V直流无刷电机产生负压,并结合负气压传感器实时监测气压值,感知纸张是否被吸取,且是否为单张纸。为适应不同质量的纸张,通过PWM调速来调节真空泵的输出负压。微型电磁阀负责控制气流的通断,其开闭由继电器控制,而继电器的通断又由主控板控制。真空吸盘采用丁腈橡胶材料,专门设计用于吸附纸张和塑料薄膜。激光测距模块用于实时检测机械手到纸张的精准距离,摄像头连接到主控板的USB接口,而其余传感器则连接到相应的GPIO引脚。在分拣操作中,微型真空泵启动,电磁阀开启,产生的负压通过气动管道传递至真空吸盘,使其吸附纸张。需要释放纸张时,电磁阀关闭,负压被消除,纸张自然脱离吸盘。机械手结构如图3所示,电气结构如图4所示[6]。
3软件设计
3.1算法应用
3.1.1目标检测
首先,进行标注以创建数据集。基于YOLOv8s预训练模型,调整参数进行训练。在PC端训练得到.pt格式模型,将其转换为.onnx格式,再转换为.rknn格式,作用是转换成适配瑞芯微NPU的模型,在NPU上获得更高的推理效率。主控板通过摄像头采集实时图像进行验证推理。对模型性能方面,进行参数调整,并对学习率、注意力机制、多线程技术等进行优化,改进卷积神经网络结构,提高推理速度和处理效率,最终实现了在复杂场景下的实时检测和识别能力,为实际应用提供了更为高效的解决方案。目标检测流程如图5所示。
3.1.2字符识别
在需要进行字符识别任务时,利用OpenCV对机器人摄像头采集到的图像进行预处理,包括灰度处理、二值化处理以增强对比度和高斯滤波处理以提高清晰度,降低识别难度。预处理完成后,将图像交由PyTesseract进行OCR字符识别,以识别文档中的文字内容并提取信息。
3.1.3自然语言处理
在需要进行自然语言处理时,通过WebSocket进行鉴权并调用科大讯飞的星火大模型API接口进行处理。识别得到的文字将进行拼写和语法检查,提示错误并提出修改建议。根据用户需求,还可以对文档进行润色优化、提取关键信息、分析语义,实现文档分类放置,并对纸质问卷等进行答案提取汇总,无须人工操作。
3.1.4排序算法
本项目采用归并排序(MergeSort)算法对文档进行排序,归并排序是一种分治法(DivideandConquer),可以将大规模问题拆解为较小的子问题进行解决,最后再合并结果。它通过将文档序号列表递归地拆分为较小的部分,再逐步合并已排序的部分来完成排序,时间复杂度为O(nlogn),适合处理较多文档并保证排序稳定性。排序步骤如下:假设每个文档都有各自的序号,将所有文档合成一个列表。首先将文档列表不断对半拆分,直到每个子列表只剩一个文档;然后在合并阶段,比较各子列表的第一个文档,按照编号的数字顺序将其合并成一个新的排序列表。这个过程递归进行,最终将所有文档按正确顺序排序。
defmerge_sort(arr):
#基本情况:如果列表只有一个元素,直接返回
iflen(arr)lt;=1:
returnarr
#将数组对半拆分
mid=len(arr)//2
left_half=merge_sort(arr[:mid])#递归排序左半部分
right_half=merge_sort(arr[mid:])#递归排序右半部分
#合并排序后的左右两部分
returnmerge(left_half,right_half)
defmerge(left,right):
sorted_list=[]
i=j=0
#比较左半部分和右半部分的元素,按顺序合并
whileilt;len(left)andjlt;len(right):
ifleft[i]lt;=right[j]:
sorted_list.append(left[i])
i+=1
else:
sorted_list.append(right[j])
j+=1
#处理剩余的元素
sorted_list.extend(left[i:])
sorted_list.extend(right[j:])
returnsorted_list
#示例:对数字列表进行排序
arr=[38,27,43,3,9,82,10]
sorted_arr=merge_sort(arr)
print(\"排序后的数组:\",sorted_arr)
3.2控制程序
控制程序采用上位机与下位机相结合的一体化形式的程序,仅需要在机器人主控板上完成部署,然后电脑或手机等终端通过本地网络,确保和机器人在同一个局域网下,访问其IP地址,即可进行轻量化的发布任务、调试参数、实时控制等一系列操作。控制程序采用Web网页的形式,这样确保能够在手机和电脑上访问,而且本地无须部署环境、无须安装软件等烦琐步骤,实现开机即用。
控制程序开发分为前端和后端,前端负责显示用户操作界面,使用HTML5、CSS和JavaScript,在Boot⁃strap框架基础上编写代码。后端负责处理业务逻辑,包括接收和发送HTTP响应、调用算法、执行命令行、硬件控制等,使用Python语言开发。Web服务框架采用Flask库,硬件控制采用AdafruitBlinka库。程序控制流程如图6所示。
4实验与结果
4.1实验环境
4.1.1开发环境
开发环境采用了一台配备IntelCorei7-12700KFX86架构CPU、32GBRAM和NVIDIAGeForce306012GBGPU的PC,运行Ubuntu22.0464bit操作系统。搭建了CUDA12.6、Anaconda3、Python3.10、Py⁃torch2.4.0+cu121、OpenCV、Ultralytics、RKNNTool⁃kit2.1等环境,便于训练YOLO模型和处理其他深度学习任务。开发工具方面,使用PyCharm编写Python程序以及HTML5、CSS、JavaScript前端程序。
4.1.2运行环境
运行环境为鲁班猫4开发板,搭载瑞芯微RK3588SSoC,集成了四核Cortex-A76和四核Cortex-A55的ARM架构CPU,具有高达6Tops的NPU算力。开发板配备了8GBLPDDR4X内存和64GBeMMC存储器,提供40PinGPIO引脚、USB3.0接口、千兆以太网接口和WLAN无线网卡,操作系统为Ubuntu20.04。搭建了Miniconda3、OpenCV、RKNNToolkitLite2.1、Flask、AdafruitBlinka、PyTesseract等环境,便于推理YOLO模型、控制GPIO引脚和OCR字符识别等。
4.2模型的训练与部署
4.2.1搭建环境
在PC端Ubuntu22.04环境下,安装与显卡驱动版本相匹配的CUDAToolkit,安装Anaconda3并搭建Py⁃thon3虚拟环境,在此虚拟环境中安装与CUDA版本相匹配的GPU版Pytorch,以及OpenCV、Ultralytics、RKNNToolkit2等。在鲁班猫4板卡端Ubuntu20.04环境下,安装Miniconda3并搭建Python3虚拟环境,在此虚拟环境中安装OpenCV、RKNNToolkitLite2等。
4.2.2制作数据集
通过拍摄和网上采集大量纸质文档的相关图片作为样本,利用labelImg标注工具对每个样本图片进行人工标注。标注完成后以6∶2∶2的比例随机划分为训练集、验证集和测试集,以便在训练过程中进行模型评估和调优。
4.2.3训练模型
使用YOLOv8s官方预训练模型对自制的数据集进行训练,对模型配置文件YOLOv8s.yaml进行参数修改,学习率(learningrate)初始值设置为1e-3(0.001)、批处理大小(batchsize)设置为32、训练轮数(epochs)设置为200等。此外,利用torch.optim.lr_scheduler.StepLR调度器实现学习率的步进衰减,每50个训练轮数学习率降低10%。配置完成后便可开始训练模型[7]。
4.2.4模型部署
在PC端训练完成得到.pt格式模型,利用Pytorch库中的torch.onnx.export函数转换为.onnx格式,再将.onnx格式模型通过RKNNToolkit2转换为.rknn格式。在板卡端,利用RKNNToolkitLite2读取.rknn模型,同时配合OpenCV调用摄像头实时采集视频流进行推理。
4.2.5推理结果
在模型的性能方面,最终模型在交并比(IoU,In⁃tersectionoverUnion)等于0.5的情况下,平均精度均值(mAP,meanAveragePrecision)达到了0.934,对文档的识别精度较高。在模型部署在板端后的硬件性能方面,摄像头在460×480分辨率下,平均帧率分别为29.5fps,NPU平均占用半分比分别为27.3%;推理一张分辨率为640×640的图片平均用时为483.2ms。均能准确识别出纸质文档或印章,目标检测模型推理结果如图7所示。对100张纸质文档进行推理测试,模型的识别准确率为96%,误判率为4%,其中部分误判主要由于图像模糊或摄像头角度不佳引起。
4.3文档分类与排序实验
4.3.1实物制作与调试
机器人由主控板、摄像头、步进电机、微型真空泵、负气压传感器等重要零件组成,做好电气连接和管道连接,最后把待处理的纸质文档放置在机器人框架内。办公机器人实物如图8所示。
4.3.2准备实验材料
准备A4、A5、A6规格的纸质文档共1000张作为实验材料,每张文档右上角均标有一个由字母和数字组合的编号,例如A1、A2、B3、C4等。编号前缀字母作为分类,共有A、B、C三类,而后缀数字为序号。如图9所示。
4.3.3工作流程
现将所有文档进行分类和排序,用户在控制程序中,选择通过关键字词分类,手动框选编号所在范围。工作流程如下:首先,机器人可分为6个放置文档的分区,假设1号区放置乱序文档堆,则其余5个分区用于分类和排序工作。然后分配临时分区,2号区存放A类文档,3号区存放B类文档,以此类推。接着逐个文档读取文档编号的字母部分,拾取文档,根据字母将其放到对应的分区。最后是采用归并排序算法对分类好的文档进行排序。分拣过程如图10所示。
4.3.4结果与性能分析
本实验共测试了1000张文档,经过10次实验,机器人能够成功地将文档按编号分拣到对应区域,分拣的成功率达到了92%。分拣过程中,未出现卡纸、漏分等情况,整个分拣过程平稳、高效。
4.3.5改进方向
模型优化方面,为了提高关键字识别的准确性,未来将对YOLOv8s模型进行进一步优化,以更好地处理复杂文档格式和多关键词的情况。硬件改进方面,针对吸附效果的不足,将考虑增强吸盘设计和负压传感器精度,确保不同材质文档能够被更稳定地分拣。
5结束语
本论文深入探讨了智能办公机器人系统的设计与实现,聚焦于提高文档处理效率和自动化水平。随着现代办公环境对智能化设备需求的不断增加,传统的纸质文档处理方式已显得不够高效和经济。为应对这一挑战,本研究结合目标检测、图像处理和自然语言处理技术,提出了一种集成化的智能办公解决方案。
在机械设计方面,运动机构设计则确保了机械手的精准移动和稳定操作。步进电机驱动的传动机构提供了高精度的运动控制,而导轨系统则确保了机械手在执行任务时的稳定性和一致性[8]。
通过应用YOLOv8s模型实现了对文档内容的高效目标检测,为系统提供了准确的图像识别能力。在图像处理方面,利用Tesseract对文字进行精准识别,并通过科大讯飞的星火大模型进行自然语言处理,确保了系统能够处理复杂的文档内容和进行智能化的文本分析。这些技术的集成,使得系统能够自动化地进行文档内容的识别和处理,大幅提升了工作效率。
论文还探讨了系统在实际应用中的可靠性和改进空间,包括优化机械结构、改进控制系统和提升智能化水平。通过对现有文档处理设备的不足之处进行分析,提出了有针对性的改进措施,以提高设备的稳定性和适用性。
本论文的研究不仅在智能办公设备领域展示了先进技术的应用潜力,也为未来的技术发展和实际生产提供了理论支持和实践经验。随着技术的不断进步,未来的工作可以进一步拓展系统的应用场景,提升设备的智能化程度和处理能力。通过持续的研究和改进,智能办公机器人系统将更加高效、智能,为现代办公环境的自动化和数字化转型贡献更大的力量。
参考文献:
[1]张锐.桁架机器人可靠性分析与设计[D].杭州:浙江工业大学,2018.
[2]张岳,孙伟,唐庆伟.基于目标检测的桌面整理机器人的设计与实现[J].电脑知识与技术,2023,19(31):55-58.
[3]赵先.冲压机械手气动真空系统的设计与应用[J].锻压装备与制造技术,2023,58(4):37-40.
[4]谢波,熊立贵,吴文君,等.码垛机械手吸附式手部装置的方案设计与分析[J].塑料包装,2023,33(3):47-52.
[5]王晓瑜,郑梦强.基于视觉识别的智能分拣机械臂设计与实现[J].自动化与仪表,2023,38(6):85-90.
[6]任雪婷.基于多传感器融合的智能分拣机器人研究[J].机器人产业,2024(4):96-102.
[7]常文龙,谭钰,周立峰,等.基于改进YOLOv5s的自然环境下番茄成熟度检测方法[J].江西农业大学学报,2024,46(4):1025-1036.
[8]李哲,伍世英,袁宝欣,等.一种智能高效识别与分拣机器人方案设计思路[J].科技风,2023(30):1-3.
【通联编辑:梁书】
基金项目:2024年广东大学生科技创新培育专项资金资助项目(项目编号:pdjh2024a676),项目名称:基于AI全自动办公智能机器人的设计