劉今越,馮 凱,郭士杰
(河北工業大學機械工程學院,天津 300310)
截止到2015年底,我國失能人士已達4千萬人,我國殘疾人總數已經超過8000萬[1]成為世界上失能人口最多的國家。隨著我國人口老齡化程度的加深,這個數字還將急劇增加。因此,為這些失能群體提供一款幫助他們活動的護理機器人是機器人研究人員面臨的急需解決的問題。鑒于以上情況,許多護理機器人被提出、設計并實現。美國的Astir Technologies公司發明的“Power Nurse”移乘設備可以幫助被護理人進行室內的轉移。日本機械工程研究所發明的“RIBA”機器人采用抱人方式幫助被護理人移動。在國內,南昌大學研制的多功能全方位護理移動機器人,結合智能輪椅與智能護理床的優勢,在幫助被護理人轉移的同時實現遠程監控等功能。智能導航技術是智能移乘護理機器人的關鍵技術,即:機器人在室內可以感知到自己的位置,并提前規劃好一條到達目標位置的路線,被護理人不需要額外的手動操作就可以安全舒適的到達目的地,這些都需要機器人具備良好的路徑規劃能力,在避開障礙物的同時規劃出一條安全、精確、高效的路線。
文獻[2-6]采用向量場直方圖(VFH)算法將障礙物對機器人行走方向的影響量化到各個角度,通過選定恰當的障礙物閾值確定機器人行走方向,但此方法對閾值敏感度較高。
本研究團隊已在該領域開展了長期的研究工作,并于2017年完成了“白澤”智能護理移乘機器人[7]的成功研發。作為一種助老、助殘產品,該機器人采用模仿人背人、人抱人動作的仿生設計,實現被護理人在床、輪椅、沙發、馬桶等生活器具之間的安全舒適的移乘搬運。該機器人將人工智能技術與機器人技術相融合,具有良好的決策自主性、人機交互性和環境適應性。機器人“白澤”采用模仿人背人的轉移方式,其路徑規劃方式與一般的輪椅式護理機器人和抱人機器人有所不同,需要在進行路徑規劃的同時考慮處于不同位置時相應位姿的調整,因此研究適用于“白澤”機器人路徑規劃方法具有重要的實際價值和意義。
機器人“白澤”結構,如圖1所示。為了方便在室內移動,其底部設計成為一個三輪移動平臺,后面2個是差分驅動輪,前面一個為萬向輪。同時為了使機器人在運動中保持車身穩定,每個驅動輪后面裝有1個可伸縮的后輪,在特定狀態伸出防止車身翻倒。機器人主要由活動踏板、支座、腋下支撐和手柄組成,用于支撐人體重量的部件。為了固定人體位姿,在支座與腋下支撐之間配有一對自適應柔性臂,用來保護人的腰部,防止其摔倒。機器人胸靠部位裝有柔性觸覺傳感器,在搬運過程中感知人體姿態,自動調整胸靠位姿,保證被護理人乘坐時的舒適性。

圖1 “白澤”機器人Fig.1 Robot Sketch of BaiZhe
該機器人的自由度總數為11個,重95kg,整體尺寸為(950×650×1640)mm,負載能力100kg,最大走行速度0.7m/s,鋰電池驅動,1次充電可連續工作2h。
機器人“白澤”的硬件控制系統,機器人具有編碼器、激光雷達、陀螺儀和Kinect等傳感器,如圖2所示。固定在驅動輪上的編碼器通過航跡推演算法估計機器人的運動;激光雷達作為SLAM的傳感器用于構建地圖和室內定位;Kinect固定在機器人頂部用于識別人體關節同時把深度信息轉化為激光信息[8];陀螺儀用來估計機器人的位姿;上位機的作用是發送目標信息給機器人,同時實時監控機器人的軌跡規劃。

圖2 機器人硬件控制系統Fig.2 Hardware Control System of Robot
開源機器人操作系統ROS是由斯坦福大學人工智能實驗室開發的一套提供類似操作系統服務的機器人專用開源系統[9],在這個系統中搭建上層導航節點和底層運動節點。其導航系統框架圖,如圖3所示。通過傳感器的信息進行定位和建圖,最后路徑規劃指令以速度的方式發送到底層運動節點。

圖3 導航系統框架圖Fig.3 Framework of Navigation System
機器人室內運動場景,如圖4所示。它模擬了機器人把被護理人從客廳的沙發搬運到廁所的馬桶上這一運動過程。其平面運動示意圖,如圖5所示。小矩形方塊表示機器人的前端,大矩形方塊表示機器人的尾端,即抱人部分。機器人運動時,首先通過Kinect感知并找到人的初始位置,而后慢慢靠近被護理人,將人安全抱起并通過柔性臂固定;然后,抱著被護理人一起運動到一個恰當的中間點,在此完成頭尾朝向的轉換;最后運動到目標點把人放下。這一過程分為兩個階段,第一階段為機器人從初始點運動到中間點,第二階段為從中間點運動到目標點,其中路徑規劃的關鍵在于中間點位置的確定以及在中間點處頭尾朝向轉換角度的判定。

圖4 虛擬運動場景Fig.4 Virtual Motion Scene

圖5 平面運動示意圖Fig.5 Plane Motion Diagram
該移乘護理機器人采用的是仿人背抱式設計,其運動模式類似于背人行走。在機器人移動到中間點之前,被護理人面部方向與運動方向一致;而在機器人移動到目標點之前,需要調整被護理人朝向,使其背對目標點,以便將其安置于目標位置,實現被護理人在各家庭器具之間安全舒適的轉移。因技術限制,目前相較于室內環境而言,護理機器人體積相對較大,而一般作為起始點的室內過道、門口等位置往往空間有限,不便于機器人姿態與朝向的調整,因此選取行進過程中恰當的中間點位置并在此完成機器人位姿的變換十分重要。機器人行駛路徑規劃如下:(1)確定初始位姿與目標位姿;(2)確定中間點處的最優位姿,即中間位姿,此位姿的選擇不僅是減少轉向角度和位姿調整次數的關鍵,同時也決定了到達目標位姿的變換路徑;(3)采用分段式路徑規劃方法,分別制定初始點到中間點、中間點到目標點的行進路徑。
考慮到家庭環境一般是規格化的,家具位置相對固定,障礙物隨機性強但并不常見,因此,為了保證被護理人運送過程中的舒適和便捷,運動路徑彎曲程度越小越好,這樣角度變化幅度就小,理想情況下為直線。將房屋平面圖左下角設置為圖中:O—坐標系原點;x軸—水平方向;y軸—豎直方向;點A—初始點位置;點B—目標點位置;點C位于點A、點B之間,點A與點C間行進路徑平行于x軸,點C與點B間行進路徑平行于y軸,如圖6所示。理想情況下,若取點C為中間點且無障礙物,機器人只需沿兩段相互垂直的直線移動即可到達目標點,可避免過多的角度轉換,但實際上點C位置往往受墻體、門、障礙物等實際器具限制,因此將中間點設置為盡量靠近點C的臨近區域,位置評價函數為:

圖6 中間點位置確定Fig.6 Coordinate Selection of the Intermediate Point

式中:ɑ,β,g—影響系數;A(x,y)—機器人與直線AC的垂直距離;B(x,y)—機器人與直線BC的垂直距離;Z(x,y)—機器人與障礙物的距離。ɑ越大表示機器人的第一段運動過程轉向角變化幅度小,β越大表示機器人的第二段運動過程轉向角變化幅度小,g越大表示機器人的位置安全性越高。
在機器人軌跡規劃過程中,利用式(1)對機器人位置進行實時評價,確定最為適宜的中間點坐標。
中間位姿是第一段路徑(A-C)的終止位姿,同時又是第二段路徑(C-B)的初始位姿,是機器人行進過程中的關鍵位置,因此,對此位置進行恰當的位姿角度選擇,能夠使機器人有效避障的同時減少角度變化,使行進過程更加順利。機器人角度選取模型圖,如圖7所示。圖中:A、B、C—不同形狀的障礙物,利用式(2)計算目標點與機器人的夾角α。

圖7 中間點的角度選取Fig.7 Angle Selection of the Middle Point
計算公式如下:

式中:(xg,yg)—目標點位置坐標;(xr,yr)—機器人位置坐標。由圖7可以看出機器可以從4個方向行走,機器人從不同的方向向目標點行駛時,初始方向與目標方向越接近,機器人所需的航向角轉變幅度越小,θ2與θ3與目標點方向接近,通過β1與β2的比較可知,β1<β2,選擇θ3為中間點位姿行駛方向,θ3的角平分線與x軸的夾角即為中間位姿角度。
通過中間點位姿的選取減小轉向角度變化幅度后,機器人需要對角度變化頻率進行調節,這樣被護理人才會在平穩的運動中前進。在matlab仿真環境中進行同一段路徑規劃,用不同的速度時,航向角變化,如圖8所示。

圖8 航向角變化曲線Fig.8 Heading Angle Change Curve
機器人的速度分別為500mm/s、300mm/s和100mm/s。速度增大時,航向角變化率就大,雖然完成路徑規劃的時間短,但是角度變化頻率快。為了減小角度變化頻率,根據角度變化值來控制速度。規定如下:當角度變化大于15°時,機器人勻速速度為原來的二分之一。
調整前后在同一速度下的對比,速度為500mm/s,如圖9所示。

圖9 調整后角度對比Fig.9 Angle Comparison after Adjustment
由圖9可知機器人角度變化率比改進前降低了,雖然增加量運行時間,但是使得角度變化更加平穩。
在機器人的運行過程中實時計算出中間點的坐標和角度,機器人從初始點沿著規劃出的路徑運動到中間點的坐標處,然后以尾部為前進方向旋轉到指定角度。接著以中間點的位姿為第二段路徑規劃的初始點,運動到目標點,完成整段規劃的路徑。
機器人采用的避障算法是VFH算法,該算法流程圖,如圖10所示。

圖10 VFH算法流程圖Fig.10 Flow Chart of VFH Algorithm
在得到障礙物密度后,把密度值與閾值進行比較,由此來選擇動態避障的路線。而傳統的算法存在閾值敏感的問題,在給定一個閾值后,在閾值過小時會陷入“死區”,閾值過大時可能會碰到障礙物。結合動態環境的變化根據機器人的實時的速度來調節閾值的大小。

式中:T—閾值;e—放大系數;v—當前速度;vmax—最大速度。得到機器人閾值變化圖,如圖11所示。

圖11 閾值變化圖Fig.11 Threshold Change Map
橫坐標是完成一段路徑規劃所用的時間,縱坐標是在這段過程中閾值的大小變化。途中B、C、D點分別是先后出現的障礙物點。A點為初始點,離第一個障礙物較遠,所以最開始時閾值最大。當護理機器人向第一個障礙物靠近時,閾值減小,以防止護理機器人與障礙物發生碰撞。當護理機器人剛通過障礙物B時,它離下一個障礙物C還有一段距離,所以閾值會突然變大,以防止護理機器人走到局部的“死區”。接著通過障礙物C與D的過程類似,在通過障礙物D后,機器人又保持最大閾值。
在ROS框架下進行路徑仿真,如圖12、圖13所示。在一個室內的地圖中,白色圓點代表機器人,黑色方塊為障礙物(一個桌子),黑色線段代表規劃的路線。第一段路徑規劃,從初始點到中間點,箭頭代表中間位姿的角度,如圖12所示。第二段路徑規劃,從中間點到目標點,箭頭代表目標點位姿的角度,如圖13所示。

圖12 第一段路徑規劃Fig.12 The First Segment of Path Planning

圖13 第二段路徑規劃Fig.13 The Second Segment of Path Planning
由圖(12)和圖(13)可知:在兩段路徑規劃過程中,機器人沒有碰到障礙物和墻壁,兩段路徑軌跡均接近直線,且能夠準確到達指定地點,這些均表明所提出的兩段式路徑規劃方法能夠選擇合理的中間點,并有效避免了位姿調整中過多的角度轉換,該方法在智能移乘機器人室內路徑規劃方面切實可行。
應用本團隊自主研發的移乘護理機器人平臺進行實驗,得到的中間位姿為(4.33,3.57,29°)。為了驗證中間點位置角度選取對整段路徑規劃的影響,在同一中間點的坐標下選擇不同角度進行實驗,結果如表1所示。

表1 實驗結果Tab.1 Experimental Result
其中,角度變化次數指的是在機器人運動過程中角度變化量大于1°時計數一次。由表1可知:采用由這里算法得到的中間位姿,整段路徑角度變化次數最少,同時機器人的行駛距離和用時時間也是最少的。這說明對于“白澤”機器人的路徑規劃,合理的中間位姿的選取不僅可以簡化機器人行駛路徑,而且可以使其在安全的完成導航任務的同時提高效率。
針對室內環境狹窄,機器人位姿調整受限等問題,基于本團隊自主研發的移乘護理機器人“白澤”提出了一種兩段式路徑規劃方法,結合實際工作環境,在初始點與目標點之間確定一個恰當的中間點,將機器人行進路線劃分為兩個階段,令機器人的位姿變換在中間點位置完成,在滿足機器人功能性要求同時盡可能提高效率。實驗結果表明機器人可以安全有效的完成路徑規劃的任務。