工業(yè)機(jī)器人標(biāo)定
工業(yè)機(jī)器人標(biāo)定,工業(yè),機(jī)器人,標(biāo)定
六自由度工業(yè)機(jī)器人標(biāo)定 蔣濤
揚(yáng)州大學(xué)廣陵學(xué)院
本科生畢業(yè)設(shè)計
畢業(yè)設(shè)計題目 工業(yè)機(jī)器人標(biāo)定
學(xué) 生 姓 名 蔣濤
專 業(yè)機(jī)械設(shè)計制造及其自動化
班 級 機(jī)械81001
指 導(dǎo) 教 師 李鷺揚(yáng)
完 成 日 期 2014年05月30日
摘 要
運(yùn)動學(xué)標(biāo)定是提高機(jī)器人精度的關(guān)鍵技術(shù),也是機(jī)器人學(xué)的重要內(nèi)容,在機(jī)器人空前發(fā)展的今天有十分重要的理論和現(xiàn)實意義。機(jī)器人運(yùn)動學(xué)標(biāo)定以運(yùn)動學(xué)建模為基礎(chǔ),幾何誤差參數(shù)辨識為目的,為機(jī)器人的誤差補(bǔ)償提供依據(jù)。
現(xiàn)今機(jī)器人廠家生產(chǎn)的機(jī)器人其重復(fù)定位精度比較高,而絕對定位精度卻很低。伴隨著機(jī)器人越來越廣泛的運(yùn)用,提高機(jī)器人絕對定位精度已成為其中一關(guān)鍵技術(shù)問題。本文采用一種運(yùn)動學(xué)標(biāo)定方法,應(yīng)用先進(jìn)的激光跟蹤測量系統(tǒng)和基于模型的參數(shù)辨識方法識別出一種 6R機(jī)器人模型的準(zhǔn)確參數(shù),提高了該機(jī)器人的絕對定位精度。
針對工業(yè)機(jī)器人標(biāo)定問題,首先結(jié)合機(jī)器人的實際機(jī)構(gòu)特點(diǎn),運(yùn)用 D-H 方法建立了機(jī)器人的連桿坐標(biāo)系,在此基礎(chǔ)上進(jìn)行了機(jī)器人運(yùn)動學(xué)正逆解和雅可比矩陣的詳細(xì)推導(dǎo)及求解,并運(yùn)用 Matlab 語言進(jìn)行運(yùn)動學(xué)模型的編程求解,通過與機(jī)器人控制器中位姿數(shù)據(jù)對比,驗證了所建立的連桿坐標(biāo)系統(tǒng)的正確性。 針對工業(yè)機(jī)器人的機(jī)構(gòu)特點(diǎn),分析了影響機(jī)器人末端絕對定位精度的誤差來源,采用修正的運(yùn)動學(xué)連桿參數(shù)模型,基于微分變換法推導(dǎo)了用于機(jī)器人標(biāo)定的誤差模型,并基于 Matlab 軟件系統(tǒng)編制了機(jī)器人運(yùn)動學(xué)誤差模型的最小二乘算法,通過對誤差模型進(jìn)行模擬求解,驗證了機(jī)器人標(biāo)定誤差模型的可行性。
關(guān)鍵詞:工業(yè)機(jī)器人; 運(yùn)動學(xué); 定位精度; 標(biāo)定; 誤差模型 ;連桿參數(shù)。
Abstract
運(yùn)動學(xué)標(biāo)定是機(jī)器人離線編程技術(shù)實用化的關(guān)鍵技術(shù)之一,也是機(jī)器人學(xué)的重要內(nèi)容,在機(jī)器人產(chǎn)業(yè)化的背景下有十分重要的理論和現(xiàn)實意義。機(jī)器人運(yùn)動學(xué)標(biāo)定以運(yùn)動學(xué)建模為基礎(chǔ),幾何誤差參數(shù)辨識為目的,為機(jī)器人的誤差補(bǔ)償提供依據(jù)。
Kinematic calibration is the key technology to improve the accuracy of robot, is also the important content of robotics, an unprecedented development in robot today have very important theoretical and practical significance. The robot kinematics calibration modeling based on kinematics, geometric error parameter identification for the purpose, to provide basis for error compensation of robot.
現(xiàn)今機(jī)器人廠家生產(chǎn)的機(jī)器人其重復(fù)定位精度比較高,而絕對定位精度卻很低。伴隨著機(jī)器人越來越廣泛的運(yùn)用,提高機(jī)器人絕對定位精度已成為其中一關(guān)鍵技術(shù)問題。本文采用一種運(yùn)動學(xué)標(biāo)定方法,應(yīng)用先進(jìn)的激光跟蹤測量系統(tǒng)和基于模型的參數(shù)辨識方法識別出一種 6R機(jī)器人模型的準(zhǔn)確參數(shù),提高了該機(jī)器人的絕對定位精度。
The robot manufacturers robot its repetitive positioning precision is higher, but the absolute positioning accuracy is very low. With the use of robots are more and more widely, improving the robot absolute positioning accuracy has become a key technology problem which. This paper uses a kinematic calibration method, the application of advanced laser tracking measurement system based on parameter identification method and identification model of accurate parameters of a 6R robot model, improves the accuracy of the robot absolute positioning.
針對工業(yè)機(jī)器人標(biāo)定問題,首先結(jié)合機(jī)器人的實際機(jī)構(gòu)特點(diǎn),運(yùn)用 D-H 方法建立了機(jī)器人的連桿坐標(biāo)系,在此基礎(chǔ)上進(jìn)行了機(jī)器人運(yùn)動學(xué)正逆解和雅可比矩陣的詳細(xì)推導(dǎo)及求解,并運(yùn)用 Matlab 語言進(jìn)行運(yùn)動學(xué)模型的編程求解,通過與機(jī)器人控制器中位姿數(shù)據(jù)對比,驗證了所建立的連桿坐標(biāo)系統(tǒng)的正確性。 針對工業(yè)機(jī)器人的機(jī)構(gòu)特點(diǎn),分析了影響機(jī)器人末端絕對定位精度的誤差來源,采用修正的運(yùn)動學(xué)連桿參數(shù)模型,基于微分變換法推導(dǎo)了用于機(jī)器人標(biāo)定的誤差模型,并基于 Matlab 軟件系統(tǒng)編制了機(jī)器人運(yùn)動學(xué)誤差模型的最小二乘算法,通過對誤差模型進(jìn)行模擬求解,驗證了機(jī)器人標(biāo)定誤差模型的可行性。
Aiming at the industrial robot calibration, the actual mechanism firstly with the robot, the robot is established by D-H method of pole coordinates, based on the detailed derivation and solution of robot kinematics and Jacobi matrix, programming and kinematics model using Matlab language, with the attitude data comparison of robot controller, verified the correctness of the established link coordinate system. According to the mechanism of industrial robot, analyzes the impact of absolute location error precision of the robot, the kinematics model, based on differential transform method is derived for the error model calibration of robots, and based on the Matlab software system of least square algorithm for robot kinematics error model, through the simulation to solve the error model, validation the feasibility of robot calibration error model.
關(guān)鍵詞:工業(yè)機(jī)器人; 運(yùn)動學(xué); 定位精度; 標(biāo)定; 誤差模型 ;連桿參數(shù)。
Keywords: industrial robot; kinematics; positioning accuracy; calibration; error model; link parameters.
目錄
摘 要 I
Abstract II
第一章 緒論 1
1.1引言 1
1.2工業(yè)機(jī)器人運(yùn)動學(xué)標(biāo)定技術(shù)的背景和意義 1
1.3機(jī)器人標(biāo)定技術(shù)的研究現(xiàn)狀 2
第二章 機(jī)器人運(yùn)動學(xué) 4
2.1 機(jī)器人運(yùn)動學(xué)模型的建立 4
2.2正向運(yùn)動學(xué)求解 7
2.3逆向運(yùn)動學(xué)求解 8
2.4 微分運(yùn)動學(xué)模型 11
2.5 本章小結(jié) 14
第三章 SR06 型機(jī)器人的標(biāo)定技術(shù) 15
3.1 標(biāo)定用運(yùn)動學(xué)模型的建立 15
3.1.1 直線的無極點(diǎn)表示法 16
3.1.2 CPC 模型的建立 17
3.2 機(jī)器人的標(biāo)定方法 20
3.2.1 幾何誤差的來源 20
3.2.2 連桿參數(shù)的線性求解方法 21
3.3 本章小結(jié) 25
第四章 標(biāo)定實驗及結(jié)論 27
4.1 原始數(shù)據(jù)采集 27
4.2 數(shù)據(jù)處理 29
4.2.1 齊次坐標(biāo)變換矩陣與繞任意軸的旋轉(zhuǎn)矩陣之間的關(guān)系 29
4.2.2 方程RA Rx= RxRb的求解 31
4.3 標(biāo)定結(jié)果 33
4.4 本章小結(jié) 34
第五章 總結(jié)與展望 35
致謝 36
參考文獻(xiàn) 37
附錄 41
II
第一章 緒論
1.1引言
工業(yè)機(jī)器人是一種具有自動控制的操作和移動功能,能夠完成各種作業(yè)的可編程操作機(jī)器,工業(yè)機(jī)器人一般是由機(jī)械執(zhí)行機(jī)構(gòu)、伺服驅(qū)動裝置、檢測傳感裝置和控制系統(tǒng)等部分組成。自從 1959 年美國發(fā)明家喬治·德沃爾和約瑟夫·英格伯格制造出世界上第一臺工業(yè)機(jī)器人以來,工業(yè)機(jī)器人作為機(jī)器人的一個主要分支,其五十多年來的發(fā)展歷程使得工業(yè)機(jī)器人技術(shù)及產(chǎn)品廣泛應(yīng)用于各類工業(yè)生產(chǎn)中。工業(yè)機(jī)器人技術(shù)及其產(chǎn)品和相關(guān)配套技術(shù)發(fā)展迅速,已經(jīng)成為自動化工廠(Factory Automation, FA)和柔性制造系統(tǒng)(Flexible Manufacturing System, FMS)實現(xiàn)自動化的重要工具。
工業(yè)機(jī)器人延伸了人的手足和大腦功能,可以代替人從事危險、有害、有毒、低溫和高熱等惡劣環(huán)境中的工作,代替人完成繁重、簡單重復(fù)的枯燥勞動,提高勞動生產(chǎn)率,保證產(chǎn)品的生產(chǎn)質(zhì)量。與計算機(jī)技術(shù)、網(wǎng)絡(luò)技術(shù)對世界的生活生產(chǎn)方式產(chǎn)生巨大改變類似,工業(yè)機(jī)器人在自動化生產(chǎn)線上的廣泛應(yīng)用正在逐漸對全世界的生產(chǎn)方式產(chǎn)生變革。
1.2工業(yè)機(jī)器人運(yùn)動學(xué)標(biāo)定技術(shù)的背景和意義
伴隨著工業(yè)自動化的需要和發(fā)展,工業(yè)機(jī)器人技術(shù)及產(chǎn)業(yè)規(guī)模都飛速發(fā)展起來。在工業(yè)生產(chǎn)中,弧焊機(jī)器人、點(diǎn)焊機(jī)器人、分配機(jī)器人、裝配機(jī)器人、噴漆機(jī)器人及搬運(yùn)機(jī)器人等工業(yè)機(jī)器人都已被大量采用。預(yù)計至2015年,中國工業(yè)機(jī)器人年銷售將達(dá)到3.5萬臺,工業(yè)機(jī)器人被廣泛應(yīng)用于汽車及汽車零部件制造業(yè)、機(jī)械加工行業(yè)、電子電氣行業(yè)、橡膠及塑料工業(yè)、食品工業(yè)、木材與家具制造業(yè)等領(lǐng)域中,尤其是汽車行業(yè)、機(jī)械制造業(yè)。 技術(shù)融合是機(jī)器人發(fā)展的主要趨勢。從近幾年世界機(jī)器人推出的產(chǎn)品來看,工業(yè)機(jī)器人技術(shù)正在向智能機(jī)器和智能系統(tǒng)的方向發(fā)展,其發(fā)展趨勢主要為結(jié)構(gòu)的模塊化和可重構(gòu)化,控制技術(shù)的開放化、PC化和網(wǎng)絡(luò)化,伺服驅(qū)動技術(shù)的數(shù)字化和分散化,多傳感器融合技術(shù)的實用化,工作環(huán)境設(shè)計的優(yōu)化和作業(yè)的柔性化,以及系統(tǒng)的網(wǎng)絡(luò)化和智能化等方面。機(jī)器人系統(tǒng)由硬件系統(tǒng)和軟件系統(tǒng)組成,在硬件系統(tǒng)條件一定的情況下,機(jī)器人實用功能的靈活性和智能程度在很大程度上取決于機(jī)器人的編程能力。機(jī)器人編程有在線編程(On-Line Programming)和離線編程(Off-Line Programming)
兩種形式。在機(jī)器人所要完成的作業(yè)不很復(fù)雜,以及示教時間相對工作時間比較短的情況下,在線示教編程是切實可行的。隨著企業(yè)對柔性加工要求的提高和計算機(jī)的發(fā)展,出現(xiàn)了機(jī)器人離線編程技術(shù)。機(jī)器人離線編程系統(tǒng)是機(jī)器人編程語言的推廣,它利用計算機(jī)圖形學(xué)的成果,建立機(jī)器人及其工作環(huán)境的模型,再利用一些規(guī)劃算法,通過對圖形的控制和操作,在不使用實際機(jī)器人的情況下進(jìn)行軌跡規(guī)劃,進(jìn)而產(chǎn)生機(jī)器人程序。離線編程系統(tǒng)中的仿真模型(理想模型)和實際機(jī)器人模型存在有誤差,產(chǎn)生誤差的因素主要有機(jī)器人本體、工作環(huán)境以及離線編程系統(tǒng)等因素。因此如何有效地消除誤差,提高機(jī)器人的精度成為離線編程系統(tǒng)實用化的關(guān)鍵技術(shù)之一。一般地,影響機(jī)器人精度的因素可以歸結(jié)為以下4類:
(1) 參數(shù)因素:機(jī)器人運(yùn)動學(xué)模型參數(shù),包括桿件長度、相鄰軸線的傾斜、關(guān)節(jié)的零位偏差等,機(jī)器人基礎(chǔ)坐標(biāo)系相對與參考坐標(biāo)系的坐標(biāo)轉(zhuǎn)換關(guān)系誤差等。
(2) 負(fù)載因素:機(jī)器人桿件彈性變形,齒輪傳動誤差,關(guān)節(jié)間隙等。
(3) 數(shù)字誤差:包括機(jī)器人關(guān)節(jié)碼盤讀數(shù)精度,機(jī)器人控制器的控制分辨能力,編程分辨能力,計算機(jī)舍入誤差等。
(4) 環(huán)境因索:溫度影響,濕度影響,電噪聲以及隨機(jī)誤差等。
對于不同結(jié)構(gòu)、不同用途的機(jī)器人,以上各因素的影響不盡相同,一般來講,在參數(shù)因素中幾何結(jié)構(gòu)參數(shù)偏差引起的誤差占機(jī)器人總誤差的80%左右。 結(jié)合機(jī)器人設(shè)計、加工、裝配、編程和控制,一般認(rèn)為提高機(jī)器人精度主要有兩種方法:
(1)誤差預(yù)防法。即減少誤差源,這種方法是通過改進(jìn)設(shè)計方法和制造工藝,最大限度地提高機(jī)器人零部件的設(shè)計、加工精度,以降低加工誤差;盡可能的提高裝配精度,以降低裝配過程造成的誤差;另外還有采用高性能控制器提高機(jī)器人的控制精度等。但是這種方法本身具有較大的局限性。該方法的實現(xiàn)需要高精度的加工技術(shù)與條件,價格昂貴,而且這種方法對于機(jī)器人機(jī)械磨損、元件性能降低以及構(gòu)件自身動態(tài)特性等因素帶來的誤差無能為力。
(2)誤差補(bǔ)償法,即運(yùn)動學(xué)標(biāo)定,所謂標(biāo)定就是應(yīng)用先進(jìn)的測量手段和基于模型的參數(shù)識別方法辨識出機(jī)器人模型的準(zhǔn)確參數(shù),通過采用附加控制算法或修改原控制算法來補(bǔ)償機(jī)器人誤差,從而提高機(jī)器人絕對精度的過程。該方法采用軟件方法提高機(jī)器人精度,由于誤差源與機(jī)器人誤差之間的函數(shù)規(guī)律復(fù)雜,該方法只能補(bǔ)償某些誤差源(主要是桿件幾何偏差和桿件靜態(tài)變形)引起的誤差。但是標(biāo)定仍然是機(jī)器人誤差補(bǔ)償?shù)牧己猛緩剑⑶揖哂谐杀镜偷膬?yōu)點(diǎn)。
機(jī)器人標(biāo)定在自動化制造、計算機(jī)集成制造裝配系統(tǒng)中起到非常重要的作用。機(jī)器人標(biāo)定不僅可以提高精度,而且可以大幅降低制造成本。下面為機(jī)器人運(yùn)動學(xué)標(biāo)定的典型應(yīng)用:
(1)離線編程和機(jī)器人任務(wù)仿真的基礎(chǔ)。機(jī)器人標(biāo)定在計算機(jī)集成制造(CIM)系統(tǒng)中的必要性已經(jīng)被廣泛接受。通過標(biāo)定,機(jī)器人作業(yè)可以不通過示教來編程,而通過仿真進(jìn)行離線編程,這樣可以大幅降低成本。為了使離線生成的程序能夠在機(jī)器人控制系統(tǒng)中有效執(zhí)行,真實模型和設(shè)計模型要良好匹配,否則,位姿誤差將會增大,使正常作業(yè)無法進(jìn)行。通常運(yùn)動學(xué)標(biāo)定可以將絕對精度提高10倍。
(2)機(jī)器人制造的評價手段。許多物理參數(shù)在機(jī)器人制造及裝配后無法直接測量,而標(biāo)定則是一種行之有效的間接測量方法。準(zhǔn)確測量一定數(shù)目的機(jī)器人位姿,就可以較為準(zhǔn)確地識別機(jī)器人的物理參數(shù)。
(3)機(jī)器人輔助手術(shù)中的應(yīng)用。Goswami、Kinzle以及Tull等把機(jī)器人系統(tǒng)應(yīng)用到手術(shù)中,以提高手術(shù)質(zhì)量。手術(shù)通常對絕對精度要求嚴(yán)格,故研究有效的補(bǔ)償方法以保證絕對精度非常必要。
1.3機(jī)器人標(biāo)定技術(shù)的研究現(xiàn)狀
在機(jī)器人應(yīng)用范圍擴(kuò)大、所完成任務(wù)的復(fù)雜程度提高的情況下,特別是在CAD/CAM/機(jī)器人/數(shù)控設(shè)備的一體化環(huán)境中,示教再現(xiàn)型機(jī)器人難以提供環(huán)境所要求的靈活性。機(jī)器人離線編程系統(tǒng)的迅速發(fā)展,成為解決實際生產(chǎn)問題的智能化手段。對于采用離線編程方式工作的機(jī)器人而言,機(jī)器人的絕對精度成為關(guān)鍵指標(biāo)。而一般來說絕對精度只有厘米數(shù)量級,精度較低。于是需要進(jìn)行機(jī)器人運(yùn)動學(xué)標(biāo)定的研究來提高機(jī)器人的絕對精度。機(jī)器人標(biāo)定的結(jié)果是一系列被識別的機(jī)器人參數(shù),這些參數(shù)可以提供給制造廠家作為產(chǎn)品質(zhì)量檢驗指標(biāo),也可以提供給用戶來提高機(jī)器人的絕對精度,是離線編程和機(jī)器人任務(wù)仿真的基礎(chǔ)。
在很多應(yīng)用場合,機(jī)器人負(fù)載較小,此時造成位姿誤差的主要原因在于機(jī)器人控制器中的機(jī)器人理論運(yùn)動學(xué)模型與機(jī)器人的實際物理模型之間存在的微小偏差,這個偏差主要是在機(jī)器人的制造及安裝過程中產(chǎn)生的。
機(jī)器人運(yùn)動學(xué)標(biāo)定是離線編程技術(shù)實用化的關(guān)鍵技術(shù)之一,它是一個集運(yùn)動學(xué)建模以及運(yùn)動學(xué)參數(shù)辨識于一體的過程。機(jī)器人運(yùn)動學(xué)標(biāo)定根據(jù)標(biāo)定方法的不同可以分成以下兩類:基于運(yùn)動學(xué)模型的參數(shù)標(biāo)定以及基于神經(jīng)網(wǎng)絡(luò)的參數(shù)標(biāo)定。本文主要討論基于運(yùn)動學(xué)模型的參數(shù)標(biāo)定方法,它一般包括四個步驟:
(1) 建立準(zhǔn)確的運(yùn)動學(xué)模型;
(2) 用已知精度的測量裝置測量出機(jī)器人末端操作器的位姿;
(3) 引入算法辨識幾何參數(shù);
(4) 對原有機(jī)器人運(yùn)動學(xué)模型進(jìn)行修正。其中,選擇合適的運(yùn)動學(xué)模型和測量方法是標(biāo)定的基礎(chǔ),辨識出幾何參數(shù)的真實值并校正是標(biāo)定的目的。
第二章 機(jī)器人運(yùn)動學(xué)
2.1 機(jī)器人運(yùn)動學(xué)模型的建立
SR06型機(jī)器人是一臺串聯(lián) 6 自由度的旋轉(zhuǎn)機(jī)器人,其控制柜中內(nèi)建的運(yùn)動模型為 D-H 模型,該模型是由 Denavit 和 Hartenberg 兩人在 1956 年提出的一種方法,以列表的形式完成變換矩陣 A 的填寫,使用起來十分簡便,因此獲得了廣泛應(yīng)用。
在建立機(jī)器人運(yùn)動學(xué)模型之前先要對各個關(guān)節(jié)和連桿進(jìn)行編號:基座為桿 0,從基座起依次向上為桿 1、桿 2……;關(guān)節(jié) i 連接桿 i-1 和 i,即桿 i 離基座近的一端(簡稱近端)有關(guān)節(jié) i,而離基座遠(yuǎn)的一端(簡稱遠(yuǎn)端)有關(guān)節(jié) i+1。
D-H 方法嚴(yán)格定義了桿件坐標(biāo)系,遵循的基本原則如下:
第一步:確定各坐標(biāo)系的z軸。
基本原則是:選取Zi軸沿關(guān)節(jié) i+1 的軸向(指向可以任選,但通常都將各平行的 z 軸均取為相同的指向)。這里需要說明的是:
1. 當(dāng)關(guān)節(jié) i+1 是移動關(guān)節(jié)時,其軸線指向已知,但位置不確定,這時選取 Zi軸與 Zi+1軸相交(若還有移動關(guān)節(jié) i+2,則取 Zi軸和Zi+1軸都與Zi+2軸相交)。
2. 機(jī)器人桿 n 遠(yuǎn)端沒有關(guān)節(jié) n+1,這時可選取 Zn軸與Zn-1軸重合。
第二步:確定各坐標(biāo)系的原點(diǎn)。
基本原則是:選取原點(diǎn) Oi在過Zi-1軸與Zi軸的公法線上(即 Oi為此公法線與Zi軸的交點(diǎn))。這里需要說明的是:
1. 當(dāng)Zi-1軸與Zi軸平行時,經(jīng)過兩軸的公法線不唯一。確定方法是:若Zi-1軸與Zi軸重合,取 Oi=Oi-1,若Zi-1軸與Zi軸平行且不重合,過 Oi-1點(diǎn)作Zi-1軸和Zi軸的公法線,取此公法線與Zi軸的交點(diǎn)為 Oi。
2. 由于沒有Zi-1軸,故無法按上述基本原則選取 O0,這時確定 O0的方法是:若Z0與Z1相交時,取 O0= O1,若Z0與Z1不相交時,O0在Z0與Z1的公法線上。
第三步:確定坐標(biāo)系的X軸。
基本原則是選取Xi軸沿過Zi-1軸和Zi軸的公法線,方向從Zi-1軸指向Zi軸。
這里要說明的是:
1.當(dāng)Zi-1軸與Zi軸重合時,(這時 Oi=Oi-1)選取Xi軸滿足在初始條件位置時,Xi軸與Xi-1軸重合。
2.當(dāng)Zi-1軸與Zi軸相交且不重合時,選擇Xi =±(Zi-1×Zi,通常使所有平行的X軸均有相同的指向。
3.當(dāng) i=0 時,由上所述知,這時 O0=0,或 O0在Z0軸與 Z1軸的公法線上,選取在初始位置時 X0軸與 X1軸重合。
第四步:確定各坐標(biāo)系的 y 軸
基本原則是:使yi= zi×xi,即構(gòu)成右手坐標(biāo)系。
這樣,便能建立起如圖 2-1 所示的坐標(biāo)系分布。
圖2-1 D-H模型坐標(biāo)系分布示意圖
一旦對全部連桿規(guī)定坐標(biāo)系之后,就能夠確定用于指示系 i-1 和系 i 間相對位置和方位的 4 個參數(shù)。
桿件長度 ai:定義為從 zi-1軸到 zi軸的距離。沿 xi軸指向為正。
桿件扭角αi :定義為從 zi-1軸到 zi軸的轉(zhuǎn)角。繞 xi軸正向轉(zhuǎn)動為正,且規(guī)定αi ∈[ ?π,π)。
關(guān)節(jié)距離 di: 定義為從 xi-1軸到 xi軸的距離。沿 zi-1軸指向為正。
關(guān)節(jié)轉(zhuǎn)角θi :定義為從 xi-1軸到 xi軸的轉(zhuǎn)角。繞 zi-1軸正向轉(zhuǎn)向為正,且規(guī)定θi ∈[ ?π,π)。
參數(shù) ai,αi ,di和θi 的意義如圖 2-2。這些參數(shù)被稱為 D-H 參數(shù),又常被稱為機(jī)器人運(yùn)動參數(shù)或幾何參數(shù)。這里要說明的是:
1. 桿 i 的兩端分別有 zi-1軸和 zi軸,ai和αi 分別描述了從 zi-1軸到 zi軸的距離和轉(zhuǎn)角,關(guān)節(jié)轉(zhuǎn)角i的軸向 zi-1是xi-1 軸和xi 軸的公法線;di和θi 分別描述了從xi-1軸到xi 軸的距離和轉(zhuǎn)角。
2. ai和αi 由桿的結(jié)構(gòu)確定,是常數(shù)。而 di和θi 與關(guān)節(jié)i的類型有關(guān),其中一個是常數(shù),另一個是變量。當(dāng)關(guān)節(jié)i是轉(zhuǎn)動關(guān)節(jié)時,di是常數(shù),θi 是變量;當(dāng)關(guān)節(jié)i是移動關(guān)節(jié)時,di是變量,θi 是常數(shù)。
圖 2-2 D-H 模型參數(shù)示意圖
所以,機(jī)器人的每個桿件都有4個參數(shù)ai,αi ,di和θi 。它們決定了機(jī)器人手臂每一個桿件的運(yùn)動學(xué)形態(tài)。由此可以確定聯(lián)系i-1坐標(biāo)系和i坐標(biāo)系之間的齊次變換矩陣,即從i-1坐標(biāo)系變換到i坐標(biāo)系,只需完成下述變換:
1. 沿zi-1 軸平移距離di,使xi-1 軸和xi 軸相交;
2. 將xi-1 軸繞zi-1 軸轉(zhuǎn)θi 角,使它同xi 軸對準(zhǔn);
3. 沿xi 軸移動距離ai,使i坐標(biāo)系和i-1坐標(biāo)系的原點(diǎn)及x軸重合;
4. 繞xi 軸轉(zhuǎn)αi 角,使i坐標(biāo)系和i-1坐標(biāo)系完全重合。
表 2-1 D-H 模型連桿參數(shù)名義值
序號
αi (°)
di(mm)
ai(mm)
θi (°)
1
0
0
0
0
2
-90
0
180
-90
3
0
54
635
0
4
-90
515.7
0
0
5
90
0
0
180
6
-90
0
0
0
將這四步過程用基本的齊次轉(zhuǎn)動和齊次平移矩陣表示并連乘,可得相鄰坐標(biāo)系i-1和i之間的合成齊次變換矩陣Aii-1,即
Aii-1=Transz(di)Rotz(θi)Transz(ai)Rotz(αi)
=
= (2-1)
由上式,要充分表示相鄰連桿坐標(biāo)系之間的位置關(guān)系,每個連桿至少由 4 個參數(shù)進(jìn)行描述,其中連桿長度和扭角描述連桿本身,另外兩個描述連桿和相鄰連桿的連接關(guān)系。對于 6 自由度機(jī)器人,用 18 個參數(shù)可完全描述它的運(yùn)動學(xué)的固定參數(shù)部分,而其它 6 個關(guān)節(jié)變量則是機(jī)器人運(yùn)動方程中的變量部分。本文所研究的機(jī)器人各關(guān)節(jié)均為轉(zhuǎn)動關(guān)節(jié),故θ1 到θ6 為關(guān)節(jié)變量。
2.2正向運(yùn)動學(xué)求解
當(dāng)機(jī)器人的結(jié)構(gòu)參數(shù)已確定,并給出各個關(guān)節(jié)角度,就可以計算機(jī)器人末端執(zhí)行器在基坐標(biāo)系中所處的位置和姿態(tài),這就是求解機(jī)器人運(yùn)動學(xué)的正問題。 對于 SR06 型機(jī)器人,在根據(jù) D-H 原則建立起坐標(biāo)系之后,就可以根據(jù)式(2-1)得到 6 個轉(zhuǎn)換矩陣:
A1= , A2=
A3=, A4=
A5=, A6=
令
T=A1A2A3A4A5A6 (2-2)
則 T 表示了機(jī)器人末端法蘭盤坐標(biāo)系相對于機(jī)器人基坐標(biāo)系的位置與姿態(tài),所以T 矩陣就是機(jī)器人正向運(yùn)動學(xué)的解。
需要注意的是,為了增強(qiáng)機(jī)械強(qiáng)度,SR06 型機(jī)器人包含有一個四桿機(jī)構(gòu)在內(nèi)的閉環(huán)結(jié)構(gòu),這將導(dǎo)致z2 軸與z1 軸的聯(lián)動現(xiàn)象。一旦z1 軸相對零位發(fā)生旋轉(zhuǎn),即使沒有令z2 軸單獨(dú)轉(zhuǎn)動,此時z2 軸也會發(fā)生旋轉(zhuǎn),所以在計算時要考慮到這種影響,即從第三根軸的轉(zhuǎn)角中減去第二根軸的轉(zhuǎn)角。反過來的情況卻不同,z2 軸的轉(zhuǎn)動不會給z1 軸產(chǎn)生任何影響。
正向運(yùn)動學(xué)求解:
圖 2-3 顯示了機(jī)器人正向運(yùn)動學(xué)求解的計算結(jié)果。
2.3逆向運(yùn)動學(xué)求解
當(dāng)機(jī)器人末端執(zhí)行器的位置和姿態(tài)給定時,去求解相應(yīng)的關(guān)節(jié)轉(zhuǎn)角是逆向運(yùn)動學(xué)問題。由于求解逆問題的非線性方程組不一定總有封閉解、可能存在多個解、解與機(jī)器人實際結(jié)構(gòu)相違背等可能,使得求解起來較為復(fù)雜。
根據(jù)機(jī)器人運(yùn)動學(xué)理論,如果一臺 6 自由度機(jī)器人的 3 個連續(xù)關(guān)節(jié)的軸線相交于一點(diǎn),那么該機(jī)器人就有逆向運(yùn)動的封閉解。對于 SR06 型機(jī)器人,它的第 4、5、6 關(guān)節(jié)軸線相交于一點(diǎn),因此就可以運(yùn)用代數(shù)法得到封閉解。
在這里采用遞推逆變換法求解一組非線性超越方程組。將一組逆矩陣A-11,A-12,A-13 …連續(xù)左乘式(2-2)兩端,可得到若干矩陣方程,每個矩陣有 12 個方程式,在這些關(guān)系式中可選擇只包含一個或不多于兩個待求運(yùn)動參數(shù)的關(guān)系式。然后遞推求解,一般遞推過程不一定全部作完,就可利用等式兩端矩陣中所包含對應(yīng)元素相等的關(guān)系式,求得所需的全部待求運(yùn)動參數(shù)。
設(shè)
T= (2-3)
則 T 中 12 個有效元素為:
nx=c1[s23(s4s6-c4c5c6)-c23s5c6]-s1(s4c5c6+c4s6)
ny=s1[s23(s4s6-c4c5c6)-c23s5c6]+c1(s4c5c6+c4s6)
nz=-c23(c4c5c6-s4s6)+s23s5c6
Ox=c1[s23(c4c5s6+s4c6)+c23s5s6]+s1(s4c5c6-c4c6)
Oy=s1[s23(c4c5s6+s4c6)+c23s5s6]-c1(s4c5s6-c4c6)
Oz=c23(c4c5s6+s4c6)-s23s5s6
ax=-c1(c4s23s5+c23c5)-s1s4s5
ay=-s1(c4s23s5-c23c5)+c1s4s5
az=-c4c23s5-s23c5
Px=-c1[d6(c4s23s5-c23c5)-d4c23-a3s23-a2s2-a1]-s1s4s5d6
Py=-s1[d6(c4s23s5-c23c5)-d4c23-a3s23-a2s2-a1]+c1s4s5d6
pz=d6(-c4c23s5-s23c5)-d4s23+a3c23+a2c2+d1
其中,
si = sinθi,ci = cosθi,s23= sin(θ2 +θ3),c23 = cos(θ2 +θ3)
將式(2-2)做簡單變換,得到
A -12A-11T61A-16=A3A4A5 (2-4)
令該式左右兩邊的(3,4)元素相等,化簡得到 s1(axd6-px)=c1(ayd6-py),當(dāng)cos θ ≠0,即 θ ≠ kπ +π/2(k 為整數(shù))時,有tanθ1=由此可求得θ1=arctan()。
令式(2-4)兩邊的(1,4)和(2,4)對應(yīng)元素分別相等,得
-s3d4+a3c3=-d6[c2(c1ax+s1ay)-s2az]+c2(c1px+s1py-a1)-s2(pz-d1)-a2 (2-5)
C3d4+a3s3=-d6[-s2(c1ax+s1ay)-c2az]-s2(c1px+s1py-a1)-s2(pz-d1) (2-6)
先將式(2-5)中右邊的? a2項移到左邊,再將該方程組兩邊平方相加,得:
左邊=d24+a23+a22-2d4a2s3+2a3a2s3
右邊=-2d6[f1f2+f3az]+d26[f21+azz]+f22+f33
這里f1=c1ax+s1ay ,f2=c1px+s1py-a1 ,f3=pz-d1
左式=右式,那么
2d4a2s3-2a3a2c3=d24+a23+a22+2d6[f1f2+f3az]-d26[f21+a2z]-f22-f23 ,
再令p1 = 2 d4a2,p2 = ?2 a3a2,
P3=d24+a23+a22+2d6[f1f2+f3az]-d26[f21+a2z]-f22-f23
經(jīng)過三角變換可以的得到
θ3=arctan()-arctan(),上姿態(tài)時取正號,下姿態(tài)時取負(fù)號。
令g1=d6( c1ax+s1ay)-c1px-s1py+a1 ,g2=d6az-pz+d1 ,g3 = c3d4+a3s3 ,那么式(2-6)可以寫成s2g1+c2g2=g3,經(jīng)過三角變換,得到
θ2=arctan()-arctan(),上姿態(tài)時取正號,下姿態(tài)時取負(fù)號。 令式(2-4)兩邊(1,3)和(2,3)元素分別對應(yīng)相等,有
C3c4s5+s3c5=c2(c1ax+s1ay)-s2az (2-7)
S3c4s5-c3c5=-s2(c1ax+s1ay)-c2az (2-8)
式(2-7)x s3-式(2-8)x c3 ,整理后得:
C5=s32(c1ax+s1ay)+c32az ,代入θ1 、θ2 、θ3 ,即可求得θ5 。
令式(2-4)兩邊的(3,3)元素相等,得-s4s5=-s1ax+c1ay ,代入θ5 即可求得θ4 。令式(2-4)兩邊的(3,2)元素相等,得C4 = s6[?s1nx+c1ny]+c6[?s1ox+c1oy],做三角變換,并代入θ1 、θ4 ,可以求得θ6 。
按照上述方法求解關(guān)節(jié)變量時,都存在多解的問題,這時可根據(jù) robtarget 數(shù)據(jù)類型的 robconf 來確定到底取哪個解。另外,當(dāng)末端執(zhí)行器由前一個點(diǎn)位向后一個點(diǎn)位運(yùn)動時,達(dá)到后一點(diǎn)位的位姿有多解時,可選擇最“接近”前一點(diǎn)位的解,即選擇關(guān)節(jié)變量解最靠近前一點(diǎn)的關(guān)節(jié)變量值。
需要指出的是,SR06型機(jī)器人的姿態(tài)并不是用 3×3 的旋轉(zhuǎn)矩陣表示的,而是用一個四維向量q來表示的,它們之間的關(guān)系為:
q1= ,
q2= , signq2=sign(oz-ay),
q3= , signq3=sign(ax-nz),
q4= ,signq4=sign(ny-ox).
所以在求逆向解時要先將此四維向量轉(zhuǎn)換成旋轉(zhuǎn)矩陣。
運(yùn)動學(xué)逆解:
圖2-4 顯示了機(jī)器人逆向運(yùn)動學(xué)求解的計算結(jié)果。
2.4 微分運(yùn)動學(xué)模型
機(jī)器人的微分運(yùn)動是指當(dāng)關(guān)節(jié)坐標(biāo)變量(包括關(guān)節(jié)變量和連桿參數(shù))產(chǎn)生微小變化而引起臂端(手部)位姿的某一微小變化。
設(shè)機(jī)器人運(yùn)動鏈中某一桿件對于固定坐標(biāo)系的位姿為 T,經(jīng)過微運(yùn)動后該桿件對固定系的位姿變?yōu)?T+dT,若這個微運(yùn)動是相對于固定系進(jìn)行的,總可以用微小的平移和旋轉(zhuǎn)來表示,即
T + dT=Trans( dx,dy,dz)Rot(k,dθ)T
dT = Trans(dx,dy,dz)Rot(k,dθ)T?T= [Trans(dx,dy,dz)Rot(k ,dθ)?I]T (2-9) 根據(jù)齊次變換的相對性,求微分運(yùn)動是對于某個桿系 i 進(jìn)行的,則 T+dT 可以表示為:
T + dT=TTrans( dx,dy,dz)Rot(k,dθ)
dT=TTrans(dx,dy,dz)Rot(k,dθ)?T= T[Trans (dx,dy,dz)Rot(k,dθ)?I] (2-10) 其中 Δ=Trans ( dx,dy,dz)Rot(k ,dθ)?I稱為微分變換矩陣。
于是,式(2-9)變?yōu)閐T =Δ0T,式(2-10)變?yōu)閐T = TΔi,此處 Δ 的下標(biāo)不同是相對不同的坐標(biāo)系,若變換 T 是若干變量qi (i=1,2,…,n)的函數(shù),則
dT= (2-11) 微分平移與一般平移變換一樣,其變換矩陣為:
Trans(dx ,dy ,dz )= (2-12)
從幾何意義上講,旋轉(zhuǎn)矩陣可以表示為遵循右手法則繞軸K=做θ角的旋轉(zhuǎn),展開后如式(2-13)所示:
Rot(k,θ)= (2-13)
這里 versθ=1?cosθ,常稱為正矢。那么微分旋轉(zhuǎn)可以由一般旋轉(zhuǎn)變換式求出:當(dāng)θ→0時,sinθ→dθ,cosθ→1,versθ→0,因此可求得:
Rot(k,dθ)= (2-14)
因此
Δ=Trans(dx,dy,dz)Rot(k,dθ)-I= (2-15)
Δ中的微分旋轉(zhuǎn)子矩陣是繞一般轉(zhuǎn)軸 k 轉(zhuǎn)動一個微量角dθ,可以用繞 x、y、z 軸轉(zhuǎn)動微量角 δx、δy、δz 來代替 Rot( k ,dθ)。在齊次變換中,矩陣左乘與右乘不同,但在微分旋轉(zhuǎn)中,繞三個軸作微分旋轉(zhuǎn)的變換結(jié)果與旋轉(zhuǎn)順序是無關(guān)的,而且,任意兩個微分旋轉(zhuǎn)的結(jié)果為繞每個軸轉(zhuǎn)動的元素的代數(shù)和,即微分旋轉(zhuǎn)可相加.
令 δx =kxdθ, δy= kydθ, δz= kzdθ則等效微分矩陣為
Δ= (2-16)
因此Δ可看成由δ和d兩個矢量組成,δ叫微分旋轉(zhuǎn)矢量,d叫微分平移矢量,分別表示為:δ =δxi +δyj+δzk, d = dxi +dyj+dzk,δ 和 d 合稱為微分運(yùn)動矢量,可表示為D =[ dx ,dy,dz,δx,δy,δz]T。
實際應(yīng)用中往往需要求兩個坐標(biāo)系 i 和 j 之間的微分運(yùn)動關(guān)系,即Δi與Δj之間的關(guān)系。假設(shè) j 系就是固定系即 0 系,由式和可得Δ0T=TΔi,由此可得
Δi=T-1Δ0T (2-17)
亦即
= (2-18)
將對應(yīng)元素相等可得
dxi=n[(δx p)+d]
dyi=o[(δx p)+d]
dzi=a[(δx p)+d] ,此式的矩陣表示形式為
δxi=nδ
δyi=oδ
δzi=aδ
= (2-19)
這個公式表示了相對于固定坐標(biāo)系的微分旋轉(zhuǎn)與平移矢量δ和d與相對于i坐標(biāo)系的δi和di的關(guān)系,由此可由一個系的微分運(yùn)動求出另一系的微分運(yùn)動。 假設(shè)只有第一個變換矩陣的連桿參數(shù)存在偏差,而其它的參數(shù)全為名義值,當(dāng) θ =[144.5,13.5,25.9,79.8,-59.0,126.8 ]時,觀察此時機(jī)器人的定位誤差。由于
=, =,
=, =,
根據(jù)式(2-11)可以得到
dA1= (2-20)
又因為
dA=AδA (2-21)
所以
δA1=dA1=(2-22)
對照式(2-16),得到微分運(yùn)動矢量el為:
el=== (2-23)
這樣便建立了在第一個連桿坐標(biāo)系下的微分運(yùn)動與機(jī)器人幾何參數(shù)偏差之間的數(shù)學(xué)模型。為了將微分運(yùn)動與末端法蘭盤坐標(biāo)系聯(lián)系起來,還要用到式(2-19),這時用到的變換矩陣為T=A2A3A4A5A6 。隨機(jī)抽取一組偏差向量Δx =[-0.9,0.004,0.8,0.01 ]T,經(jīng)過計算,發(fā)現(xiàn)此時在末端坐標(biāo)系產(chǎn)生的定位誤差為Δp =[0.221,0.7621,0.0941]T。
由此可見,連桿參數(shù)的微小偏差會給機(jī)器人絕對定位精度帶來不容忽視的影響。
2.5 本章小結(jié)
為了研究機(jī)器人的運(yùn)動學(xué)問題,本章首先建立了廣泛應(yīng)用的 D-H 模型,這也正是 SR06型機(jī)器人使用的模型。在此基礎(chǔ)之上,編寫了正向運(yùn)動學(xué)求解的函數(shù),即當(dāng)各根軸的轉(zhuǎn)角已知時就能確定末端法蘭盤坐標(biāo)系相對于機(jī)器人基坐標(biāo)系的位置和姿態(tài)。接著,還比較詳細(xì)地推導(dǎo)了逆向問題的求解過程,編寫了逆向運(yùn)動學(xué)求解的函數(shù),即當(dāng)末端法蘭盤坐標(biāo)系相對于機(jī)器人基坐標(biāo)系的位姿已知時,就能確定各根軸的轉(zhuǎn)動角度。以上兩個部分都以界面的形式給出了程序運(yùn)算的結(jié)果。在對機(jī)器人控制、誤差分析、動力分析和保證工作精度時,微分運(yùn)動研究起著十分重要的作用,因此在本章最后還簡要介紹了機(jī)器人微分運(yùn)動的數(shù)學(xué)模型,并隨機(jī)抽取了一組關(guān)節(jié)變量,考察單一變換矩陣參數(shù)偏差對機(jī)器人定位精度的影響。
第三章 SR06 型機(jī)器人的標(biāo)定技術(shù)
機(jī)器人標(biāo)定過程是通過修正機(jī)器人軟件配置來提高定位精度的,也就是確定從關(guān)節(jié)變量到末端執(zhí)行器在工作空間內(nèi)真實位置的更為精確的函數(shù)關(guān)系,并利用這種已確定的變換關(guān)系更新機(jī)器人的定位軟件,而不是試圖去改變機(jī)器人的結(jié)構(gòu)設(shè)計或是控制系統(tǒng)。
從誤差源與機(jī)器人誤差之間的固有函數(shù)規(guī)律出發(fā),采用精密測試儀器測得機(jī)器人的多點(diǎn)位置誤差,進(jìn)而應(yīng)用最小二乘等方法,辨識出各誤差源大小,最后通過采用附加控制算法或修改原控制算法來補(bǔ)償機(jī)器人的誤差,即為傳統(tǒng)意義上的標(biāo)定技術(shù)。
標(biāo)定是建模、測量、參數(shù)識別和誤差補(bǔ)償幾個步驟的集成過程,通常意義的標(biāo)定過程包括如下幾個步驟:
1. 建立一個準(zhǔn)確代表實際參數(shù)的機(jī)器人運(yùn)動學(xué)模型;
2. 用較高精度的測量裝置測量出機(jī)器人的位姿;
3. 引入?yún)?shù)識別的算法;
4. 對原有的機(jī)器人運(yùn)動學(xué)模型進(jìn)行修正。
標(biāo)定過程如圖 3-1 所示:
圖3-1 標(biāo)定過程示意圖
對于整個標(biāo)定過程來講,選擇合適的運(yùn)動學(xué)模型和標(biāo)定測量方法是機(jī)器人標(biāo)定的前提,在此基礎(chǔ)上對標(biāo)定數(shù)據(jù)進(jìn)行處理實現(xiàn)誤差參數(shù)識別與校正是機(jī)器人標(biāo)定的最終目的。
3.1 標(biāo)定用運(yùn)動學(xué)模型的建立
機(jī)器人標(biāo)定用的運(yùn)動學(xué)模型應(yīng)當(dāng)具有完整性和參數(shù)連續(xù)性的特點(diǎn)。一個完整的模型擁有足夠多的參數(shù)去表示機(jī)器人實際結(jié)構(gòu)與名義設(shè)計之間的所有偏差。為了滿足這一點(diǎn),模型必須包含一定數(shù)目的獨(dú)立參數(shù),這個數(shù)目為 4N-2P+6,N 為自由度,P 為移動關(guān)節(jié)數(shù),對于關(guān)節(jié)型串聯(lián) 6 自由度的SR06機(jī)器人來說,至少需要 30 個獨(dú)立參數(shù)。參數(shù)連續(xù)性意味著模型應(yīng)該沒有極點(diǎn)。通常,如果任意機(jī)器人關(guān)節(jié)軸線位姿的連續(xù)變化會導(dǎo)致模型連桿參數(shù)連續(xù)變化的話,該模型就是參數(shù)連續(xù)的。如果模型不具備參數(shù)連續(xù)特性的話可能造成誤差模型不準(zhǔn)確,還有可能造成運(yùn)動學(xué)參數(shù)識別過程中的數(shù)值不穩(wěn)定性。
經(jīng)典的 D-H 模型既不是完整的,也不是參數(shù)連續(xù)的。如果相鄰的兩根軸線名義上絕對平行而實際上近乎平行時,參數(shù)會發(fā)生跳變。一個同樣嚴(yán)重的問題就是模型建立世界坐標(biāo)系和工具坐標(biāo)系規(guī)則的限制。如果世界坐標(biāo)系和工具坐標(biāo)系不能任意放置的話,它們的位置會隨著機(jī)器人幾何結(jié)構(gòu)的變化而變化。因此,在進(jìn)行機(jī)器人標(biāo)定工作時,拋棄 D-H 模型,而采用一種稱為 CPC(Complete and Parametrically Continuous)的機(jī)器人運(yùn)動學(xué)模型。
3.1.1 直線的無極點(diǎn)表示法
如圖 3-2 所示,設(shè)三維空間中有一條直線 L,它的方向可以由其在參考坐標(biāo)系{x,y,z}中的兩個方向余弦(bx ,by)來表示,平面IB過{x,y,z}的原點(diǎn)且與L垂直,那么IB與L的交點(diǎn)P可以用來確定L在空間中的位置。在平面IB上建立一個平面直角坐標(biāo)系,原點(diǎn)與參考坐標(biāo)系的原點(diǎn)重合,點(diǎn) P 在該系中的坐標(biāo)為lx 和ly ,那么直線 L 就可以由四個參數(shù){ bx ,by ,lx ,ly }表示。記 b為單位方向矢量,bx ,by ,bz 分別為 x,y,z 方向的分量,且有bz = (1?b?b)1/2。定義 b 指向參考坐標(biāo)系的 z 軸正向,參考坐標(biāo)系 x 軸在平面 IB 上的投影作為平面直角坐標(biāo)系的 x 軸。令 z 為參考坐標(biāo)系 z 軸方向的單位矢量,使參考坐標(biāo)系繞軸 k 旋轉(zhuǎn) α 角,在這里
K== (3-1)
α=arccos(z.b)arccos(bz) (3-2)
k為沿公法線的單位向量,繞 z 軸轉(zhuǎn)動的旋轉(zhuǎn)矩陣
R=Rot(k,α) (3-3)
將式(3-1)和(3-2)代入到式(3-3)中,化簡后可以得到
R= (3-4)
如果 b=z 的話,[bx,by,bz]T=[0,0,1]T,R 則變成單位矩陣。
圖 3-2 空間直線的表示方法
3.1.2 CPC 模型的建立
由于 SR06 型機(jī)器人的所有關(guān)節(jié)都是轉(zhuǎn)動關(guān)節(jié),因此,下面采用 CPC 方
法建模時都只針對轉(zhuǎn)動關(guān)節(jié)的情況,建立連桿坐標(biāo)系要遵從以下原則:
1.zi 軸必須與第 i+1 個關(guān)節(jié)的軸線重合。
2.坐標(biāo)系{xi ,yi,zi }符合右手法則。
為了能夠任意地分配連桿坐標(biāo)系,除bx ,by ,lx ,ly 之外,CPC 方法還定義了另外兩個參數(shù):βi 和Li,z。Rot (z,βi)使得第 i 個坐標(biāo)系能繞 z 軸做任意轉(zhuǎn)動, Trans(0,0,li,z)使得第 i 個坐標(biāo)系能沿 z 軸方向做任意平動。變換矩陣是 7個連桿參數(shù){ bi,x ,bi,y ,bi,z ,li,x ,li,y ,li,z ,βi}以及關(guān)節(jié)變量θi 的函數(shù)。令li=[li,x,li,y,li,z ]T ,bi== [bi,x,bi,y,bi,z],那么連桿參數(shù)和關(guān)節(jié)變量的指定如下(見圖 3-3):
圖 3-3 CPC 模型連桿參數(shù)的定義
1.bi 是在第 i-1 坐標(biāo)系下表示的第 i+1 關(guān)節(jié)軸線的單位方向矢量。
2.βi 是xi 軸繞zi 軸旋轉(zhuǎn)的方向。
3.li是在第 i-1 坐標(biāo)系下表示的第 i 連桿坐標(biāo)系的原點(diǎn)的位置。
4.關(guān)節(jié)變量θi (i=1,2,3,4,5,6)的零位與第 i 個關(guān)節(jié)角度傳感器的零讀數(shù)一致。
同時需要注意的是,若某關(guān)節(jié)軸線的序號為 i+1,那么其所在的坐標(biāo)系的序號為 i,所以,第 i+1 根軸線是在第 i-1 坐標(biāo)系中被表示成bi 的。
定義一個 4×4 的旋轉(zhuǎn)矩陣Ri ,它是在第 i-1 坐標(biāo)系下表示的第 i+1 根軸線的單位方向余弦bi,x ,bi,y ,bi,z ,的函數(shù)。且
Ri= (i=1,2,3,4,5,6)
這里 ki=e3 ×bi/||e3 ×bi||,αi =arccos(e3 ?bi),e3 =[0,0,1]T,即e3 為當(dāng)前坐標(biāo) z軸的單位方向矢量。由式(3-4)可得
Ri=,且 bi,z≥0 (3-5)
假設(shè)機(jī)器人處于零位位姿,平面 IBi與第 i+1 根軸線垂直并經(jīng)過第 i-1 坐標(biāo)系的原點(diǎn),變換矩陣 Bi以平面 IBi 為基準(zhǔn)進(jìn)行如下變換:
1. 按照式(3-5)定義的Ri作旋轉(zhuǎn)。變換后的中間坐標(biāo)系記為{,y,z },與平行,另外兩個坐標(biāo)軸落在平面 IBi內(nèi)。
2. 作繞zi的旋轉(zhuǎn)的Rot(z,βi )。變換后的中間坐標(biāo)系記為{x,y,z},z=z,且此坐標(biāo)系與第 i 坐標(biāo)系的姿態(tài)相同,即各個坐標(biāo)軸的指向相同。
3.作 Trans(li,x,li,y,li,z)的平移運(yùn)動。變換后的坐標(biāo)系將于第 i 坐標(biāo)系合。
因此,連桿變換矩陣Bi=QiVi ,Qi 是由于關(guān)節(jié)的轉(zhuǎn)動所做的變換,Qi =Rot( zθi);Vi 是由連桿參數(shù)確定的變換,Vi=RiRot (z, βi)Trans (li,x, li,y, li,z).這里,i=1,2,3,4,5,6。
圖 3-4 CPC 模型連桿參數(shù)分布示意圖
另外,為了能夠簡化變換矩陣,在建系的過程中可以采取以下兩條措施:
1)如果平面 IBi與第 i-1 連桿坐標(biāo)系的 xy 平面或 xz 平面平行,使xi 與xi-1 的方向相同。
2)如果平面IBi與第 i-1 連桿坐標(biāo)系的yz 平面平行,使yi 與yi-1 的方向相同。
按照上述約定可以建立起各個連桿坐標(biāo)系,如圖 3-4 所示。圖中系 6 為末端法蘭盤坐標(biāo)系,它的原點(diǎn)位于法蘭盤端面的中心處。這樣得到從末端法蘭盤坐標(biāo)系到機(jī)器人基坐標(biāo)系的變換矩陣T = B1B2B3B4B5B6。連桿參數(shù)的名義值見表3-1 所示。經(jīng)驗證,在進(jìn)行正向運(yùn)動學(xué)求解時,CPC 模型與 D-H 模型有相同的計算結(jié)果。
表3-1 CPC模型連桿參數(shù)名義值
I
bi,x
bi,y
bi,z
li,x(mm)
Li,y(mm)
li,z(mm)
1
0
1
0
180
0
0
0
2
0
0
1
500
0
0
0
3
1
0
0
0
-101
0
0
4
-1
0
0
135
0
0
0
5
1
0
0
0
0
0
0
6
0
0
1
0
0
0
90
3.2 機(jī)器人的標(biāo)定方法
3.2.1 幾何誤差的來源
圖 3-5 關(guān)節(jié)錯位引起的誤差
幾何誤差的來源有兩個,一個是關(guān)節(jié)互相位置與名義值不符,另一個是關(guān)節(jié)的實際零位與編碼盤的零位不重合。
如圖 3-5 所示,如果關(guān)節(jié) i 的位置與名義位置不一致,假設(shè)原點(diǎn)的位置不變,但是發(fā)生了繞 x 軸的微小轉(zhuǎn)動,即bi=[0,, ]T.舍去高次項可得到旋轉(zhuǎn)矩陣 R 的線性近似表達(dá),即Ri=,相應(yīng)地,li =[0,pi,y+εy, ?εy]T。
圖 3-6 關(guān)節(jié)偏置引起的誤差
如果將關(guān)節(jié)變量設(shè)置成零,但是此時實際的關(guān)節(jié)角度并不是處在零位位置上,這種零位角誤差叫做“關(guān)節(jié)偏置”。在 CPC 模型中,關(guān)節(jié)變量的名義值用來描述機(jī)器人的運(yùn)動,如果第 i 個連桿的幾何誤差完全是由關(guān)節(jié)偏置引起的,那么可以通過dli 計算關(guān)節(jié)偏置。如圖 3-6 所示,此處的關(guān)節(jié)偏置可以用dli,x,和dli,y ,來表示。圖中上角標(biāo)“0”表示的是名義位置。如果存在軸線錯位的情況,關(guān)節(jié)偏置還與其它的參數(shù)誤差有關(guān),但是在 CPC 模型中,關(guān)節(jié)偏置屬于多余的參數(shù),從最小二乘的角度上講,識別出來的獨(dú)立的 CPC 誤差參數(shù)足夠計算標(biāo)定前的姿態(tài)誤差,同時,在標(biāo)定的過程中,這組獨(dú)立參數(shù)也足以減小姿態(tài)誤差。
3.2.2 連桿參數(shù)的線性求解方法
目前,機(jī)器人連桿參數(shù)的標(biāo)定方法有很多,例如利用雅克比矩陣求解、運(yùn)動約束求解、微分運(yùn)動學(xué)求解等等。但是這
收藏