王 耀,忽曉偉,孫世帥,王 坤,楊龍飛,王相闖,郭 強
(鄭州西亞斯學(xué)院,河南 新鄭 541100)
隨著時代的進步,人們對生活品質(zhì)的追求不斷提高,多功能服務(wù)機器人的被需求量越來越大,尤其是在一些大型的公共服務(wù)型場所,多功能服務(wù)機器人的應(yīng)用得到了極大的推廣[1]。目前市場上大部分的服務(wù)型機器人都只能單一地重復(fù)某一項工作,行走路線具有局限性,且穩(wěn)定性較差,對于復(fù)雜環(huán)境的適配度較低,對場地有很高要求。因此市場上急需一種多功能型服務(wù)機器人平臺[2]。本文介紹的基于ROS 多功能服務(wù)機器人平臺就是針對目前行業(yè)痛點設(shè)計的,動態(tài)提高代碼重用性,實現(xiàn)在大多數(shù)環(huán)境中無須改造場地就可以立即使用;同時可以完成多點導(dǎo)航,減少人員的工作量,進而控制成本;可實現(xiàn)自動避障,避免安全事故發(fā)生。
多功能服務(wù)機器人的硬件結(jié)構(gòu)由JETSON TX1 主控板、STM32、底盤電機組和傳感器組成。多功能服務(wù)機器人通過串行通信收發(fā)遠端的控制指令,通過嵌入式操作系統(tǒng)的裁剪,在決策層經(jīng)過控制板,將路徑控制算法導(dǎo)入,控制中間層的STM32 模塊;再將信息傳輸給底盤電機組模塊,使其旋轉(zhuǎn)。在步進電機的配合下,測試機器人在不同環(huán)境面的運動和前進、后退、轉(zhuǎn)彎等基礎(chǔ)功能。
在移動機器人硬件系統(tǒng)設(shè)計上,主要分為頂層決策層、中間控制層及底層三部分。頂層決策層為JETSON TX1 主控板[3-4]、激光雷達、陣列麥克風(fēng)、Kinect2 視覺傳感器相連接。中間控制層為STM32 核心控制板。底層由電機組模塊、電源模塊和各種傳感器組成。具體連接如圖1所示。
圖1 整體系統(tǒng)設(shè)計框圖
第一部分是決策層,以JETSON TX1 為主控板,用于實現(xiàn)對激光雷達發(fā)過來的姿態(tài)數(shù)據(jù)進行處理,接收處理陣列麥克風(fēng)收集的語音信息進而實現(xiàn)人機交互,并向中間層的SMT32 發(fā)送控制命令。
JETSON TX1 中的ROS 系統(tǒng)與中間層STM32 之間的串口通信需要接收下層一些傳感器以及三個編碼電機傳達的具體數(shù)據(jù)信息,并作出相應(yīng)的指令控制STM32 發(fā)出特定的處理指令,進而達到最終控制底盤的目的。另外,還可以使用rosserial,該功能包同時分為服務(wù)器和客戶端兩部分,可實現(xiàn)ROS 系統(tǒng)與下層控制核心STM32 之間的通信。
如圖2所示,使用激光雷達掃描周圍環(huán)境,將數(shù)據(jù)上送到?jīng)Q策層構(gòu)建出二維掃描地圖,激光傳播受外界影響較小,不同激光雷達能夠達到的探測范圍在100 m 以上。由于這種雷達使用激光測距,而不是無線電波,因此可以避免無線電波抗干擾差的問題,對測量物體的距離和表面形狀測量結(jié)果更為準確,通??蛇_厘米級[5]。激光雷達系統(tǒng)一般可分為3部分:第一部分是激光發(fā)射器,發(fā)射波長為600~1 000 nm的激光射線;第二部分是掃描光學(xué)元件,主要用于采集反射點的距離和反射點的時間和水平角度(方位角);第三部分是光敏組件,主要檢測返回光的強度。因此,檢測到的每個點都包含空間二維坐標信息(X,Y)和光的強度i。光強與物體的光反射率直接相關(guān),也可以根據(jù)檢測到的光強對被檢測物體形狀特點大小和具體方位有一個初步的判斷。
視覺模塊采用的是一臺Kinect2 視覺傳感器,可以識別彩色影像數(shù)據(jù)、深度影像數(shù)據(jù)、紅外等數(shù)據(jù)流并直接傳輸?shù)缴衔粰C控制端。通過特定的算法識別出來的并且可以直接識別的數(shù)據(jù)源包括:骨骼追蹤、語音識別、面部識別數(shù)據(jù)源等[6]。
機器人頭部安裝了一枚面陣麥克風(fēng),可以用于采集正前方的聲音數(shù)據(jù),在實際應(yīng)用中可以用來接收語音指令。平面麥克風(fēng)陣列可以進行平面360°的輸出,適用于麥克風(fēng)數(shù)量比較多的場景中,麥克風(fēng)數(shù)量越多,在空間的劃分上會更加細致,達到增強人機交互質(zhì)量同時降低噪音的目的。
第二部分是中間控制層,中間控制層以STM32 為主要控制器控制下層單元,并與上層交互。STM32 作為常用的單片機,在這里不做過多贅述。
姿態(tài)傳感器使用陀螺儀JY901 進行姿態(tài)獲取,JY901 自己可進行姿態(tài)數(shù)據(jù)處理,直接用串口/I2C 進行數(shù)據(jù)傳輸,可直接獲得X、Y、Z三軸角度和角加速度、四元數(shù)、磁場等各種姿態(tài)數(shù)據(jù)。上位機調(diào)試回傳速率最高可達到200 kHz。此陀螺儀具有回傳速度快、數(shù)據(jù)精確等優(yōu)點,適用于此多功能服務(wù)機器人。
多功能服務(wù)機器人通過硬件部分的激光雷達獲取的未知環(huán)境中數(shù)據(jù)從某一特定位置開始移動,并且在移動過程中360°同步定位與建圖 (Simultaneous Localization and Mapping,SLAM)。SLAM 是指在陌生環(huán)境中不斷探索前進時去感知周圍環(huán)境及位置信息確定自身的坐標,同時根據(jù)這個坐標逐步建立一個相符的環(huán)境地圖,為后續(xù)的路徑規(guī)劃和自主導(dǎo)航奠定基礎(chǔ)。
多功能服務(wù)機器人需要構(gòu)建可以識別小障礙物的精確地圖,以便遇到有較小障礙物情況時能夠緊急避障并且提高檢測小障礙物的能力。將機器人理想軌跡和動態(tài)軌跡之間的偏差角以及偏差角的變化率輸入模糊神經(jīng)網(wǎng)絡(luò)PID 中,輸出結(jié)果為PID 的比例系數(shù)、積分時間常數(shù)和微分時間常數(shù)共三個參數(shù)[7],分別用KP、TI、TD表示。PID 的公式為:
式中:PID 在t時刻的輸出用u(t)表示,也就是機器人的角速度控制量;X'(t)表示機器人期望位姿和實際位姿偏差解耦后的輸出量。
為保證PID 的跟蹤控制效果,采用Mandani 推理模糊神經(jīng)網(wǎng)絡(luò)對PID 實行優(yōu)化,該優(yōu)化是以u(t)的大小為依據(jù),實現(xiàn)KP、TI、TD三個參數(shù)的自適應(yīng)調(diào)節(jié)[8]。模糊神經(jīng)網(wǎng)絡(luò)PID的機器人軌跡跟蹤控制方法共由5 層結(jié)構(gòu)組成,詳情如下:
第一層:輸入層輸入u(t)。
第二層:輸入模糊化層,對u(t)實行模糊化處理,計算機器人期望軌跡和實際軌跡間的偏差角u(t)對于變量值模糊集合的隸屬度。采用高斯函數(shù)表示隸屬度函數(shù),其計算公式為:
式中,隸屬度函數(shù)中心和寬度分別用wij和cij表示。
第三層和第四層:模糊推理層,用于計算各條機器人移動軌跡跟蹤控制規(guī)則的適用度ak以及ak的歸一化處理,其公式分別為:
第五層:輸出層,實現(xiàn)模糊值的清晰化處理,輸出機器人移動軌跡避障控制結(jié)果,其計算公式為:
多功能服務(wù)機器人建立的二維地圖模型會出現(xiàn)在之前建好的圖中與之匹配并相結(jié)合更新現(xiàn)有地圖,在上位機中可以設(shè)置起始點及到達目標點后多功能服務(wù)機器人的姿態(tài)[9-11],可以在map tools 工具中增加需要??康奈恢眉皺C器人的朝向,在上位機中輸入命令啟動,即可在原有建好的二維地圖中設(shè)置目標位置,同時也可以在目標位置后設(shè)置延時。
服務(wù)機器人將會根據(jù)設(shè)置好的航點自主規(guī)劃最優(yōu)路線,到達目標位置以后會自主完成相應(yīng)的指令,與上位機進行話題通信并將指令發(fā)送,進而使上位機快速響應(yīng)進行其他步驟。在到達目標位置過程中如遇到突發(fā)情況會主動避障并重新規(guī)劃最新路線,最終到達目標位置以后會自動停止,完成其他相應(yīng)指令之后,再進行下一個目標位置的路徑規(guī)劃。
JETSON TX1 通過調(diào)用ROS 中的功能包對激光雷達、Kinect2 視覺傳感器、陣列麥克風(fēng)進行控制[12-13]。通過麥克風(fēng)可提前錄音,到達指定位置后進行特定的語音播報,并且可以同時記錄多條語音,方便調(diào)用[14]。視覺傳感器可在多功能服務(wù)機器人與障礙物距離小于40 cm 時進行物體識別。
本文的多功能服務(wù)機器人平臺設(shè)計方案解決了目前市場上大多數(shù)服務(wù)類型的機器人只能單一地重復(fù)某一項工作、行走的路線具有局限性、穩(wěn)定性較差、對于復(fù)雜環(huán)境的適配度低、引進以后需要特殊改造場地才可使用的問題。通過在該平臺上搭載激光雷達和視覺傳感器實現(xiàn)了自主二維地圖的繪制和多點最佳路線導(dǎo)航。上位機中采用ROS 系統(tǒng),優(yōu)勢是每部分功能在軟硬件部分均可模塊化,可重復(fù)利用性強,有很好的實用價值,能夠更廣泛地應(yīng)用于實踐。