一種實現服務機器人三維仿真的方法與流程
2023-05-24 22:42:06
本發明涉及三維仿真技術領域,尤其涉及一種實現服務機器人三維仿真的方法。
背景技術:
現有的可視化監控系統,僅起到監控作用,在實際運行中,機器人作業系統直接進行物理實驗,且市面上的服務機器人仿真多是二維形式,交互性和直觀性不強,並未進行真實仿真,易給直接操作機器人實體造成很多不必要的損失。
技術實現要素:
本發明所解決的技術問題在於提供一種實現服務機器人三維仿真的方法,以解決上述背景技術中的缺點。
本發明所解決的技術問題採用以下技術方案來實現:
一種實現服務機器人三維仿真的方法,在Windows作業系統環境下,基於Visual Studio 2010/2012開發三維仿真系統平臺,利用三維仿真系統平臺實現服務機器人三維仿真,三維仿真系統平臺架構分為三層,包括底層、中間層及應用層,具體步驟如下:
1)利用Visual Studio 2010/2012在底層,面向工程三維仿真應用搭建基於MFC的系統框架;
2)在基於MFC的系統框架中,添加OpenGL庫文件和頭文件,並完成初始化設置,同時調用中間層OpenGL命令進行環境模塊繪製,以建立機器人模塊和家具環境模塊;
3)建立坐標系統,坐標系統包括OpenGL坐標系、窗口坐標系及目標坐標系;
4)對步驟3)中的坐標系統進行坐標轉換,通過跟蹤視點和固定視點方式並調用OpenGL轉換函數實現定點轉換;
5)利用3DS Max軟體繪製機器人三維模型,並對機器人三維模型進行紋理貼圖和關照渲染,以增加顯示效果的真實性;
6)將步驟5)中繪製的機器人三維模型另存為3DS文件;
7)在工程中讀取步驟6)中存儲的3DS文件,並對三維模型進行對象管理;
8)系統框架中的視角通過滑鼠左鍵交互,並調用OpenGL中的透視投影函數實現;
9)利用OpenGL雙緩存技術在應用層實現虛擬仿真平滑的動畫。
在本發明中,底層用於基於Windows作業系統環境下編程,包括各種基礎類庫,如WindowsAPI、OpenGL(OpenGraphicsLibrary)圖形庫及VisualC++MFC類庫。
在本發明中,中間層用於調用通用模塊、功能模塊及API,創建完整的圖形應用程式方法為:利用底層函數,整合包裝成高級API或具有擴展的功能模塊,如常用幾何圖元繪製模塊、高級圖元繪製模塊、視圖窗口模塊。
在本發明中,應用層是面向具體工程三維仿真應用搭建的系統框架。
在本發明中,步驟6)中,3DS文件的頭文件是Read3DS.h,源文件是Read3DS.cpp。
有益效果:
1)本發明交互式環境將環境模型轉換成統一的圖形模塊,可快速生成環境信息,具有靈活、通用、快捷特性,支持用戶二次開發;
2)本發明有效降低了機器人開發的進入門坎,使更多的學生、開發人員、愛好者能夠投入到機器人開發中;
3)本發明機器人交互式仿真環境平臺的能夠減小不必要的物理損失,同時減少項目開支。
附圖說明
圖1是本發明的較佳實施例的三維仿真系統平臺層次結構示意圖。
圖2是本發明的較佳實施例的總體設計框架示意圖。
圖3(a)是本發明的較佳實施例中的窗口坐標系初始化示意圖。
圖3(b)是本發明的較佳實施例中的窗口坐標系轉換後示意圖。
圖4是本發明的較佳實施例中的3DS Max軟體繪製的小車底盤模型示意圖。
圖5是本發明的較佳實施例中的3DS Max軟體繪製的家具模型示意圖。
具體實施方式
為了使本發明實現的技術手段、創作特徵、達成目的與功效易於明白了解,下面結合具體圖示,進一步闡述本發明。
一種實現服務機器人三維仿真的方法,如圖1~2所示,在Windows作業系統環境下,基於Visual Studio 2010/2012開發三維仿真系統平臺,利用三維仿真系統平臺實現服務機器人三維仿真,三維仿真系統平臺架構分為三層,包括底層、中間層及應用層,具體步驟如下:
1)利用Visual Studio 2010/2012在底層,面向工程三維仿真應用搭建基於MFC的系統框架;
2)在基於MFC的系統框架中,添加OpenGL庫文件和頭文件,並完成初始化設置,同時調用中間層OpenGL命令進行環境模塊繪製,以建立機器人模塊和家具環境模塊;
3)建立坐標系統,坐標系統包括OpenGL坐標系、窗口坐標系及目標坐標系;
4)對步驟3)中的坐標系統進行坐標轉換,通過跟蹤視點和固定視點方式並調用OpenGL轉換函數實現定點轉換,建立窗口坐標系時,初始化的坐標系統是圖3(a),而後進行坐標轉換,使窗口坐標系的中心點(0,0,0)轉換到屏幕中央,如附圖3(b),OpenGL轉換函數為glTranslatef和glRotatef;
5)利用3DS Max軟體繪製機器人三維模型,如圖4~圖5所示,以小車底盤和家居環境三維模型為例,並對機器人三維模型進行紋理貼圖和關照渲染,以增加顯示效果的真實性;
6)將步驟5)中繪製的機器人三維模型另存為3DS文件;
7)在工程中讀取步驟6)中存儲的3DS文件,並對三維模型進行對象管理;
8)系統框架中的視角通過滑鼠左鍵交互,調用OpenGL中的透視投影函數gluPerspective實現;
9)利用OpenGL雙緩存技術在應用層實現虛擬仿真平滑的動畫,調用OpenGL的glutSwapBuffers。
在本實施例中,底層用於基於Windows作業系統環境下編程,包括各種基礎類庫,如WindowsAPI、OpenGL(OpenGraphicsLibrary)圖形庫及VisualC++MFC類庫。
在本實施例中,中間層用於調用通用模塊、功能模塊及API,創建完整的圖形應用程式方法為:利用底層函數,整合包裝成高級API或具有擴展的功能模塊,如常用幾何圖元繪製模塊、高級圖元繪製模塊、視圖窗口模塊。
在本實施例中,應用層是面向具體工程三維仿真應用搭建的系統框架。
在本實施例中,步驟6)中,3DS文件的頭文件是Read3DS.h,源文件是Read3DS.cpp。
以上顯示和描述了本發明的基本原理和主要特徵和本發明的優點。本行業的技術人員應該了解,本發明不受上述實施例的限制,上述實施例和說明書中描述的只是說明本發明的原理,在不脫離本發明精神和範圍的前提下,本發明還會有各種變化和改進,這些變化和改進都落入要求保護的本發明範圍內。本發明要求保護範圍由所附的權利要求書及其等效物界定。