王 耀,忽曉偉,孫世帥,王 坤,楊龍飛,王相闖,郭 強
(鄭州西亞斯學院,河南 新鄭 541100)
隨著時代的進步,人們對生活品質的追求不斷提高,多功能服務機器人的被需求量越來越大,尤其是在一些大型的公共服務型場所,多功能服務機器人的應用得到了極大的推廣[1]。目前市場上大部分的服務型機器人都只能單一地重復某一項工作,行走路線具有局限性,且穩定性較差,對于復雜環境的適配度較低,對場地有很高要求。因此市場上急需一種多功能型服務機器人平臺[2]。本文介紹的基于ROS 多功能服務機器人平臺就是針對目前行業痛點設計的,動態提高代碼重用性,實現在大多數環境中無須改造場地就可以立即使用;同時可以完成多點導航,減少人員的工作量,進而控制成本;可實現自動避障,避免安全事故發生。
多功能服務機器人的硬件結構由JETSON TX1 主控板、STM32、底盤電機組和傳感器組成。多功能服務機器人通過串行通信收發遠端的控制指令,通過嵌入式操作系統的裁剪,在決策層經過控制板,將路徑控制算法導入,控制中間層的STM32 模塊;再將信息傳輸給底盤電機組模塊,使其旋轉。在步進電機的配合下,測試機器人在不同環境面的運動和前進、后退、轉彎等基礎功能。
在移動機器人硬件系統設計上,主要分為頂層決策層、中間控制層及底層三部分。頂層決策層為JETSON TX1 主控板[3-4]、激光雷達、陣列麥克風、Kinect2 視覺傳感器相連接。中間控制層為STM32 核心控制板。底層由電機組模塊、電源模塊和各種傳感器組成。具體連接如圖1所示。

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