<s id="eoqoe"><xmp id="eoqoe">
<button id="eoqoe"><strong id="eoqoe"></strong></button>
<s id="eoqoe"><xmp id="eoqoe">
<button id="eoqoe"><strong id="eoqoe"></strong></button>
<wbr id="eoqoe"></wbr>
<wbr id="eoqoe"><strong id="eoqoe"></strong></wbr>
<wbr id="eoqoe"><strong id="eoqoe"></strong></wbr>
<wbr id="eoqoe"><strong id="eoqoe"></strong></wbr>
<wbr id="eoqoe"><label id="eoqoe"></label></wbr>
<button id="eoqoe"></button>
<wbr id="eoqoe"></wbr>
你的位置:首頁(yè) > 傳感技術(shù) > 正文

機器人坐標系用法和算法原理

發(fā)布時(shí)間:2023-10-16 責任編輯:wenwei

【導讀】一般都會(huì )定義機器人第一軸的旋轉軸為基坐標系Z軸,旋轉中心即是坐標系原點(diǎn),X和Y的方向是的電機零點(diǎn)確定,所以只要你不更換電機的零點(diǎn)和機械結構,單個(gè)機器人里這個(gè)基坐標系是永遠不會(huì )變的!


10.jpg


機器人坐標系


基坐標系


機器人都有一個(gè)不會(huì )變的坐標系,叫基坐標系或世界坐標系(每家叫法不同,原理一樣)。


基坐標系是怎么來(lái)的呢?


拿6軸機器人舉例:


11.jpg


第一軸的旋轉軸


一般都會(huì )定義機器人第一軸的旋轉軸為基坐標系Z軸,旋轉中心即是坐標系原點(diǎn),X和Y的方向是的電機零點(diǎn)確定,所以只要你不更換電機的零點(diǎn)和機械結構,單個(gè)機器人里這個(gè)基坐標系是永遠不會(huì )變的!


12.jpg


機器人外部軸


有一種情況會(huì )重新設定新(基)坐標系,新坐標系為世界坐標系(每家不同的叫法,你可以認為就是一個(gè)基坐標系),那就是機器人加外部行走軸,或外部旋轉軸,用行走軸舉例,這種情況會(huì )把基坐標設在行走軸的零點(diǎn)位置,如果有多個(gè)行走軸,那就把基坐標設定到最底層那根軸的零點(diǎn)處,所以機器人配置外部軸的原理就是測量一些機械參數,把機器人1軸上的基坐標系變換到外部行走軸上,這種變換也叫D-H變換,下面講工具坐標系時(shí)候詳細說(shuō)明。


用戶(hù)坐標系


上面內容確定了一個(gè)(基)坐標系,就可以通過(guò)齊次變換推算出工具坐標系和用戶(hù)坐標系了!


13.jpg


用戶(hù)坐標系


先說(shuō)用戶(hù)坐標系,用戶(hù)坐標系的本質(zhì)是把(基)坐標系旋轉偏移到工件上,是為了方便編程,讓機器人的移動(dòng)方向和工件表面的方向一致!例如,有個(gè)傾斜45度的工件表面,如果你用基坐標系,機器人就是沿著(zhù)基座系方向行走,橫平豎直的,很難沿著(zhù)45度的表面行走,對編程來(lái)說(shuō)難操作。所以就通過(guò)齊次變換偏移旋轉(基)坐標系,得到新的用戶(hù)坐標系!


14.jpg


其次變換旋轉算法


15.jpg


齊次變換平移加旋轉算法


16.jpg


齊次變換后得到新的用戶(hù)坐標系


工具坐標系


工具坐標系又叫TCP,機器人的精度和這個(gè)關(guān)系很大。它是在機器人末端執行器,也就是抓手或焊槍上的。這個(gè)坐標系是相對于六軸不動(dòng),但是實(shí)際機器人六軸會(huì )不停動(dòng)作,這個(gè)坐標系也就跟隨6軸實(shí)時(shí)變換!


17.jpg


工具坐標系


我們常說(shuō)的機器人在什么位置,坐標數據是多少?實(shí)際就是工具坐標系(TCP)原點(diǎn)在基坐標系或者用戶(hù)坐標系下的X、Y、Z、A、B、C的數值,X、Y、Z就是坐標系的三個(gè)坐標軸,A、B、C是以工具坐標系原點(diǎn)(TCP)為旋轉中心,繞坐標系X,繞Y,繞Z旋轉的角度數據(有的機器人,比如KUKA旋轉是A、B、C對應繞Z,繞Y,繞X;標準歐拉角也是ZYX這樣旋轉的。),這里注意這個(gè)旋轉中心,機器人都用歐拉角,它的旋轉中心是TCP,不是繞著(zhù)基坐標或者用戶(hù)坐標的軸旋轉,這里說(shuō)的繞X旋轉,其實(shí)是把坐標系平移到TCP位置,再繞坐標系X旋轉!懂向量的就很容易理解為什么這樣了,因為轉換計算都是單位向量矩陣的形式!


怎么得到TCP的呢?其實(shí)也和不會(huì )變的基坐標有很大關(guān)系,確定了基坐標,基坐標的Z軸可以想象成一軸電機的旋轉軸,一軸電機的零點(diǎn)就可以確定X和Y方向,這樣就把一軸的關(guān)節坐標數據轉換成笛卡爾XYZ坐標系的形式!同樣的道理,二軸的電機相對于一軸機械位置和零點(diǎn)也是固定的,通過(guò)機械參數就可以把二軸的關(guān)節也轉換成坐標系形式,三軸相對于二軸,四軸相對于三軸,五軸相對于四軸,六軸相對于五軸,都是有相對位置和零點(diǎn)固定不變的情況,這個(gè)就是6軸串聯(lián)機器人,這樣一軸一軸轉換到六軸,六軸再轉換到工具(焊槍或抓手)上,得出的坐標系就是相對于六軸固定不變的工具坐標系也就是TCP,如下圖。


18.jpg


TCP計算圖示


關(guān)節坐標系


19.jpg


關(guān)節坐標系


這個(gè)坐標系 很簡(jiǎn)單,就是六個(gè)電機的旋轉角度!在關(guān)節坐標下,我們通過(guò)改變六個(gè)電機的數據,單獨動(dòng)作每個(gè)關(guān)節!實(shí)際它的最大用處是逆運算,也就是我們用用戶(hù)坐標系或者基坐標系加TCP運動(dòng)機器人的時(shí)候,機器人內部要把坐標系的數據,反推成六個(gè)關(guān)節電機的數據,這個(gè)非常復雜,而且解還不是唯一的(我上一篇里講的機器人姿態(tài)參數),這里就不細說(shuō)了,以后有空單獨講!


所以說(shuō),機器人最重要的坐標系其實(shí)就是(基)坐標系。


機器人還有一些坐標系相關(guān)的延伸應用


例如,外部TCP,連續軌跡,圓滑過(guò)渡這些!


我講個(gè)外部TCP的程序原理,其它的應用多數是標準應用,不需要更改啥,但是外部TCP用的比較多,有的需要在標準外部TCP的程序基礎上做些改進(jìn),以滿(mǎn)足現場(chǎng)需求!


啥是外部TCP呢?我們前面所說(shuō)的TCP(工具坐標系),可以理解成機器人的旋轉中心,你拿著(zhù)焊槍的時(shí)候,把TCP定義在槍尖,機器人旋轉就會(huì )繞著(zhù)槍尖轉,機器人角度動(dòng)作而槍尖位置不動(dòng),這樣對于焊接需要拐彎的時(shí)候特別有用,焊槍拐彎了,但是焊絲還在焊接位置,不會(huì )跑偏!


外部TCP正好是和TCP相反的操作,如果焊槍沒(méi)有裝在機器人上,機器人是拿著(zhù)工件去焊接的,那你把機器人的旋轉中心定義在哪里好呢,定義在哪里都不行,如果定義了機器人只能繞著(zhù)定義那個(gè)TCP位置旋轉,但是焊接軌跡是移動(dòng)的,移動(dòng)到其它位置你再旋轉,機器人固定的焊槍就不在焊接軌跡上了,嚴重的會(huì )碰撞!


外部TCP的算法原理是這樣的:


比如我知道第一個(gè)焊接點(diǎn)位,根據點(diǎn)位的坐標齊次變換算出一個(gè)TCP,TCP和這個(gè)焊接點(diǎn)位重合。


焊接移動(dòng)過(guò)程中的下一個(gè)點(diǎn)位坐標換算出新的TCP,和當前點(diǎn)位重合。這樣每個(gè)點(diǎn)位自動(dòng)生成一個(gè)TCP,比如焊接100mm長(cháng)的焊縫,機器人內部算法把這100mm,分割成10000份,每份都有個(gè)TCP,這樣就實(shí)現了TCP的動(dòng)態(tài)賦值,也就是外部TCP的原理了!


總結一下:


基座標是固定不動(dòng)的,可以換算出用戶(hù)坐標和工具坐標;其它的外部TCP屬于擴展應用,離不開(kāi)前面三種坐標系!



免責聲明:本文為轉載文章,轉載此文目的在于傳遞更多信息,版權歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權問(wèn)題,請聯(lián)系小編進(jìn)行處理。


推薦閱讀:


高能效、小外形的240W電源適配器參考設計

高功率降壓轉換的散熱評估測試原理概述

電源模塊輸出為何振蕩?

應對汽車(chē)ADAS電源管理設計挑戰,誰(shuí)是你心儀的“芯”方案?

ADI助力變送器從傳統環(huán)路供電到工業(yè)4.0智能化轉變

特別推薦
技術(shù)文章更多>>
技術(shù)白皮書(shū)下載更多>>
熱門(mén)搜索
?

關(guān)閉

?

關(guān)閉

久久无码人妻精品一区二区三区_精品少妇人妻av无码中文字幕_98精品国产高清在线看入口_92精品国产自产在线观看481页
<s id="eoqoe"><xmp id="eoqoe">
<button id="eoqoe"><strong id="eoqoe"></strong></button>
<s id="eoqoe"><xmp id="eoqoe">
<button id="eoqoe"><strong id="eoqoe"></strong></button>
<wbr id="eoqoe"></wbr>
<wbr id="eoqoe"><strong id="eoqoe"></strong></wbr>
<wbr id="eoqoe"><strong id="eoqoe"></strong></wbr>
<wbr id="eoqoe"><strong id="eoqoe"></strong></wbr>
<wbr id="eoqoe"><label id="eoqoe"></label></wbr>
<button id="eoqoe"></button>
<wbr id="eoqoe"></wbr>