• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于OpenGL和MFC的機器人運動控制及標定

      2015-05-07 06:26:30李成剛李富中王正軍馬越民
      機械設計與制造工程 2015年1期
      關鍵詞:上位標定坐標系

      喻 敏,李成剛,李富中,王正軍,馬越民

      (南京航空航天大學機電學院,江蘇南京 210016)

      當前工業(yè)機器人的應用越來越廣泛,但是存在機器人的控制仿真不具開放性和運動精度低等問題。世界上主要機器人生產(chǎn)商都相應提供了機器人編程軟件以適應實際生產(chǎn),同時隨著對機器人運動精度關注度的提高,也相繼出現(xiàn)了各種機器人標定軟硬件設備。美國Dynalog公司提供的機器人單元校正系統(tǒng)DynaCal,可以一次測量并校準中心點、連桿長度、各夾角角度、home點,并減少人為運算的時間和誤差,一般校準一個機器人在20min左右[1];德國 Teconsult公司提供的測量校正系統(tǒng)ROSY,利用校準球和照相機校準機器人。國內(nèi)在機器人離線編程仿真領域也進行了相關的研究[2-4],但是開發(fā)的仿真控制軟件和國外相比仍有差距。

      本文利用OpenGL和MFC在VC6.0平臺上開發(fā)了工業(yè)機器人運動控制及標定界面,通過機器人三維模型的導入,編寫機器人逆解和軌跡規(guī)劃算法、上位機與機器人控制器的通訊程序、坐標系標定及參數(shù)辨識程序,實現(xiàn)了工業(yè)機器人的離線軌跡規(guī)劃及控制,同時能夠快速完成機器人精度分析及標定實驗。

      1 工業(yè)機器人模型的引入及參數(shù)設定

      OpenGL是SGI公司為圖形工作站IRIS開發(fā)的一種快速、高質(zhì)量的開放三維圖形程序庫,而VC6.0繼承了OpenGL的圖形標準,方便了程序設計人員實現(xiàn)三維圖像的顯示。

      為在VC界面上實現(xiàn)工業(yè)機器人的運動仿真,需要導入并顯示機器人的三維模型。其具體流程圖如圖1所示。

      圖1 導入并顯示機器人的三維模型流程圖

      首先對VC的開發(fā)環(huán)境進行設置,以便在程序中能夠調(diào)用OpenGL函數(shù)。在需要調(diào)用OpenGL函數(shù)的類的頭文件中添加 3個頭文件:gl.h、glu.h、glaux.h,同時在 ProjectSettingsLink菜單的 Library編輯框中增加3個靜態(tài)鏈接庫文件:opengl32.lib、glu32.lib、glaux.lib。

      可借用兩種方法通過OpenGL顯示三維圖形:一種是利用其提供的三維圖形繪制函數(shù)繪制點、線、面組合成三維模型;另一種是先利用其他三維繪圖軟件事先繪制好三維模型,之后利用轉(zhuǎn)換軟件轉(zhuǎn)化成能夠被計算機識別的程序文件。

      本文采用第二種方法。首先利用SolidWorks軟件建立工業(yè)機器人三維模型,利用3DS MAX轉(zhuǎn)化成STL格式的文件,之后利用VIEW3DS將STL文件轉(zhuǎn)化成能夠被VC讀取的.h和.gl文件。接著對機器人三維模型的顯示窗口進行設置,此時在PreCreateWindow函數(shù)中添加下列語句:cs.style=WS_CLIPSIBLINGS|WS_CLIPCHILDREN,同時增加編寫類成員函數(shù)bSetupPixelFormat(HDC hDC),重新設置像素格式、創(chuàng)建著色上下文實現(xiàn)繪圖環(huán)境的初始化。

      為了提高顯示效率,利用OpenGL的雙緩存技術,此時繪制函數(shù)繪制的場景先寫入后臺,當需要顯示機器人三維模型時,利用 SwapBuffers(m_hDC)交互緩沖區(qū)實現(xiàn)機器人三維模型的顯示;同時通過設置啟用定時器OnTimer(intnIDEvent)實現(xiàn)畫面的刷新,達到動畫的顯示效果。

      2 運動學仿真及軌跡規(guī)劃

      為了實現(xiàn)機器人的運動學仿真,建立了正逆運動學模型。針對導入的機器人型號獲得相關的D-H參數(shù),利用連桿矩陣變換方法,得到機器人末端坐標系在基坐標系下的位姿矩陣。

      機器人連續(xù)軌跡的離線編程利用機器人的逆解和軌跡規(guī)劃算法實現(xiàn)。首先對末端連續(xù)軌跡進行離散得到各個離散點的位姿矩陣,之后代入逆解程序,求得各個離散點處機器人各關節(jié)的轉(zhuǎn)角,同時要進行越限判斷和能量最優(yōu)軌跡的優(yōu)化。

      為實現(xiàn)機器人各連桿的變化顯示,首先設置好glMatrixMode(GL_MODELVIEW),再利用 OpenGL的幾何變換函數(shù) glTranslatef()、glRotatef()、glScalef()實現(xiàn)程序算法對機器人的控制。本文實現(xiàn)的機器人直線軌跡規(guī)劃和圓弧軌跡規(guī)劃示意圖如圖2和圖3所示。

      圖2 機器人連續(xù)直線軌跡規(guī)劃

      3 上位機與機器人控制器的數(shù)據(jù)通訊

      上位機與機器人控制器通訊的實現(xiàn)通常需要用到總線數(shù)據(jù)交換協(xié)議,文獻[5]提供了一種通過EXCOM協(xié)議訪問機器人控制器數(shù)據(jù)庫的方法及兩者之間的數(shù)據(jù)傳輸方式和消息格式。

      圖3 機器人圓弧軌跡規(guī)劃

      本文采用串行通信連接器RS232連接PC機和機器人的控制器COM1口,在PC端利用VC6.0提供的MSComm控件,通過該串行端口發(fā)送和接收數(shù)據(jù),為人機交互應用程序提供串行通信功能[6]。

      串行通信要求兩端的傳輸速度、數(shù)據(jù)位長、停止位和奇偶校驗方式必須一致,可通過在機器人控制器端設置相應參數(shù),同時在VC中調(diào)用串口初始化程序:

      查閱ABB工業(yè)機器人控制器的相關資料,獲得機器人各關節(jié)軸絕對編碼器數(shù)據(jù)的網(wǎng)絡號、節(jié)點號和相應的I/O控制端口節(jié)點號,編制數(shù)據(jù)通訊發(fā)送和接收程序,實現(xiàn)上位機對機器人控制器的控制。

      4 末端位置測量及精度分析模塊

      通過串口通訊實現(xiàn)上位機與測量裝置的數(shù)據(jù)通訊,將測量裝置的測量數(shù)據(jù)實時傳送到上位機軟件中,達到動態(tài)監(jiān)測機器人運動的目標。之后利用精度分析模塊對機器人目標軌跡和實際軌跡之間的誤差進行在線分析,以便快速了解機器人的運動精度,同時為機器人誤差參數(shù)辨識及末端位姿誤差補償做準備。本文得到的精度分析示意圖如圖4所示。通過調(diào)用精度分析模塊,能夠?qū)崟r地顯示機器人末端位置和姿態(tài)誤差。

      圖4 機器人末端位置和姿態(tài)誤差

      5 坐標系的標定及誤差參數(shù)辨識

      為了提高機器人的絕對定位精度,需要測量機器人在某些姿態(tài)下的末端位姿。而測量裝置測量得到的位姿數(shù)據(jù)需要轉(zhuǎn)換為相對于機器人基坐標系下的坐標數(shù)據(jù),因此涉及到機器人基坐標系和測量坐標系的轉(zhuǎn)換關系計算,即機器人基坐標系標定。同時標定實驗需要一個標定塊放置在機器人末端上,此時需要考慮工具坐標系的標定。通過選擇相應的標定方法,編制對應的標定計算程序,利用上位機與測量裝置的數(shù)據(jù)通訊,即可快速實現(xiàn)機器人基坐標系和工具坐標系的標定,其標定示意圖如圖5和圖6所示。

      圖5 機器人基坐標系標定

      在圖5和圖6中,Tbc、Tte分別表示機器人基坐標系和測量坐標系之間、機器人工具坐標系和末端坐標系之間的轉(zhuǎn)換矩陣。

      圖6 機器人工具坐標系標定

      在準確得到基坐標系與測量坐標系、工具坐標系和末端坐標系的轉(zhuǎn)換關系后,通過選擇合適的誤差模型、參數(shù)辨識方法和末端位姿誤差補償方法,使用編寫的程序能夠快速計算機器人的幾何參數(shù)誤差和誤差補償轉(zhuǎn)角,實現(xiàn)機器人運動學的快速標定。機器人幾何參數(shù)辨識和誤差補償模塊示意圖如圖7和圖8所示。

      圖7 機器人幾何參數(shù)誤差辨識

      圖8 機器人誤差補償轉(zhuǎn)角求解

      6 機器人運動控制及標定整體界面

      采用 OpenGL和 MFC,在 VC6.0平臺上開發(fā)的對話框界面如圖9所示。

      圖9 RobotCAL整體界面

      從圖9可以看出,整個界面還能夠進行機器人流程管理,能實時顯示系統(tǒng)信息,標記機器人標定的完成情況,同時能夠在線實時監(jiān)測機器人和測量儀的工作情況。為了更好地體現(xiàn)對機器人的控制,增加了點位控制模塊,能夠?qū)崿F(xiàn)對關節(jié)軌跡的控制和一鍵回零操作。

      7 結(jié)束語

      本文利用OpenGL和MFC在VC6.0平臺上開發(fā)了用于工業(yè)串聯(lián)機器人的運動控制和快速標定軟件界面。針對選擇的機器人型號,能夠?qū)崟r顯示機器人的3D模型、各D-H參數(shù)和轉(zhuǎn)角范圍,運動學仿真模塊利用D-H參數(shù)和連桿變換矩陣計算機器人的正逆運動學模型,利用直線和圓弧的軌跡規(guī)劃算法,實現(xiàn)了機器人連續(xù)直線、圓弧的運動仿真,利用串口通訊實現(xiàn)上位機分別和測量裝置、機器人的通訊?;跍y量裝置的測量數(shù)據(jù),根據(jù)編寫的程序能夠快速完成機器人基坐標系和工具坐標系的標定,同時能夠?qū)崿F(xiàn)對機器人精度性能分析的實時顯示。通過選擇合適的誤差模型、參數(shù)辨識、誤差補償及機器人要求達到的精度,能夠快速完成機器人的參數(shù)辨識和誤差補償。

      [1] Cheng F S.The method of recovering robot TCP positions in industrial robot application programs[C]//Proceedings of the 2007 IEEE International Conference on Mechatronics and Automatioin.Harbin:IEEE Press,2007:805 -810.

      [2] 王志堅,陳松喬,蔡自興,等.ABB工業(yè)控制系統(tǒng)與外部計算機通訊軟件設計[J].微計算機信息,1998,14(2):54 -57.

      [3] 邱長伍,曹其新,長孫郁男,等.機器人圖形化編程與三維仿真環(huán)境[J].機器人,2005,27(5):436 -440.

      [4] 曹自洋,郝礦榮,翟雪琴.基于OpenGL的DELTA并聯(lián)機器人實時動態(tài)仿真[J].計算機仿真,2004,21(3):74 -77.

      [5] 欒軼佳,趙英凱,俞輝,等.用VC++實現(xiàn)ABB工業(yè)控制系統(tǒng)與上位機的通信[J].自動化儀表,2006,27(10):58 -66.

      [6] 李現(xiàn)勇.Visual C++串口通信技術與工程實踐[M].北京:人民郵電出版社,2002.

      猜你喜歡
      上位標定坐標系
      使用朗仁H6 Pro標定北汽紳寶轉(zhuǎn)向角傳感器
      特斯拉 風云之老阿姨上位
      車迷(2018年12期)2018-07-26 00:42:22
      解密坐標系中的平移變換
      坐標系背后的故事
      基于勻速率26位置法的iIMU-FSAS光纖陀螺儀標定
      基于重心坐標系的平面幾何證明的探討
      “三扶”齊上位 決戰(zhàn)必打贏
      基于ZigBee和VC上位機的教室智能監(jiān)測管理系統(tǒng)
      船載高精度星敏感器安裝角的標定
      以新思路促推現(xiàn)代農(nóng)業(yè)上位
      學習月刊(2015年3期)2015-07-09 03:51:04
      临猗县| 巴彦淖尔市| 林口县| 响水县| 龙陵县| 白水县| 阿图什市| 连州市| 郓城县| 佛坪县| 甘南县| 峡江县| 息烽县| 玉树县| 原平市| 儋州市| 梨树县| 南昌县| 仁化县| 綦江县| 岐山县| 康马县| 离岛区| 静宁县| 聂拉木县| 新乐市| 广平县| 外汇| 阿合奇县| 高淳县| 准格尔旗| 平定县| 峨山| 阳新县| 昆山市| 广宗县| 加查县| 湖南省| 蛟河市| 临潭县| 社旗县|