鄧云港 ,曾令超 ,梅 伶 ,房順基
(廣東白云學院機電工程學院,廣東 廣州 510450)
中國盲人協(xié)會統(tǒng)計數(shù)據(jù)顯示,2020年中國約有1 700萬盲人,但導盲犬卻不足200只[1]。究其原因,是中國對服務型犬類的法律保護意識尚未普及,眾多場所拒絕導盲犬的進入,并且一只導盲犬從培育到可以完成良好的服務大約需要60萬元?;诖?,針對目前盲人出行不便的現(xiàn)狀,課題組設計了一種基于視聽融合的導盲機器犬[2]。該導盲機器犬借助攝像頭與其他傳感器[3]可以實現(xiàn)對障礙物的檢測[4],并能夠將提取的信息通過牽引以及語音的形式反饋給使用者,使得使用者可以通過人機交互的方式躲避障礙物。導盲機器犬不僅可以很好地解決導盲犬數(shù)量不足和訓練費用昂貴的問題,還可以解決犬類不能進入特殊場所的問題。
該導盲機器犬系統(tǒng)主要由四大板塊構成,分別是機械運動部分、ROS部分、視覺部分和語音部分。導盲機器犬的機械運動為8個自由度,底層驅動板為STM32F103驅動板和ESP32驅動板,其中STM32F103驅動板主要控制電機的驅動,通過移植SimpleFoc算法對電機實施精準的力矩、速度、角度的三環(huán)控制[5],且該驅動板還搭載了MPU6050六軸陀螺儀,可以通過獲取導盲機器犬的姿態(tài)來調整其平衡。導盲機器犬結構如圖1所示,機器犬運動控制流程圖如圖2所示。
圖1 導盲機器犬結構圖
圖2 運動控制流程圖
導盲機器犬的主控使用了樹莓派4B+開發(fā)版,頂部搭載索尼高清防抖攝像頭和思嵐激光雷達,通過移植TensorFlow框架的YOLOv2算法和ROS系統(tǒng),能夠對盲道、紅綠燈、障礙物、車輛、人群等周邊環(huán)境與物體進行識別。搭載的激光雷達還可以對附近環(huán)境進行Slam地圖建模,檢測周邊環(huán)境并且進行路徑規(guī)劃,二者相互配合,保障盲人的出行安全。此外,還可以通過導盲機器犬內部集成的語音播報模塊,提醒盲人附近是否有障礙物、紅綠燈、盲道等信息。樹莓派4B+控制流程如圖3所示。
圖3 樹莓派4B+控制流程圖
目前,大自然中的四足哺乳動物和四足爬行動物,其步態(tài)行走方式大多數(shù)為三角式或對角式。在該系統(tǒng)中,采用的是對角式的步態(tài)算法[6],對角式步態(tài)算法具有穩(wěn)定性高、靈活性強、反應快速的優(yōu)點,非常適合運用到四足機器人中。導盲機器犬對角式步態(tài)圖,如圖4所示。
圖4 導盲機器犬對角式步態(tài)圖
該系統(tǒng)的主控使用的是擁有強大計算能力的樹莓派4B+開發(fā)板,還移植了TensorFlow框架的YOLOv2算法[7],同時搭載了一個高清防抖攝像頭。通過YOLOv2算法和樹莓派4B+開發(fā)板強大的計算能力,能夠實現(xiàn)對障礙物、盲道、車輛、紅綠燈等物體的識別。該系統(tǒng)為了實現(xiàn)導盲機器犬可以從圖片中識別出沒有障礙物的盲道及普通路面的功能,主要采用了YOLOv2識別模型對圖像中每一個像素點進行分類,確定每個點的類別(如盲道、普通路面、障礙物),再進行區(qū)域劃分,從而判斷出前方路面是否屬于盲人可以行走的路面范圍。
盲道圖像識別控制流程,如圖5所示。首先,獲得模型生成label圖片中障礙物區(qū)域的像素值,經(jīng)濾波、降噪處理后,采用圖像二值化生成圖片,將圖片像素區(qū)分為障礙物區(qū)域和可安全行走區(qū)域。同時劃分圖像中未來行走區(qū)域,判斷行走區(qū)域中是否有代表障礙物,當區(qū)域數(shù)值大于計算閾值時,說明前方有障礙物。通過計算障礙物區(qū)域質心判斷行走方向,以圖像中線為基準,質心相對偏左,則提示向右移動,從而實現(xiàn)簡易的行走導向功能。與障礙物判斷相似,通過二值化劃分可走普通路面和可走盲道,再計算盲道區(qū)域質心,即可實現(xiàn)引導盲人走回盲道的功能。
圖5 盲道圖像識別控制流程圖
導盲機器犬頂部搭載的激光雷達能夠對附近環(huán)境進行Slam地圖建模,如圖6所示。采用全局加局部的路徑規(guī)劃[8],實現(xiàn)了機器犬自動導航的功能。全局路徑規(guī)劃(gloabal_planner):依據(jù)給定目標點及全局地圖實現(xiàn)整體路徑規(guī)劃,采用Dijkstra算法或者A*算法規(guī)劃全局路徑并計算最優(yōu)路線作為全局路線。局部路徑規(guī)劃(local_planner):機器犬在實際導航中可能不能按給定的全局最優(yōu)路線行走,本地規(guī)劃的功能是利用某種算法(Dynamic Window Approaches)對障礙物進行回避,選擇出當前最優(yōu)路徑,使之盡可能地與全局最優(yōu)路徑一致。
圖6 ROS激光雷達Slam地圖建模
該系統(tǒng)的語音識別使用的是在線語音識別[9],在線語音識別結合語義分析,具有識別精準、靈活性高的優(yōu)點。在導盲機器犬被喚醒后,會進行錄音,錄音結束后將音頻發(fā)送到云端進行語音識別,并將返回的文本結果進行詞法分析,解析出文本中的特征值,再根據(jù)特征值執(zhí)行相應的命令,此功能使用的是百度的詞法分析定制版。邏輯是要先確定一個詞匯集,如:{前進},則將該詞匯集命名為“GO”;{停止},則命名為“STOP”。語音識別的具體流程如圖7所示。
圖7 語音識別流程圖
經(jīng)測試,導盲機器犬能夠在路面上正常行走,并且可以通過攝像頭捕獲和分析周圍環(huán)境。當檢測到障礙物時,導盲機器犬會做出相應的動作,同時也會通過語音播報的形式提醒盲人注意。導盲機器犬引導盲人在盲道上行走測試識別圖,如圖8所示。目前,導盲機器犬也可以通過Slam對周邊環(huán)境進行地圖建模,同時還移植了TensorFlow框架的YOLOv2算法,能夠對紅綠燈、行人、車輛等進行目標識別,如圖9所示。
圖8 導盲機器犬引導盲人在盲道上行走測試識別圖
圖9 YOLOv2目標識別
課題組基于視聽融合的原理設計了可以輔助盲人出行的導盲機器犬,通過模擬盲人出行牽引導盲機器犬的環(huán)境試驗,能夠實現(xiàn)導盲機器犬引導盲人躲避障礙物、引導盲人在盲道行走和識別紅綠燈等功能。研究結果表明,該系統(tǒng)可以為盲人的出行安全提供一定的保障,擴大盲人的活動范圍,同時在一定程度上減輕國家對視力障礙人群和盲人的扶持壓力[10]。