【導讀】一般都會定義機器人第一軸的旋轉(zhuǎn)軸為基坐標系Z軸,旋轉(zhuǎn)中心即是坐標系原點,X和Y的方向是的電機零點確定,所以只要你不更換電機的零點和機械結(jié)構(gòu),單個機器人里這個基坐標系是永遠不會變的!
機器人坐標系
基坐標系
機器人都有一個不會變的坐標系,叫基坐標系或世界坐標系(每家叫法不同,原理一樣)。
基坐標系是怎么來的呢?
拿6軸機器人舉例:
第一軸的旋轉(zhuǎn)軸
一般都會定義機器人第一軸的旋轉(zhuǎn)軸為基坐標系Z軸,旋轉(zhuǎn)中心即是坐標系原點,X和Y的方向是的電機零點確定,所以只要你不更換電機的零點和機械結(jié)構(gòu),單個機器人里這個基坐標系是永遠不會變的!
機器人外部軸
有一種情況會重新設(shè)定新(基)坐標系,新坐標系為世界坐標系(每家不同的叫法,你可以認為就是一個基坐標系),那就是機器人加外部行走軸,或外部旋轉(zhuǎn)軸,用行走軸舉例,這種情況會把基坐標設(shè)在行走軸的零點位置,如果有多個行走軸,那就把基坐標設(shè)定到最底層那根軸的零點處,所以機器人配置外部軸的原理就是測量一些機械參數(shù),把機器人1軸上的基坐標系變換到外部行走軸上,這種變換也叫D-H變換,下面講工具坐標系時候詳細說明。
用戶坐標系
上面內(nèi)容確定了一個(基)坐標系,就可以通過齊次變換推算出工具坐標系和用戶坐標系了!
用戶坐標系
先說用戶坐標系,用戶坐標系的本質(zhì)是把(基)坐標系旋轉(zhuǎn)偏移到工件上,是為了方便編程,讓機器人的移動方向和工件表面的方向一致!例如,有個傾斜45度的工件表面,如果你用基坐標系,機器人就是沿著基座系方向行走,橫平豎直的,很難沿著45度的表面行走,對編程來說難操作。所以就通過齊次變換偏移旋轉(zhuǎn)(基)坐標系,得到新的用戶坐標系!
其次變換旋轉(zhuǎn)算法
齊次變換平移加旋轉(zhuǎn)算法
齊次變換后得到新的用戶坐標系
工具坐標系
工具坐標系又叫TCP,機器人的精度和這個關(guān)系很大。它是在機器人末端執(zhí)行器,也就是抓手或焊槍上的。這個坐標系是相對于六軸不動,但是實際機器人六軸會不停動作,這個坐標系也就跟隨6軸實時變換!
工具坐標系
我們常說的機器人在什么位置,坐標數(shù)據(jù)是多少?實際就是工具坐標系(TCP)原點在基坐標系或者用戶坐標系下的X、Y、Z、A、B、C的數(shù)值,X、Y、Z就是坐標系的三個坐標軸,A、B、C是以工具坐標系原點(TCP)為旋轉(zhuǎn)中心,繞坐標系X,繞Y,繞Z旋轉(zhuǎn)的角度數(shù)據(jù)(有的機器人,比如KUKA旋轉(zhuǎn)是A、B、C對應繞Z,繞Y,繞X;標準歐拉角也是ZYX這樣旋轉(zhuǎn)的。),這里注意這個旋轉(zhuǎn)中心,機器人都用歐拉角,它的旋轉(zhuǎn)中心是TCP,不是繞著基坐標或者用戶坐標的軸旋轉(zhuǎn),這里說的繞X旋轉(zhuǎn),其實是把坐標系平移到TCP位置,再繞坐標系X旋轉(zhuǎn)!懂向量的就很容易理解為什么這樣了,因為轉(zhuǎn)換計算都是單位向量矩陣的形式!
怎么得到TCP的呢?其實也和不會變的基坐標有很大關(guān)系,確定了基坐標,基坐標的Z軸可以想象成一軸電機的旋轉(zhuǎn)軸,一軸電機的零點就可以確定X和Y方向,這樣就把一軸的關(guān)節(jié)坐標數(shù)據(jù)轉(zhuǎn)換成笛卡爾XYZ坐標系的形式!同樣的道理,二軸的電機相對于一軸機械位置和零點也是固定的,通過機械參數(shù)就可以把二軸的關(guān)節(jié)也轉(zhuǎn)換成坐標系形式,三軸相對于二軸,四軸相對于三軸,五軸相對于四軸,六軸相對于五軸,都是有相對位置和零點固定不變的情況,這個就是6軸串聯(lián)機器人,這樣一軸一軸轉(zhuǎn)換到六軸,六軸再轉(zhuǎn)換到工具(焊槍或抓手)上,得出的坐標系就是相對于六軸固定不變的工具坐標系也就是TCP,如下圖。
TCP計算圖示
關(guān)節(jié)坐標系
關(guān)節(jié)坐標系
這個坐標系 很簡單,就是六個電機的旋轉(zhuǎn)角度!在關(guān)節(jié)坐標下,我們通過改變六個電機的數(shù)據(jù),單獨動作每個關(guān)節(jié)!實際它的最大用處是逆運算,也就是我們用用戶坐標系或者基坐標系加TCP運動機器人的時候,機器人內(nèi)部要把坐標系的數(shù)據(jù),反推成六個關(guān)節(jié)電機的數(shù)據(jù),這個非常復雜,而且解還不是唯一的(我上一篇里講的機器人姿態(tài)參數(shù)),這里就不細說了,以后有空單獨講!
所以說,機器人最重要的坐標系其實就是(基)坐標系。
機器人還有一些坐標系相關(guān)的延伸應用
例如,外部TCP,連續(xù)軌跡,圓滑過渡這些!
我講個外部TCP的程序原理,其它的應用多數(shù)是標準應用,不需要更改啥,但是外部TCP用的比較多,有的需要在標準外部TCP的程序基礎(chǔ)上做些改進,以滿足現(xiàn)場需求!
啥是外部TCP呢?我們前面所說的TCP(工具坐標系),可以理解成機器人的旋轉(zhuǎn)中心,你拿著焊槍的時候,把TCP定義在槍尖,機器人旋轉(zhuǎn)就會繞著槍尖轉(zhuǎn),機器人角度動作而槍尖位置不動,這樣對于焊接需要拐彎的時候特別有用,焊槍拐彎了,但是焊絲還在焊接位置,不會跑偏!
外部TCP正好是和TCP相反的操作,如果焊槍沒有裝在機器人上,機器人是拿著工件去焊接的,那你把機器人的旋轉(zhuǎn)中心定義在哪里好呢,定義在哪里都不行,如果定義了機器人只能繞著定義那個TCP位置旋轉(zhuǎn),但是焊接軌跡是移動的,移動到其它位置你再旋轉(zhuǎn),機器人固定的焊槍就不在焊接軌跡上了,嚴重的會碰撞!
外部TCP的算法原理是這樣的:
比如我知道第一個焊接點位,根據(jù)點位的坐標齊次變換算出一個TCP,TCP和這個焊接點位重合。
焊接移動過程中的下一個點位坐標換算出新的TCP,和當前點位重合。這樣每個點位自動生成一個TCP,比如焊接100mm長的焊縫,機器人內(nèi)部算法把這100mm,分割成10000份,每份都有個TCP,這樣就實現(xiàn)了TCP的動態(tài)賦值,也就是外部TCP的原理了!
總結(jié)一下:
基座標是固定不動的,可以換算出用戶坐標和工具坐標;其它的外部TCP屬于擴展應用,離不開前面三種坐標系!
免責聲明:本文為轉(zhuǎn)載文章,轉(zhuǎn)載此文目的在于傳遞更多信息,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問題,請聯(lián)系小編進行處理。
推薦閱讀: