










摘要:本文提出了一種高效智能的文檔處理機器人設計方案,旨在提高文檔處理效率,降低人力、物力、時間成本以及失誤率,以適應現代辦公環境的智能、自動化趨勢。該機器人可以根據用戶定義的關鍵字詞規則,實現智能地將紙質文檔分類或排序,此外還能實現內容采集與糾錯等任務。其采用三軸桁架結構的機械手,桁架結構由步進電機驅動,機械手包含攝像頭、真空吸盤以及多個傳感器。用戶放入待處理的紙質文檔,并通過局域網連接主控板進行發布任務,然后由機械手攝像頭檢測紙張位置以及識別文字,接著由真空吸盤吸取紙張,分類放置在指定位置。綜合以上設計,本方案大幅提高了辦公的效率和智能化,為自動化文檔處理領域提供了一個可行的解決方案。
關鍵詞:文檔處理機器人;三軸桁架結構;機械手;氣動;目標檢測;字符識別;自然語言處理;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全自動辦公智能機器人的設計