聶永怡 彭曉昕 卜國富 鄭譽煌



摘 要:規劃安全可靠的行駛路線是自動駕駛技術所要解決的關鍵問題之一。路徑規劃包括車身環境感知和路徑軌跡生成兩部分。針對車輛在室內行駛的問題,提出了基于隨機漫步的室內駕駛路徑規劃策略。在CoppeliaSim的仿真試驗結果表明,這個算法可以準確感知室內環境,并且能生成安全且高效的行駛路徑。
關鍵詞:路徑規劃;隨機漫步;室內駕駛
在科技發達的現在,自動駕駛已投入到我們的汽車當中,汽車根據導航路線實現自主行走,車子能自動駛出和駛入道路的匝道或者立交橋等,并且可以自動變換速度做出超車等行為。由于現實情況的復雜,汽車未必能立刻做出完美的判斷,因此自動駕駛僅在小范圍使用,還無法在大范圍利用,未來自動駕駛會往更高的地方發展,會在越來越大范圍使用。因其應用的前景較大,從20世紀80年代到至今,自動駕駛一直是眾多研究者的熱門專題,對于自動駕駛的研究一直在穩步前進,并取得階段性成果。隨著人工智能時代的到來,人們對自動駕駛的技術要求越來越高,未來自動駕駛也將投入到人民的日常生活中。
自動駕駛技術是人工智能的一個重要應用分支,常用的自動駕駛方案是面向室外環境,即基于GPS獲取汽車定位,依靠車輛的傳感器感知車輛周圍環境數據,再通過路徑規劃算法確定車輛的行駛路徑。但是在室內環境,由于室內環境環境復雜、空間比較狹小,導致一般室外自動駕駛方案無法直接應用于室內駕駛之中。為此,面向室內的車輛自動駕駛技術,要采用新的策略來規劃車輛行駛路徑。本文提出了基于隨機漫步策略的室內駕駛路徑規劃策略,這策略把室內空間布局視為一個迷宮,小車在室內隨機游走,遇到障礙物就自動轉向走動,并記錄所走過的路徑,一直走動到出口為止。本策略在CoppeliaSim的仿真實驗表明,本策略是可行的,可以使小車可以自主篩選最佳路線。
CoppeliaSim是一款優秀的仿真軟件,原名是V-REP。在CoppeliaSim提供了眾多機器人模型,用戶可以快速的調用或修改這些模型,以滿足用戶的而需要。CoppeliaSim自身采用luna編程語言,但是也提供支持其他編程語言的接口,例如Matlab、Python等。本項目采用python3.7和CoppeliaSim通信,實現小車的傳感器讀取、方向控制和路徑規劃等功能。
1 隨機漫步算法分析
1.1 空間布局
智能小車把室內空間布局抽象為一個迷宮,在此迷宮中實現從起點到達終點的優化路徑。由于迷宮擁有多通道不確定性,且小車前進方向不定,小車的正確行駛路線有多條,但是時間均不一樣。小車從開始運行到走出迷宮的過程所花的時間稱為迷宮時間,每次進入迷宮到走出迷宮稱為探測路線[1]。
小車出發點固定在迷宮某處,每走完一次迷宮,通過對比前后的迷宮時間長短,保存相對迷宮時間短的探測路線,經過多次分析探測路線和所耗迷宮時間,根據所設定的算法選出一條耗時短的最優路線,讓小車以最快的速度走出迷宮。
實驗使用電腦為Win10系統,利用python作為編程軟件,配合仿真軟件CoppeliaSim Edu,模擬迷宮(如圖1所示)大小為4m×4m,并使用pioneer p3dx型號智能小車進行仿真實驗。智能小車前后左右裝配接近傳感器,并在車頭裝配視覺傳感器,以便觀察。
小車行駛過程中,當沒有遇到障礙時,以右轉為最高命令;當接近傳感器感應到障礙時,小車做出相應反應為次要命令。次要命令有多種情況,以沒有感應到障礙的傳感器判斷前進方向,依舊遵循右轉為最高命令,例如當左側接近傳感器感應到墻壁時,小車向右轉;當左側、右側和前方傳感器同時感應到障礙,即遇到墻角時,小車向后轉;當只有前方傳感器感應到障礙時,遵循最高命令,小車向右轉,其他情況以此類推。
1.2 標記分析
智能小車在迷宮內行駛,每次運行都根據隨機漫步的原則,只要程序正在活躍中,小車就能不斷隨機走動,并且中間不能停止行動,直到走出迷宮。智能小車像螞蟻覓食一樣尋找出口,螞蟻在覓食的路徑上會留下信息素供伙伴分辨,并利用信息素的濃度控制螞蟻的轉移率,算法就是模擬了這一點,當小車記錄的點控制在一定的范圍內,并且經過一定次數的積累,最終能獲得一條最優的路徑[2]。迷宮作為多障礙物區域,小車在走動時,為了解決繞行以及軌跡不平滑等問題,利用傳感器獲取的距離信息,通過權值的自動調整,實現在多障礙物區域自動推算出最優的線速度和角速度,從而實現安全、高效和可靠的機器人局部避障算法,使小車運行軌跡更加合理、安全和有效[3]。小車出發點固定,每次隨機選擇三個方向,它隨機的選擇向左、向右以及正前方作為前進方向。制定三個變量,其中一個是存儲隨機漫步次數的變量,其他兩個是列表,分別存儲隨機漫步經過的每個點的x和y坐標。利用fill_walk()函數來生成小車隨機漫步時走過的所有點,并決定每次漫步的方向。把相關數據存儲好后,再利用python的matplotlib這個強大的庫把數據繪制成圖表(如圖2所示)。小車每次轉彎或直走的路線的X和Y坐標這兩個變量都會以T(正確)或者(F)記錄下來,若某個方向碰到墻壁則記為F(錯誤),碰墻后小車自動改變方向,以右轉為基本原則,若仍繼續碰墻,則小車根據未碰墻的傳感器提供的方向自主選擇左還是右轉,直到無障礙前進。前進方向無障礙記為T(正確),將所有記為T的坐標連接起來,則就成為小車走出迷宮的路線。
2 實驗分析
迷宮時間分析。每次小車出發地點固定,每一次程序運行,小車走出迷宮是唯一的目的,小車碰到一次不通的路徑,小車會記下,防止小車走重復的路徑,從而優化路徑,縮短走出迷宮的時間。下表是小車重復20次實驗所獲得的迷宮時間,平均迷宮時間是35.3分鐘。可見在第4次是的時間最短,因此小車以此次的路徑為最優路徑,如圖2所示。
3 結論
本次提出的基于隨機漫步的室內駕駛路徑規劃,通過記錄坐標、儲存時間、描繪出線路的方法,最終得到小車走出迷宮的最優路線。仿真實驗證明,此算法讓小車在復雜的室內,較好地獲得到達目的地的方法。下一步,我們將研究多智能小車的協作尋找最優路徑的問題。
參考文獻:
[1]王蒙,朱冬旭,李治.智能小車走迷宮算法的設計與研究[J].科技視界,2017(23):17-18+55.
[2]胡國華,王鴻斌,宗春梅,王成英.基于改進蟻群算法的智能小車路徑規劃仿真研究[J].高師理科學刊,2019,39(12):23-26.
[3]王紀云,邵杭.權值自適應的局部路徑規劃方法及應用[J].軟件導刊,2019,18(12):11-13+18.
基金項目:國家級大學生創新訓練項目“基于多智能體和深度強化學習的自動駕駛系統研究”(編號:202014278003);廣東省本科高校高等教育教學改革項目“電子信息工程專業新工科人才培養的研究與實踐”(編號:421);廣東第二師范學院教學質量與教學改革工程項目“電子信息工程應用型人才培養示范基地”(編號:2018sfjd02)
作者簡介:聶永怡(1998— ),女,漢族,廣東肇慶人,本科,研究方向:電子信息工程。
*通訊作者:鄭譽煌(1979— ),男,廣東佛山人,博士,副教授,研究方向:機械電子工程。