孫廣明,趙明宇,汪映輝,儲 毅
(國網電力科學研究院,南京 210061)
近幾年計算機硬件發展突飛猛進,對三維可視化技術的優化以及性能有了很大的提升,極大地促進了三維表現形式的發展。隨著國家對新能源技術的大力推動,電動汽車成為了新能源發展的熱點,為了解決電動汽車快速能量補給的問題,電池更換模式逐漸得到應用與推廣。為提高電池更換效率,電池更換設備必須向自動化、智能化方向發展,通過引入采用機器人技術的高度自動化智能電池更換設備可以較好地解決這一問題[1]。目前電動汽車換電站大都配備了監控系統,來確保電池更換設備的安全運行,但目前電動汽車電池更換機器人的監控技術基本都停留在以二維的方式表示,主要是基于抽象符號的系統,不能給人以自然界的直觀感受,大量的多維空間信息無法得到利用,同時還有些技術無法得到實現,例如離線示教技術[2]。
本文針對當前快速發展的電動汽車電池更換機器人監控技術以及電池更換機器人的幾何建模和運動學建模進行了研究和總結,設計和實現了電動汽車電池更換機器人的三維實時監控和電池更換設備的離線示教功能,極大地方便了用戶對換電機器人的全景監控,同時不僅可以有效節約電池更換機器人示教帶來的資源和大量時間的浪費,而且提高了電池更換機器人的運行效率,同時對低碳環保也具有一定的現實意義。
要實現對電池更換機器人的三維實時監控,首先需要對機器人和電池更換場景進行幾何建模和運動學建模,然后通過三維實時監控程序讀取模型文件進行顯示,數據采集和處理模塊則實時采集換電設備的狀態,對運動學模型進行動態改變狀態,采用雙緩沖的方式進行三維實時監控界面展示,實現電池更換機器人的三維全景實時監控。
機器人三維實時監控采用模塊化、弱耦合的設計方式來實現,所有外部模型的存儲都采用文件系統,這樣可以方便地實現與其他系統通信,同時方便采用三維建模軟件3DMax來完成幾何建模的過程,達到快速建模的目的。電池更換機器人三維實時監控的模塊主要包括幾何建模和運動學建模、換電機器人離線示教、數據采集和處理、文件系統和外部接口、視頻聯動等。系統各模塊的相互結構關系如圖1所示。

圖1 電池更換機器人監控結構圖
幾何建模就是通過運動透視等技術手段將電池更換機器人實體進行三維顯示[3];為了進行離線示教,對幾何建模要求很高,誤差必須要在電池更換設備定位允許的誤差之內;而運動學建模則是將電池更換機器人的連桿和關節抽象成數學概念上的線和點,建立適當的數學模型,以利用采集得到的變化參數,通過轉換和計算得到不同時刻的狀態參數。
單體幾何建模可以通過成熟的三維建模軟件3DMax進行建模,只需要導出為xml[4]格式的文件,然后通過本系統的組態軟件來解析模型文件,從而建立單個對象模型,如圖2所示。

圖2 線性渲染的電動汽車、電池、電池架模型
對于機器人這種多關節的模型,在創建出單個對象后,往往需要利用各種關節將不同的對象鏈接起來,系統提供了鉸鏈型、球-球窩型、滑竿柱型和固定型等類型的關節。其中鉸鏈型為合頁關節,滑竿柱型為插銷關節,這些關節都有內置的馬達。本系統選用鉸鏈關節來連接驅動輪和電池更換設備車體,采用固定關節構建換電機器人車體結構。
下面以使用鉸鏈關節連接兩個對象為例,簡單說明創建關節的方法。在調用jointCreateHinge函數創建鉸鏈關節對象后,再調用jointAttach函數指定用該關節連接的兩個物體對象,然后調用jointSetHingeAnchor函數設定旋轉軸的中心點坐標,并調用jointSetHingeAxis設定旋轉軸的方向。
采用線性渲染方式的電池更換機器人模型如圖3所示。

圖3 電池更換機器人模型
為了讓電池更換機器人對象能夠在仿真環境中運動起來,系統提供了三種方法:1)調用bodyAddForce、bodyAddTorque等函數給剛體施加力的作用;2)調用jointSetHingeParam函數來改變內置馬達的轉速,同時需指定該函數的第二個輸入參數為paramVel;3)調用bodySetLinearVel和bodySetAngularVel兩個函數直接給物體設定線速度和角速度。此外,在系統仿真環境中,可通過兩種方式來模擬彈簧-阻尼系統:1)通過設置ERP (Error Reduction Parameter)和CFM (Constraint Force Mixing)兩個參數來實現,ERP為每一仿真循環中的修正誤差,取值范圍為0~0.8,默認取值為0.2;CFM代表物理引擎的全局混合約束力,它反映物體表面的柔軟程度,其取值范圍為10e-9~1;2)利用動力學方程來求解,即胡克定律:

其中k為物體的勁度系數,x為物體形變量。考慮阻尼系數時,動力學方程為:

其中γ為阻尼系數,它與物體的形狀以及周圍性質相關。
監控系統采用工業以太網方式為物理介質、以國家標準工業通訊協議為通信規約和電池更換機器人進行通信,實時接收換電設備的狀態,并對獲得的數據進行數學計算、粗大誤差剔除、線性優化處理,最后將處理后的數據傳輸給電池更換機器人三維模型來顯示及入庫操作,數據采集處理流程如圖4所示。

圖4 采集處理顯示流程圖
圖4采用的數據采集處理流程,能夠方便實現對電池更換機器人、電池架、電動汽車以及安防設備等進行三維實時監控顯示,方便用戶直觀查看電池箱的充電狀態、電動汽車的當前位置、電池箱的更換情況以及電池架上有無電池箱等信息。
數據采集部分不僅僅是從受控設備獲取實時值,還可以接受三維實時監控程序發送的遠程控制命令,并及時地傳輸給受控設備以控制設備的各種動作行為,從而保障設備的安全高效運行。
電池更換機器人離線示教[5]是利用計算機圖形學的成果,建立電池更換機器人及其工作環境的幾何模型,通過對圖形的控制和操作,在離線的情況下進行軌跡規劃。通過對示教結果進行三維圖形動畫仿真,以檢驗離線示教的正確性,最后將生成的代碼傳到電池更換機器人控制器,以控制電池更換機器人運動,完成電池箱更換任務。電池更換機器人離線示教結構圖如圖5所示。

圖5 離線示教結構圖
電動汽車電池更換機器人三維監控實現了與環境監控的深度融合,在電池更換機器人出現異常情況時會觸發環境監控聯動機制,通過視頻、消防、聲光報警等方式記錄處理現場情況,并通過內部預置的處理策略為用戶實時提供相應的解決方案或自動進行異常事務處理,并在三維監控畫面上得到實時響應。
人機交互界面采用跨平臺語言Qt4[6]進行設計和實現,用戶在組態軟件中對三維場景進行配置,設定各個模型的初始狀態,并保存成xml格式的配置文件。三維實時監控軟件讀取配置文件和模型文件并通過OpenGL渲染顯示。軟件具有人性化操作方式和友好的交互界面,用戶在三維實時監控畫面上只需通過鼠標的簡單操作就可以對三維監控畫面進行平移、縮放、旋轉等操作,進而實現對設備的全方位監控。
三維實時監控技術已在電動汽車充換電示范站中得到了較好的應用,運行情況表明,通過三維全景實時監控界面,用戶可以方便地查看整個電池箱更換過程、電池箱充電狀態、電池架上有無電池箱、汽車運動狀態等等,三維監控畫面如圖6所示,而且當現場設備出現異常時環境監控可以進行實時聯動,并通過三維畫面實時展示聯動情況。三維實時監控極大地彌補了二維符號監控的不足,同時給人以身臨其境的自然感受。

圖6 換電站三維全景實時監控圖
電動汽車電池更換機器人三維實時監控不僅為用戶提供了更加直觀的監控畫面,而且為用戶提供了電池更換機器人離線示教等高級服務,使電池更換機器人能夠更加高效安全運行;對本設計進行一定的擴展,可以應用到充換電設施領域其他設備的監控中,更好地服務于電動汽車充換電設施的建設,進一步促進電動汽車的快速、健康發展。
[1] 黃李, 張維戈, 姜久春. 2008年奧運會電動汽車充電站規劃及運營模式方案[J]. 現代交通技術, 2007(4).
[2] Balkan T. Proweld: An off-line welding robot programming package with an interactive graphical interface[J].International Journal of Material and Product Technology,1997, 12(S4-6): 364-372.
[3] Shreiner D. 徐波, 譯. OpenGL編程指南[M]. 北京: 機械工業出版社, 2008.
[4] 顧兵. XML實用技術教程[M]. 清華大學出版社, 2007.
[5] 戴文進, 劉靜. 機器人離線編程系統[J]. 科技前沿與學術評論, 2003.4.
[6] 蔡志明, 盧傳富, 李立夏, 等. 精通Qt4編程[M]. 電子工業出版社, 2008.