張朝霞,馬瑋鴻,葉 青,熊茂華(通信作者)
(1 廣州商學院信息技術(shù)與工程學院 廣東 廣州 511363)
(2 廣州商學院現(xiàn)代產(chǎn)業(yè)學院 廣東 廣州 511363)
目前,大多數(shù)的大型圖書館已經(jīng)實現(xiàn)了條形碼和數(shù)據(jù)庫技術(shù),對圖書的信息管理應(yīng)用于包括圖書采購典藏和借閱、歸還書籍等環(huán)節(jié),到目前為止還未見相關(guān)報道在無人干預的情況下,采用基于視覺檢測的自主導航取書機器人自動完成取書借書過程。傳統(tǒng)的圖書館的管理模式、運作模式和操作流程消耗人力、物力較大,效率低,有效工作時間短以及書籍轉(zhuǎn)運時,可能對圖書有所損壞。除規(guī)避上述缺點以外,使用自動取書機器人還可以降低在借還書時由于圖書的放置錯誤而造成的損失[1]。
針對目前大多數(shù)圖書館的現(xiàn)狀,利用視頻檢測技術(shù)、自主導航技術(shù)等對其進行改造設(shè)計,使其能成為自動化、智能化的基于視覺檢測的自主導航取書機器人。本機器人以自主導航車為主體,對其軌跡跟蹤控制提出了新的算法。在Back-Stepping 方法下,結(jié)合李雅普諾夫函數(shù),提出了兩種運動控制方法,即基于運動學、動力學模型的移動機器人軌跡跟蹤控制法,運動學模型下的控制屬于理想型,但在現(xiàn)實操作中,系統(tǒng)往往會受到各種不確定干擾,為此,采用了反演滑模軌跡跟蹤控制法,可實現(xiàn)精準自主定位導航。
基于視覺檢測的自主導航圖書館取書機器人是無人駕駛的,主機板采用高性能的人工智能RK3399PRO 板,具有六核(雙核 Cortex-A72+四核 Cortex-A53)的微處理器;采用了雙目視頻檢測、激光雷達定位、配備SLAM 自主定位導航系統(tǒng)、多傳感器信息融合(激光雷達、陀螺儀、里程計等多種傳感器);具備在復雜環(huán)境下精準定位、多傳感器數(shù)據(jù)融合、動態(tài)智能路徑規(guī)劃、手動/自動建圖、導航避障、自主導航等功能特點。系統(tǒng)可應(yīng)用于圖像識別、智能駕駛、智能網(wǎng)聯(lián)、無人系統(tǒng)、智能機器人與群體智能操作等。
基于視覺檢測的自主導航圖書館取書機器人,由于圖書背脊大多狹窄,選用了一維碼,用于圖書的條碼識別。取書機器人使用視覺識別進行路障的規(guī)避,在通過借閱人得到讀取圖書固有位置信息后,將定位圖書所在位置,然后計算優(yōu)先路線,自動規(guī)避障礙前往圖書所在位置,最后機械臂的雙目攝像頭通過卷積神經(jīng)網(wǎng)絡(luò)算法獲取識別圖像特征,避免煩瑣的圖像預處理、特征提取的過程,并對目標圖像進行檢測和相應(yīng)的處理。之后通過雙目攝像機掃描定位標簽所在的位置,最后機器人通過控制機械臂實現(xiàn)目標書籍的抓取。
自動取書機器人的導航定位技術(shù),由其底座搬運機構(gòu)負責,在接收到圖書借書任務(wù)時,需要準確識別自身位置,并精準到達圖書所在的書架位置,不會串位,拿到或放回圖書之后,能回到取書口或充電位置,保證下一次工作的正常運行。本導航系統(tǒng)采用激光雷達構(gòu)建地圖各種算法構(gòu)圖的同時,將網(wǎng)格地圖應(yīng)用于自主導航系統(tǒng),支持室內(nèi)導航、動態(tài)避障,能夠在動態(tài)變化的非結(jié)構(gòu)性環(huán)境下,完成復雜的作業(yè)任務(wù)。
3.3.1 底盤結(jié)構(gòu)設(shè)計
圖書館的書架采取的是密集布局,以最小的空間內(nèi)存放最多的書,并且書架之間的間距不大,取書機器人小車要在其空間快速完成取書任務(wù)和轉(zhuǎn)向。目前常用的機器人的移動方式有輪式、履帶式和多足式。本機器人系統(tǒng)采用4個麥克納姆輪構(gòu)成的四輪式結(jié)構(gòu),且是用4 個無刷電機獨立驅(qū)動,通過主控機控制4 個輪子的轉(zhuǎn)向和轉(zhuǎn)速來改變機器人的運行軌跡,實現(xiàn)底盤的橫向、縱向及任意角度的移動,還能實現(xiàn)繞中心原地旋轉(zhuǎn)。也能在狹小空間內(nèi)實現(xiàn)系統(tǒng)平穩(wěn)、快速的全方位移動,提高圖書館空間利用率。
3.3.2 機械臂設(shè)計
機械手部分由拾取手臂和夾持裝置共同構(gòu)成。為了完成取書過程,拾取手臂的設(shè)計中最常用的機械臂結(jié)構(gòu)有關(guān)節(jié)型球面坐標型、球面坐標型、柱面坐標型和直角坐標型。在圖書館自動取書機器人的設(shè)計中,按關(guān)節(jié)型球面坐標型設(shè)計機械臂。
3.3.3 搬運機構(gòu)設(shè)計
自動取書機器人的設(shè)計理念在于高靈活性,故而在使用搬運設(shè)備時,軟件的設(shè)計和搭載的相關(guān)硬件設(shè)施都體現(xiàn)了高靈活性,可動態(tài)實時躲避障礙,以激光雷達結(jié)合多種算法進行網(wǎng)格式地圖輸出。故而,選用輪胎時也需要具備這種特性,本機器人選用了麥克納姆輪。
使用這種輪子在平地上具有很高的工作效率可以橫向、縱向、任意方向的旋轉(zhuǎn),并且在工作時,可以使機器人更正自己的狀態(tài)和位置,在圖書館這種環(huán)境中具有較大的優(yōu)勢,保證了圖書館取書機器人工作的高效率與精確性。
圖書館取書機器人的設(shè)計要求是圖書館自動取書機器人是以機器人完成獨立的取書、存放、檢索識別等工作,讀者在控制區(qū)對自動取書機器人輸入需要取的書的書名,然后取書機器人將根據(jù)指令獨自完成取書、定位、存取等整個取書環(huán)節(jié)。
圖書館取書機器人分為兩大難點,其一是取書夾持器工作過程,其二是自動定位系統(tǒng)。
激光雷達建立圖書館環(huán)境地圖采用較為常用的2D SLAM 算法Gmapping。在自主導航過程中,為了實現(xiàn)在地圖坐標系上對圖書館的藏書架上的圖書精準定位采用了蒙特卡洛定位算法,使用機器人操作系統(tǒng)(ROS:Robot operating system)中的激光掃描匹配器(laser_scan_matcher)功能包來完成激光雷達的前后數(shù)據(jù)幀的比對,從而獲得激光雷達位置變化數(shù)據(jù)的估計;由于激光雷達固定在機器人的前面,因此,激光雷達固定和機器人兩者是簡單的平移,由此可得到機器人的里程信息數(shù)據(jù)。這樣就能推導出地圖坐標系(Map Coordinate System)、里程計坐標系(Odometer Coordinate System)和機器人坐標系(Robot Coordinate System)這3 種坐標之間的轉(zhuǎn)換關(guān)系,通過坐標變換樹tf(coordinate transformation tree)統(tǒng)一發(fā)布相應(yīng)的話題(topic)[3]。
基于視覺檢測的自主導航圖書館取書機器人的軟件主要算法:
(1)IMU9 軸AHRS Madowick 姿態(tài)算法;
(2)擴展卡爾曼濾波多傳感姿態(tài)融合算法;
(3)激光雷達構(gòu)建地圖,支持gmapping、hector、karto、google Cartographer 等算法構(gòu)圖,構(gòu)建過程支持鍵盤控制,其中g(shù)oogle Cartographer 算法轉(zhuǎn)換成網(wǎng)格地圖并用于自主導航功能;
(4)支持室內(nèi)自動導航、動態(tài)避障、AMCL 室內(nèi)定位功能;
(5)支持OpenCV的常用邊緣檢測、物體檢測與識別等;
(6)支持人臉識別、眼睛識別、人體識別、動物識別、姿態(tài)識別等功能;
(7)具備深度攝像頭的視覺構(gòu)建地圖及導航功能,支持自動跟隨;
(8)支持Android 手機的建圖、手機導航及圖像傳輸;
(9)支持語音識別控制;
(10)支持開機自啟動。
為了精準找到書架上的圖書,需對書上的條碼識別。圖書識別采用條碼識別的方法進行識別,在條碼識別過程中主要是通過相應(yīng)函數(shù)對圖書條碼的輪廓特征進行識別,在識別辨識到條碼輪廓之后,利用zabr 工具包對所找出條碼進行解碼,從而得出條碼所代表的標號進行檢索出代表內(nèi)容。再由機器人的主控機控制機械臂對圖書進行夾取。
4.2.1 圖書索書號識別
在圖書館中要獲得圖書的相關(guān)信息,通過識別圖書的標簽即圖書索書號即可實現(xiàn)。圖書標簽中的圖書索書號是圖書館中圖書的唯一標識碼,《中國圖書分類法》規(guī)定,其索書號格式為:索書號=分類號+書次號+輔助區(qū)分號。圖書索書號是貼在圖書側(cè)面下方,可利用取書機器人的機械臂上的雙目攝像頭拍攝圖書側(cè)的圖[4],獲取圖像經(jīng)預處理、濾波去噪、顏色的特征提取、書脊邊緣的檢測、圖像字符分割、匹配和識別索書號取書。具體流程如圖1所示。
圖1 識別圖書索書號的流程
4.2.2 圖書索書號識別算法
圖書館取書機器人機械臂上的雙目攝像頭對書脊邊緣精確檢測、取書的精準定位的關(guān)鍵取決于書脊邊緣檢測算法,本系統(tǒng)采用了改進型Canny 邊緣算子作為書脊的邊緣檢測[5]。采用如下步驟處理:
(1)索書號視頻拍攝圖像的預處理:濾波去噪。
(2)確定HSV 顏色空間的色調(diào)(Hue)、色飽和度(Saturation 或Chroma)和亮度 (Intensity 或Brightness)的取值范圍。
其改進型的Canny 算子邊緣檢測算法如下:
(1)傳統(tǒng)的高斯濾波
式中,每個類yi的屬性xi的對應(yīng)的平均值和方差分別為μi和σi。
(2)輸出像素
根據(jù)鄰域像素的值的加權(quán)組合輸出像素。
(3)求出權(quán)重系數(shù)w(i,j,k,l),其值取決于定義域核和值域核的乘積。
定義域核和值域核的乘積的求解方法如下:
定義域核
值域核
定義域核和值域核的乘積,即為權(quán)重系數(shù)w(i,j,k,l),如下:
上式可算出尺空間域在像素域的權(quán)重值,作進一步的模板歸一化,再作卷積處理。
(4)梯度強度與方向計算
在Canny 算法中用了四個算子來檢測圖像中的水平、垂直和對角邊緣。邊緣檢測的算子對像素水平Sx、垂直Sy求一階或二階導數(shù),可確定像素點的梯度強度S和方向θ。梯度強度S與方向θ的計算公式如下:
對于X和Y方向的soble 算子分別如下:
對于方向45°和方向135°的算子分別如下:
其改進型的模板比傳統(tǒng)的模板更方便更精準。以上是對于X、Y、45°、135°方向進行計算。
(5)自適應(yīng)雙閾值處理
對于噪聲和顏色的變化可能引起邊緣像素的變化,針對這種情況可采用雙閾值進行邊緣像素的過濾,即弱梯度值過濾邊緣像素,若邊緣像素的梯度值小于低閾值,則會被抑制;保留高梯度值的邊緣像素。雙閾值可通過OTSU最大類間方差的求得,但算出的閾值并不適應(yīng)所有的圖像。因此,可采取滾動條形式在求得的自適應(yīng)雙閾值的基礎(chǔ)上作出微調(diào)處理,以其閾值達到最佳的效果。
例如:選取系數(shù)TH 和TL,比率為2:1 或3:1。(一般取TH=0.3 或0.2,TL=0.1);
將小于低閾值的點拋棄,賦0;將大于高閾值的點立即標記(這些點為確定邊緣點),賦1 或255;
將小于高閾值,大于低閾值的點使用8 連通區(qū)域確定(即:只有與TH 像素連接時才會被接受,成為邊緣點,賦1 或255)。
(6)非極大值抑制處理
圖像梯度幅值矩陣中的元素值越大,說明圖像中該點的梯度值越大,但并不能說明該點就是邊緣(僅作為圖像增強的過程)。在Canny 算法中,非極大值抑制是進行邊緣檢測的重要步驟,通常是指尋找像素點局部最大值,將非極大值點所對應(yīng)的灰度值置為0,這樣可以剔除掉一大部分非邊緣的點。
(7)邊緣鏈接
邊緣鏈接采用DFS 深度優(yōu)先搜索。其大于高閾值的為真實邊緣;小于低閾值就丟棄,在非極大值抑制已經(jīng)丟棄一部分;介于高低閾值之間相當于偽邊緣。這部分偽邊緣就是要操作的部分。
通過上述改進型Canny邊緣算子可實現(xiàn)書脊的邊緣檢測。
本文針對圖書館的管理和操作流程、圖書館取書機器人的功能需求和技術(shù)需求,設(shè)計了一款基于視頻檢測的自主導航圖書館取書機器人,該智能取書機器人采用了高性能的人工智能開發(fā)板、雙目視頻檢測、激光雷達定位、配備SLAM 自主定位導航系統(tǒng)、多傳感器信息融合(激光雷達、陀螺儀、里程計等多種傳感器);能夠?qū)崿F(xiàn)在復雜環(huán)境下精準定位、多傳感器數(shù)據(jù)融合、動態(tài)智能路徑規(guī)劃、手動/自動建圖、導航避障、自主導航等功能。智能取書機器人可提高圖書館的工作效率,減輕圖書管理人員的勞動強度和工作量,對智能圖書館建設(shè)有參考價值。