鐘 昊,丁仲熙
(1.長沙海關技術中心,長沙 410004;2.西北工業大學 明德學院,西安 710124)
實驗樣品是指用于實驗過程中的材料,一般存放于規定容器和條件下,在實驗過程中需要將所需的實驗樣品運輸至實驗執行地點,然而由于實驗中使用的樣品數量較大,樣品類型較多,使用人工運輸的方式存在工作效率低、工作量大、樣品在運輸途中被損壞等問題,為此在實驗室中引入配送機器人。配送機器人指的是用于物品配送的人工智能機器人,而配送就是根據用戶需求,采用信息管理和調度的方式將所需物品傳輸給目標用戶的方式。配送機器人是一種可以在有障礙的工作空間中進行自主操作,從而完成預定的工作任務的機器人系統。通過配送機器人的應用,有效提高實驗室的樣品獲取速度和精準度,同時降低實驗樣品的搬運難度。
配送機器人的移動精度直接影響了實驗室樣品的配送效果,為保證配送機器人能夠按照預期方案執行配送任務,設計并開發了配送機器人控制系統。現階段發展較為成熟的機器人控制系統主要包括:文獻[1]提出的基于數字化技術的機器人控制系統、文獻[2]提出的基于ROS的機器人控制系統以及文獻[3]提出的基于改進模糊PID的機器人控制系統,其中文獻[1]提出系統在設備端、云平臺端、工業網關等硬件設備的支持下,采用Neptune云平臺實現設備的管理功能,同時采用GTS運動控制卡,接收云平臺端的控制指令及控制電機。文獻[2]提出系統在RVIZ可視化工具中,對機器人進行了建模,并將其輸出到統一的機器人說明格式文件中。改進快速拓展隨機樹算法以綜合考慮角度和距離的權重,將改進RRT算法作為機器人控制系統的運動避障規劃器。另外文獻[3]提出系統以機器人的狀態空間模型為基礎,將跟蹤誤差信息和電機電壓作為輸入、輸出來設計控制器,同時設計了一種論域放大因子優化的模糊控制器,并通過試驗測量,初步確定了控制參數的取值范圍。引入逆向學習算法,對個體進行初始化,并設計加權系數,以控制個體與個體距離較近的個體所占的比重,避免個體出現早熟現象。然而上述傳統的機器人控制系統主要針對的是工業搬運機器人,將其應用到實驗樣品配送機器人的控制工作中存在明顯的控制效果不佳的問題,主要體現在控制誤差大、應用性能差等方面,為此引入FA-A*優化算法[4-7]。
FA-A*優化算法也就是改進螢火蟲算法(FA,firefly algorithm),是一種啟發式算法,通過模擬螢火蟲個體發光機制實現信息共享,利用熒光強度較高的個體對熒光強度較低的個體的吸引作用,使得熒光強度較高的個體對熒光強度較低的個體的趨向性,從而達到群體的最優進化[8-9]。本文在經典FA算法基礎上,提出FA-A*優化算法,強化算法的路徑尋優性能,對實驗樣品配送機器人控制系統進行優化設計,以期能夠提升系統的控制效果[10-12]。
優化設計的實驗樣品配送機器人控制系統中硬件系統用來支持軟件功能的實現,主要由控制器、傳感器、處理器以及驅動器等多個部分組成,其中控制器是控制功能的執行元件,傳感器用來獲取配送機器人的實時運行狀態數據,處理器用來分析機器人狀態,為控制指令的生成提供參考,驅動器為控制指令的作用對象,實現對配送機器人各個運動模塊驅動控制。為了滿足FA-A*優化算法和配送機器人控制功能的運行要求,需要對硬件系統中的部分元件進行優化設計[13-15]。實驗樣品機器人的控制系統的硬件部分以控制器為中心,還包括位姿傳感器、數據處理器、電機驅動器,各模塊的連接情況如圖1所示。

圖1 硬件部分的總體架構設計
為了實現對實驗樣品配送機器人實時運行狀態的精準采集,對內設在機器人中的位姿傳感器進行改裝優化[16]。優化設計的位姿傳感器由位置反饋元件、視覺元件、測距元件等部分組成,實現配送機器人多維度位姿信息的采集[17-18]。
圖2為位姿傳感器中位置反饋元件使用旋轉變壓器,該元件是基于互感原理工作的。從電動機的工作原理出發,可以把轉子看作具有轉動能力的變壓器,其定子和轉子可以看成原邊和副邊繞組。轉子的角度變化時,原邊繞組與副邊繞組間的電磁場耦合強度也隨之變化,因此,轉子的角度變化將直接影響到轉子繞組輸出電壓的幅值與相位[19-20]。傳感器中的視覺元件用來完成配送機器人對電梯按鈕的識別功能,要求裝設的視覺元件具有較高穩定性和拍照靈敏度,優化設計系統中選用ac A1300-30 uc型號的CCD相機,并組裝RICOH鏡頭。測距元件主要用來測量實驗樣品配送對象與機器人執行終端之間距離,選用測距元件利用激光來精確地測量目標距離的測距元件。此測距單元支持動態測量、可預設測量模式、隨時待機等功能,并有一般小型物品自動儲存和超大型自動儲存兩種測量模式,并可在周圍環境溫度從零下40~50 ℃之間使用。將上述元件在電源電路的支持下按照圖1表示結構進行連接,完成配送機器人位姿傳感器的優化設計。

圖2 配送機器人位姿傳感器組成結構圖
選擇嵌入式S3C2410X微處理器作為實驗樣品配送機器人實時運行數據的分析元件,是16/32位精簡指令集微處理器,采用了0.18 μm技術標準,在數據處理器中的存儲器通過每行8字節長度的獨立16 K指令緩存和數據緩存,實現了MMU功能、AMBA總線及Harvard緩存結構。
優化設計系統的機器人電機驅動器由光耦,晶體管的H橋,門電路等構成。其中,光耦合實現了控制與驅動之間的隔斷,MOS管的H橋元件與門電路實現了對電動機運行狀態的控制。驅動器內部結構如圖3所示。

圖3 配送機器人電機驅動器內部結構圖
如果三極管K2、K3被接通,則由供電正極經K3的電流由右至左流過電機,再經K2返回供電負極,從而使電流向驅動電機的方向逆時針方向轉動。通過對4個三極管開關的控制,實現了對配送機器人電機運行狀態的調整。電機驅動器擁有雙路電機接口,一塊板子就能驅動兩路電機,每路額定輸出電流可達7 A,配送機器人采用的直流電機在全速運轉時消耗的電流大約為1 A,該模塊滿足驅動要求。配送機器人電機連接到相應的驅動器,再通過CAN收發器連接到底盤控制板的CAN端口,通過發送數據幀的方式控制電機。
配送機器人控制器通過各個終端與外部執行單元相連接,進行數據的交換和控制信號的發送,并在機器人控制器中的各個分支程序的基礎上,適時地調用各個子系統單元來進行相應的操作。優化設計系統中使用的控制器增加一個DSP擴展功能,以2片CY7C1021VC33芯片為核心,對128 K靜態 RAM進行了擴充,以提高 DSP的存儲能力。為保證系統能夠持續、穩定的為硬件元件提供電力支持,同時避免作用至配送機器人不同關節控制指令之間產生相互干擾,在系統中加設信號隔離電路,并對電源電路進行調整。優化設計實驗樣品配送機器人控制系統能夠提供6 V和3.3 V兩個等級的電壓,滿足驅動器、傳感器、控制器等硬件設備正常工作條件。在穩壓芯片的作用下,輸出不同電壓等級的信號,并將其發送至不同的執行終端。
在系統硬件設備的支持下,綜合考慮實驗樣品的配送任務需求以及當前配送機器人的工作姿態生成相應的系統控制任務,并在機器人運動學理論的支持下,實現相應的控制功能。配送機器人的配送任務的執行原理為:配送機器人利用內置的視覺傳感器設備,獲取實驗樣品的位置,根據當前配送機器人末端執行器與實驗樣品之間的位置偏差,得出配送機器人位置控制指令的生成結果,另外,根據實驗樣品的需求速度生成機器人移動速度控制指令,最終通過硬件系統中控制器的執行,實現對配送機器人的控制功能。
搭建配送機器人移動環境模型的目的是確定配送機器人的移動與控制范圍,并實現對實驗樣品以及配送機器人實時位置信息的量化表示。采用柵格法搭建配送機器人移動環境模型,柵格法是將機器人工作區域均勻地劃分為若干網格,網格的數值代表了該區域內的障礙物分布情況。機器人可以在無障礙分布的網格間自由地穿梭,因為網格法是對每一個網格都進行了編碼,所以路徑規劃問題就變成了尋找兩個不同編碼的網格間的最佳路徑,這樣就可以利用多種優化方法來尋找路徑,滿足FA-A*優化算法的運行要求。由于柵格法是將環境地圖離散化處理的,會使柵格地圖與實際區域之間存在較大差異,這種偏差主要受柵格尺寸影響。假設實驗樣品配送機器人的移動區域為方形區域,則柵格尺寸的具體設置情況如下:
κgrid≥2U
(1)
式(1)中,U為實驗樣品配送機器人中心點與其最遠輪廓點之間的距離,根據柵格尺寸參數的設置結果,得出移動環境中每列和每行的柵格數量表示為:
(2)
式(2)中,H和L分別為配送機器人實際移動環境的長度和寬度,將公式(1)的計算結果代入式(2)中,得出移動環境模型中柵格數量的求解結果。在劃分柵格的路徑區域中,構建直角坐標系,從左上方的第一個柵格開始,以向右、向下遞增的排列方式對柵格進行編號。并確定任意柵格的具體位置坐標為:
(3)
式(3)中,ymod()和yceil()分別為取余運算函數和向上取整運算函數,b為移動環境模型中任意柵格的編碼值,同理可以得出模型中所有柵格的位置坐標,由此完成對配送機器人移動環境模型的搭建。
在搭建的配送機器人移動環境下,利用視覺傳感器設備獲取移動環境中所有實驗樣品圖像,通過特征提取與匹配,判斷該圖像中是否存在目標實驗樣品,以目標實驗樣品作為配送對象,確定其在移動環境模型中的位置坐標。配送機器人采集到的視覺圖像可以表示為:
I(x,y)=(xenv?,yenv?)
(4)
式(4)中,xenv和yenv分別為移動環境模型中任意事物的實際坐標,?為視覺傳感器的工作系數。以公式(4)表示的視覺圖像為研究對象,對其中的顏色與紋理特征進行提取,其中顏色特征的提取結果為:
(5)
式(5)中,n(ci)為視覺圖像中第i個顏色分量的像素個數。另外,環境圖像中紋理特征的提取結果為:
(6)
式(6)中,g(x,y)為環境圖像中(x,y)位置上的像素值,gmax和gmin為像素值的最大值和最小值,Lg為圖像梯度閾值。對式(5)和式(6)的特征提取結果進行融合,并將其與目標實驗樣品特征進行匹配,匹配結果如下:
(7)
式(7)中,τcon為環境圖像的融合特征,τExperimental samples為目標實驗樣品對應圖像的標準特征。若計算得出特征匹配值s(i)高于閾值s0,說明當前視覺圖像中存在待配送的實驗樣品,否則認為圖像中不存在配送對象。針對滿足特征匹配條件的視覺圖像,提取其像素點位置,并在配送機器人移動環境模型中確定實驗樣品配送對象的實際位置坐標。

(8)
式(8)中,κmapping為視覺圖像與環境之間的映射關系,(xs,ys)表示的是滿足特征匹配條件的像素點位置,也就是視覺圖像中實驗樣品對應的像素位置。按照上述流程即可得出實驗樣品配送對象位置的識別結果。
以當前配送機器人位置為起始點,識別得出的實驗樣品配送對象位置為終止點,利用FA-A*優化算法規劃機器人的配送路徑。FA-A*優化算法的基本原理如圖4所示。

圖4 FA-A*優化算法原理圖
從圖5中可以看出,分別將三只螢火蟲分別設定為a、b、c;a的搜尋半徑大于b,并且b在a的搜尋距離之內,若a的光度大于b,b就會朝a的方向移動,反之,a的光度大于b的方向,b就會朝a方向移動。但c不同,a和c的亮度不在a的搜索范圍之內,所以a和c的亮度不會互相移動。在實際的路徑規劃過程中,可將FA-A*優化算法的分為4個階段,其中部署階段是在待求的目標函數的可行區域內隨機部署螢火蟲,并在部署初期假定螢火蟲的熒光強度和感應半徑均為相等。假設螢火蟲群的規模為Nfirefly,在搭建的機器人移動環境模型中,第i只螢火蟲的位置可以表示為一個多維矢量。在FA-A*優化算法中,每個螢火蟲的發光強度反映了它們在當前狀態下的最優解。在每只螢火蟲都被移走一次之后,下一個循環就會開始。在螢光點的更新階段,每個螢光點都會被添加到其先前的螢光點上,并與其對應的目標函數的數值成正比關系。熒光素值更新公式如下:

圖5 動態和靜態障礙物場景設置
w(t+1)=(1-κattenuation)w(t)+γδ
(9)
式(9)中,w(t)和w(t+1)分別為t和t+1時刻的亮度值,κattenuation為亮度衰減常數,γ和δ分別對應的是比例常數和適應值。螢火蟲位置更新結果即為配送機器人路徑點位置生成結果,在此階段,所有的螢火蟲將以決定區域的半徑及熒光強度為基礎,生成一組鄰近的螢火蟲,并在鄰近的一組中尋找比自己更明亮的螢火蟲,最終以幾率選取一組螢火蟲為運動對象,并向該對象移動。任意時刻螢火蟲的移動位置更新結果可以表示為:
(10)
式(10),vi(t)和vj(t)分別為當前節點i與其鄰居節點j在t時刻的位置值,β為步長。在該算法的實施中,在更新了位置后,螢火蟲將根據其當前位置的鄰域密度來更新該區域的判定半徑。在不改變密度的情況下,決策區的半徑也不會改變。通過FA-A*優化算法的運行,得出機器人配送路徑的生成結果為:
(11)
將式(10)的輸出結果代入式(11)中,即可得出實驗樣品機器人在目標移動環境中的配送路徑生成結果,也就是機器人位置的控制目標。
利用硬件系統中的傳感器設備對配送機器人的實時位置與姿態進行跟蹤測定,配送機器人執行終端位置信息的跟蹤結果為:
(12)
式(12)中,(xDelivery(t-1),yDelivery(t-1))為前一時刻配送機器人的位置坐標,υ為機器人的移動速度,Δt為前后時刻之間的時間差,θx和θy分別為移動方向角在水平和豎直方向上的分量。同理可以得出配送機器人所有關節與執行設備的實時運行數據,即完成對機器人位姿的跟蹤。
實驗樣品配送機器人的控制量就是預期目標與機器人實際位置之間的偏差,其中位置控制量的計算公式為:
(13)
式(13)中,xroute(t)和yroute(t)為規劃配送路徑中t時刻對應的機器人位置坐標。按照上述方式將實時位姿的跟蹤結果和配送路徑的規劃結果代入到公式(13)中,按照上述計算原理得出位置與姿態角控制量的計算結果。另外通過機器人實際移動速度和目標移動速度的差值計算,即可得出機器人速度控制量的計算結果。
2.6.1 位置/速度控制
將計算得出的實驗樣品配送機器人控制量輸入到硬件系統的控制器中,由控制器生成相應的控制指令,將其作用在配送機器人的各個執行元件上。在實際機器人的位置與速度控制過程中,需要考慮控制量的正負情況,若控制量取值為正,則向當前機器人的移動方向進行控制與調整,否則需要向當前機器人工作方向的反方向進行控制。
2.6.2 平衡控制
在配送機器人移動過程中,由于實驗樣品負載的施加,導致機器人出現平衡不穩的情況,因此需要結合配送實驗樣品的質量對機器人的重力分布進行調整,從而實現對配送機器人移動平衡的控制。在實驗樣品的作用下,配送機器人的平衡偏角可以表示為:
(14)
式(14)中,MDelivery robot和MExperimental samples分別為配送機器人質量和實驗樣品質量。配送機器人的角度補償量與式(14)的計算結果一致,但方向相反,由此實現對配送機器人移動平衡的控制。
2.6.3 自主搭乘電梯
針對多層實驗室環境,需要跨樓層配送實驗樣品,此時需要配送機器人具有自主搭乘電梯的能力。首先利用配送機器人內置的傳感器設備對電梯及其按鈕進行識別與定位,將提取出的視覺圖像特征與電梯及電梯按鈕標準特征進行匹配,匹配過程與式(7)一致,通過匹配度系數與閾值條件之間的比對,確定電梯的位置信息,電梯位置的定位結果為:
(15)
式(15)中,dIx和dIy分別為圖像中電梯像素點與成像終端之間距離在水平和豎直方向上的分量,(xI,yI)為圖像中電梯像素的位置坐標;再確定配送機器人的角度φI:
(16)
式(16)中,MI Delivery robot和MI Experimental samples分別為對應配送機器人質量和實驗樣品質量。確定機器人的角度和位置信息,利用FA-A*優化算法規劃配送機器人當前位置到達電梯位置的路徑,并給目標樓層對應按鈕施加一個壓力,當電梯到達目標樓層且離開電梯后,完成配送機器人自主搭乘電梯操作。當配送機器人將指定實驗樣品配送至目標位置后,退出控制系統的軟件運行程序。
為了測試優化設計的基于FA-A優化算法的實驗樣品配送機器人控制系統的控制功能,分別在靜態障礙物和動態障礙物環境下進行系統測試,其中靜態障礙物環境就是在實驗環境中安裝多個大小、形狀不同的障礙物,且在實驗過程中障礙物不存在明顯位移,而動態障礙物環境則是按照一定的移動速度,改變障礙物的實時位置。在上述兩種實驗環境下,得出不同系統控制下配送機器人的移動位置信息,從而得出反映系統控制功能的測試結果,靜態、動態障礙物情景設置及障礙物移動方向,如圖5所示。
根據實驗室實際配送機器人的使用要求,選擇六輪移動配送機器人作為系統的控制目標,該配送機器人由車體、擺臂和轉動輪等多個部分組成,機器人的整個控制系統都安裝在車體內,擺臂將車體與車輪連接起來,每一個擺臂都能繞車體進行360°擺動,極大地提高了機器人的靈活性,通過對各擺臂的擺角的控制,能夠使機器人在空間中得到一定的姿態,從而能夠保證機器人車體在非平坦路面上的水平。在每一臺擺臂的驅動電機的后方,均裝有一臺電磁失電制動裝置,可以隨時對擺臂進行鎖止,在突然停電時,制動裝置將自動鎖止,提高了對車身的支撐可靠性。6個輪子各自獨立運行,使其在各種地形條件下的機動性能得到極大的提升,輪子采用泡沫輪,具有較好的環境適應能力。選擇配送機器人樣機的最大負載能力為1 000 kg,在空載和滿載狀態下移動速度最大可以達到5 m/h和3.6 km/h。
選擇某三層生化實驗室作為實驗環境,每層之間的間距為6 m,選擇該實驗室中所有的生化試劑作為待配送的實驗樣品,具體包括血清樣本、病毒學拭子樣本、污水樣本、巖心樣品等,以上述實驗樣本為配送對象,根據實驗需求生成系統測試實驗中的配送任務,部分配送任務的生成情況如表1所示。

表1 部分實驗樣品配送任務生成表
表1表示位置所在環境模型的坐標系,單位為m,配送目標位置均為位于實驗室三層的操作室,同理可以得出實驗中所有樣品配送任務的生成結果,并生成具體的配送路線,得出任意時刻機器人預期位置的確定結果。
根據實驗樣品配送機器人控制硬件系統的設計結果,將相關的硬件設備安裝在配送機器人樣機及其移動環境中,將所有的硬件設備與供電電源連接,實現硬件設備的連接。在此基礎上,對配送機器人樣機以及安裝的所有硬件設備進行調試,設備調試工具選擇型號為DSO-X2002A示波器,用于系統電路、控制器端口和時序的測試,判斷輸出波形是否與預期波形一致。另外,還需要對軟件程序和硬件設備進行聯合調試,保證軟硬件之間的適配度。
為保證優化設計實驗樣品配送機器人控制系統對FA-A*優化算法的成功調用,需要對螢火蟲的初始相對熒光亮度、螢火蟲間的吸引度等參數的具體取值進行設置,其中螢火蟲數量參數設置為100,初始亮度和吸引度參數均設定為1,最大迭代次數為50,光強吸收系數為0.1,將上述FA-A*優化算法運行參數設定結果以數據形式導入到系統軟件運行程序中。
在實驗開始之前對配送機器人的移動環境進行設置,將其劃分成靜態場景和動態場景兩個部分,將準備的實驗樣本放置在指定的初始位置上。系統以WindowsXP為軟件開發的平臺,ABB的RobotStudioOnline是配送機器人控制程序開發的工具,完成系統軟件程序的開發。將表1中生成的配送任務逐一輸入到系統運行程序中,得出相應的控制結果。實驗樣品配送機器人控制系統的運行界面如圖6所示。

圖6 實驗樣品配送機器人控制系統運行界面
同理可以得出所有配送任務的控制執行結果。為體現出優化設計系統在控制功能方面的優勢,設置傳統的基于數字化技術的機器人控制系統和基于ROS的機器人控制系統作為實驗的兩個對比系統,在相同的實驗環境下得出對比系統對配送機器人的控制結果數據。
此次實驗分別從配送機器人的位置和速度控制誤差兩個方面進行測試,其中位置控制誤差的數值結果為:
ε=|xcontrol-xtarget|+|ycontrol-ytarget|+|zcontrol-ztarget|
(16)
式(16)中,變量(xcontrol,ycontrol,zcontrol)為控制系統作用下配送機器人對實驗樣品的實際送達位置坐標,(xtarget,ytarget,ztarget)為實驗樣品的預期送達位置,該變量的具體取值由表1生成的配送任務決定。另外速度控制誤差的測試結果如下:
ευ=|υcontrol-υtarget|
(17)
其中:υcontrol和υtarget分別為配送機器人移動速度的控制值和目標值。最終計算得出位置控制誤差和速度控制誤差的值越小,證明對應系統的控制功能越優。
3.7.1 靜態障礙物場景下的機器人控制功能
在靜態障礙物場景下,通過相關數據的統計以及式(16)的計算,得出配送機器人位置控制誤差指標的測試結果,如圖7所示。

圖7 靜態場景下機器人控制系統位置控制誤差測試結果
從圖7可以看出,與兩種對比系統相比,在優化設計系統的控制作用下,能夠有效降低配送機器人的位置控制誤差,即配送機器人將實驗樣品的實際送達位置與目標位置之間的偏差更小。在該場景下,配送機器人速度控制誤差的測試結果,如表2所示。

表2 靜態場景下配送機器人速度控制誤差測試數據表
將表2中的數據代入式(17)中,計算得出3種控制系統下配送機器人的速度控制誤差分別為0.55、0.29和0.05 m/s。
3.7.2 動態障礙物場景下的機器人控制功能
靜態和動態障礙場景下配送機器人的配送任務一致,在動態障礙場景下,統計配送機器人的實際運行數據,通過式(16)和式(17)的計算,得出反映動態障礙物場景下機器人控制功能的測試對比結果,如圖8所示。

圖8 動態場景下機器人控制系統控制功能測試結果
從圖8中可以直觀地看出,與兩種傳統系統相比,優化設計基于FA-A優化算法的實驗樣品配送機器人控制系統的位置控制誤差和速度控制誤差均得到明顯下降。
配送機器人是實驗室中重要的組成設備,能夠降低實驗樣品丟失、調換、泄漏等風險,在一定程度上提高了實驗的安全性和精準度。在此次研究中,利用FA-A優化算法實現對實驗樣品配送機器人控制系統的優化設計,為配送機器人的工作提供約束條件。然而在系統測試中,針對的是空載狀態下的配送機器人,未考慮配送機器人對其他物品的負載情況,針對這一問題還需要在今后的研究工作中進一步補充。