北方工業大學信息學院 趙周權 劉博文 宋卓儒 任 德
在電子信息、計算機、以及AI等領域發展下,車輛集群已經受到了眾多學者關注。浙江理工大學學者提出了一種分層式的智能小車軟件系統框架設計與路徑規劃方法研究,上海交通大學學者研制了CvberC3智能車,實現了基于視覺、磁傳感器、激光雷達等傳感器導航的實驗驗證。
本文以創樂博出品的小車平臺作為研究對象,采用話題訂閱作為車-車通訊協議,同時采用WIFI和互聯網進行遠端到主機的信息傳輸,使用PID算法實現小車的控制。實現小車集群的通訊、控制、協同等,為未來進一步的現實測試提供理論和實踐基礎。
小車基于室內全向移動機器人技術通過ROS STM32驅動板控制,測量小車狀態。使用了ROS Ubuntu mate 16.04系統控制主板,傳輸信息,可視化界面,計算位置等功能。小車編隊由1輛領航者和2輛跟隨者組成。每輛小車都有左右兩個履帶馬達,一臺激光測距模塊和互相之間通訊的Wi-Fi模塊。PC端與領航者使用ROS實時通訊,領航者與跟隨者使用ROS創建話題進行實時通訊。最后通過PC平臺分析小車傳回的數據,驗證并實現了小車編隊。
如圖1所示,此模型使用[x,y,θ,ω]來確定小車的運動狀態。其中,[x,y]為小車質心在笛卡爾坐標平面的位置坐標,θ為小車在水平方向的方向角,ω為小車的兩個輪子速度。由于小車是雙輪差分驅動。通過雙輪差動機器人曲線算法,可以使用如下計算小車的速度為:

其中v為車相對于地面的速度,ωL為左輪的線速度,ωR為右輪的線速度;小車的角速度為(左轉,即當ωL<ωR時):

其中ωC為小車的角速度,l為小車兩輪間距。
本文主要研究了輪式機器人楔形隊列編隊實現,為了能形成特定隊形,小車編隊需要確定隊形參考點。本文使用領航者作為參考點,基于領航者的位置決定參考點位置。

圖1 雙輪差分驅動小車運動模型

圖2 小車編隊拓撲結構

圖3 小車楔形編隊
如圖2所示,PC創建一個話題,將設定的目標點(x,y,θ)生成std_msgs通過topic發送到領航者節點。通過領航者內置導航模塊,并實時獲取小車位置信息(x1,y1,θ1)由此計算出跟隨者1,跟隨者2的位置坐標(x2,y2,θ2)和(x3,y3,θ3)將其生成std_msgs通過topic發送到跟隨者1節點和跟隨者2節點。
控制結構是遠端指揮小車集群的主要方式,控制結構主要關心遠端-主車(遠端控制器)向一臺人為設置的,功能更加完善的主車發送消息,指定集群要到達的位置或完成的目標的交互和主車-從車(主車將遠端下發的任務拆解為一個個從車需要執行的動作,并通過內部聯絡機制進行通訊、分發和確認)的交互,如果是以分布式系統為主要控制結構的小車集群,則是遠端-集群的控制方式,即遠端作為集群網絡的一個節點,直接向網絡發送指令,邏輯上靠近遠端或先收到指令的小車解析指令并轉化為自身執行的動作,并將該指令轉發給其他節點。
本文利用ROS_TOPIC實現無人車通信控制,并利用/odom與/cmd_vel實現無人車的移動控制功能。采取控制算法是分布式PID算法。本文采用了分布式PID控制算法,每個小車僅使用其鄰居的相對距離誤差作為控制反饋,實現協同控制,通信拓撲如圖2所示??刂扑惴ㄈ缦拢?/p>

實驗環境地點為北方工業大學智能仿生感知聯合研究中心,實驗時間為15:00,實驗場地無遮擋,且地面光滑平坦。智能編隊系統采用了消費級IMU,型號為MPU-6050,其角速度全格感測范圍為±250、±500、±1000與±2000°/sec,敏感度為131 LSBs/°/sec ,以數字輸出6軸或9軸的旋轉矩陣、四元數歐拉角格式的融合演算數據。激光雷達型號為RPLIDAR-A1,測量頻率為8000/s,掃描頻率為5.5HZ。本實驗中智能無人車的編隊基于ROS的底層通訊,利用ROStopic從主機端傳輸ros_msg到從機端,如圖3所示,實驗中,通過控制主車沿正方形路徑進行移動,并返回起點。運動過程中,主車不斷地發送自身的位置信息,兩輛從車根據接收到的主車運動位置的變化,會跟隨主車進行協同運動并保持隊形不變。從實驗結果表明,基于ROS的小型無人車智能協同編隊表現情況優異,可應用于實際中。
本文在傳統ROS小車激光導航的基礎上增加了小車間通信的模塊,實現車輛實時的信息傳輸。并借此使用領航者-跟隨者模型實現了小車編隊間坐標傳輸。分別實現了一字編隊與楔形隊列的算法。在未來研究中,可以基于此模型進行更為復雜的六邊形編隊,以及實現對個別車輛的運動狀態進行微調。