朱玲++于穎++張寶泉++王麗婧++陳延哲



摘要:針對小車尋跡研究的傳統方法中存在的研發成本高、開發周期長的問題,提出了一種虛擬實現方法,在Visual Studi0 2010開發環境下完成對小車尋跡過程的動態模擬。利用OpenGL對小車尋跡場景、小車及軌跡線進行了虛擬建模;依據坐標匹配的原理,實現小車在虛擬環境下的預設直線軌跡與曲線軌跡的尋跡仿真。意在從視覺上為機器人控制系統的研究提供一種動態仿真的工具,并進一步為控制系統參數調整及性能指標的分析提供新的研究思路。
關鍵詞:虛擬現實;場景建模;動態仿真;小車尋跡;軌跡線
中圖分類號:TP391.9
文獻標識碼:A
DOI:10.3969/j.issn.1003-6970.2015.07.002
0 引言
小車自動尋跡行駛是汽車智能化的一個發展方向,對無人駕駛技術的研究具有重要的意義。目前,實物小車的尋跡控制一般采用裝載于小車上的光電傳感器識別白色路面上的黑色軌跡線,借助單片機控制器對檢測信號進行分析與處理,從而控制轉向舵機和驅動電機實現小車的尋跡行駛。但是這種小車尋跡過程對周圍環境要求較高,過大的干擾會影響傳感器的感應和信號的傳輸,尤其在無人駕駛技術研究中可能遇到復雜的路況,對被控對象的數學模型及控制算法也提出了更高的要求,需要在實際應用前反復驗證。由于此類研究是基于設計.實驗.修改.再實驗的多次反復模式,而有些實驗幾乎是破壞性的,這便使得此類研究的難度更大、成本更高。因此研究一套小車尋跡過程的虛擬仿真系統,將系統各方面的驗證先通過軟件仿真的方式實現,然后再運用到實物小車中,必定會節約成本、提高試驗成功率。目前針對此類問題研究的仿真軟件多是基于Matlab的控制算法的仿真試驗,通過仿真得到的數據或數據曲線來評價算法的有效性,具有一定的抽象性,若能結合虛擬現實技術在視覺上虛擬小車的實際尋跡過程,再結合數據分析,那將為小車尋跡問題甚至是未來汽車智能化研究提供一種新的實驗方法。
本文正是在此背景下,開發了一套小車尋跡過程的可視化仿真系統,不但能實現上述數學模型仿真功能,還增加了對實際環境的虛擬,可以直觀地展示小車尋跡系統的控制效果。
1 虛擬小車尋跡原理及實現方案
1.1 小車尋跡原理
本文是完全基于軟件的虛擬實物仿真,虛擬小車的尋跡原理是通過坐標點匹配的方法實時地校驗小車模型的位置坐標點與虛擬空間中預設軌跡坐標點的匹配情況,當小車運動到指定的軌跡坐標點的時候,通過程序判斷此刻小車尋跡正確,程序自動運行;當小車偏離軌跡時,設置程序通過坐標偏差自動調整小車前行方位,回到軌跡上來。
1.2 基于VS 2010的控制方案
本系統控制任務為小車能夠按照指定軌跡運行,實現自主前進和轉彎。在VS 2010.NET環境下,利用C#語言編譯控制程序。程序實現的的主要思路是依據坐標匹配的尋跡原理,首先將小車模型的中心點設為小車位置坐標點,軌跡線上的坐標點設為固定參考點,利用循環語句,判斷小車行進時是否與固定軌跡線上的坐標匹配,若判斷結果為匹配則小車繼續前行,若判斷結果不匹配,則通過控制算法程序依據兩者坐標偏差校正小車位置,從而達到小車尋跡的目的。借助計算機仿真可以輕松設置各種尋跡任務,不同軌跡線的尋跡原理相同,本文設置了直線軌跡GJ1和圓形曲線軌跡GJ2,在WinForm控件的任務窗口模式下,將GJ1和GJ2兩條軌跡定義為初始的文件源,小車起始位置為虛擬場景的坐標原點,程序控制方案如圖1所示。
2 小車尋跡虛擬場景建模
虛擬小車尋跡過程的重要環節就是編程實現,主要包括場景仿真、小車建模、軌跡線繪制三部分。
2.1 仿真場景的建立
小車尋跡主要在平整地面上完成,虛擬地面位于三維空間,具有深度信息,是小車尋跡的平臺。繪制地面為空間正方形平面,四個頂點空間坐標為(-lOOf, Of,-50f);(lOOf, Of,-50f);(lOOf, Of, lOOf); (-lOOf, Of, lOOf)。調用OpenGL函數GL.glColor3f(),設置當前地面的顏色為深棕色,為了方便之后的小車尋跡,這里設置正方形地面的其中一個邊為空間坐標系的X軸,并設置X軸為紅色,參考坐標起點為(-lOOf, Of -50f),終點為(lOOf, Of -50f);對于Y軸,設置為綠色,默認參考坐標起點為(-lOOf, Of,-50f),終點為(-lOOf, 200f -50f)。仿真界面同時設有“開始尋跡”、“重置”等按鈕,用于整個虛擬系統的基本控制動作。場景模型如圖2所示。
2.2 小車建模
小車的建模是多種多樣的,可以借助3D MAX軟件建立各種逼真的小車模型,然后將繪制好的小車導人到仿真環境下即可。利用OpengGL函數也可建立較為逼真的小車模型,但要比3DMAX的繪制過程更為復雜。由于本文是對虛擬小車尋跡過程的初步研究,意在為讀者提供此類問題研究的新方法,所以本文用簡單的長方體模型模擬車體,并繪制簡單的圓形輪胎,完成后續的尋跡演示。
首先設置長方體八個頂點的三維坐標及車輪中心坐標,調用OpengGL中長方體及圓形繪制函數完成小車幾何模型的簡單繪制。然后對此模型進行顏色填充和光照處理,增加小車模型的立體感。經過幾何模型的繪制和外觀渲染后,模型效果更佳逼真,如圖3所示,同時將小車調整到參考坐標的原點。
2.3 軌跡線的繪制
采用與路面顏色有明顯差別的線條作為小車行駛的預設軌跡線(或稱為引導線),尋跡小車能夠自動檢測不同的軌跡線并自動校正行駛偏差。本仿真系統設置兩種軌跡線:直線軌跡GJ1和圓形曲線軌跡GJ2。為便于觀察,將直線軌跡的繪制位置設置在X軸上,由如下數學公式生成上述兩種軌跡線:
k(s)=axs+b
(1)
其中,s表示距離起點的長度,k(s)表示s處的曲率,默認直線時k(s)為0。
對上式積分得到一點在此處的切線與X軸的夾角
對上式積分得到的相應的坐標點
當線形為直線時,k(s)=0,則a,b都為0,故有
當線形為圓形曲線時,k(s) =l/rad,a=0,b=l/rad故有
以上就是直線和圓形曲線基于局部坐標的數學公式,任何的直線、曲線都可以將上述的坐標經過平移、旋轉后得到。
3 尋跡過程虛擬實現
選擇直線和圓形曲線兩種軌跡線,依據上述坐標匹配的尋跡原理,即小車中心位置坐標與預設軌跡線的坐標的匹配情況,實現小車的尋跡控制。
尋跡開始前首先選擇軌跡線(引導線)類型,然后點擊左側的控制操作欄中“開始尋跡”后,虛擬小車啟動運行,檢測軌跡線坐標,修正小車位置坐標,直到小車到達指定終點位置,程序結束,小車停止在終點。“重置”按鈕的功能是調用控件中的終止命令,此時系統回到初始狀態,小車回到原點,等待新的尋跡指令。
3.1 直線軌跡的尋跡過程模擬
在對小車進行直線尋跡控制之前,首先對坐標匹配的步長進行設置。當直線軌跡長度為50個單位時,設置其坐標點的間距為5個單位,這樣可以使每一步尋跡動作的時間適度,動畫效果更加真實、連貫。當小車位置參考點與軌跡線上的第一個坐標點匹配一致的時候,利用程序判斷語句來控制小車的下一步運動,保證小車沿著預設軌跡前行,圖4為小車直線尋跡的仿真效果圖。
3.2 曲線軌跡尋跡過程模擬
曲線軌跡選擇具有代表性的圓形軌跡線,從原點先引一條直線軌跡,在直線軌跡中段進入圓形軌跡線,選擇小車的轉彎方向是右轉彎,計算公式為:
小車接收到曲線軌跡的尋跡指令后,運動小車在直線與圓的交點處自動識別曲線軌跡線并駛向曲線軌道,尋跡過程的虛擬實現效果如圖5所示。
4 結論
基于虛擬現實技術實現了對小車尋跡過程的動態仿真,為此類為問題的研究提供了一種研發成本低、開發周期短,視覺表現力強、控制可靠性高的仿真平臺。由于本文尋跡控制是比較基礎的研究,因此還存在著虛擬場景單一、小車模型粗糙等問題,可在下一步研究中結合3dmax軟件,虛擬更加符合實際車輛運行環境的場景及逼真的車型。此外,可以對系統進一步擴展應用于機器人軌跡跟蹤控制、避障控制、多機器人協調控制等的算法研究及控制效果的虛擬演示,使研究者不必花費任何物質資源就能夠直觀地看到抽象算法的視覺控制效果,并對真實環境可能出現的問題進行預測和處理,這不但將枯燥的理論研究轉化為鮮活的圖形圖像信息,同時也為實際系統的測試提供了新的解決方案,因此小車尋跡過程的虛擬具有重要的研究價值。