久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

輕松學機器人系列之各坐標系關系

 反恐精英禿鷲 2020-04-10
難得的機會讓胖老師Johnny Pan跟大家開個車,,可能速度有點快,各位系好安全帶坐好,。關于胖老師Johnny Pan這里就不作過多介紹,,搞機老師傅估計都認識他。搬好我的小板凳聆聽大佬的聲音,。

輕松學機器人系列(一)

坐標系關系

大家好,,我是Johnny。今天很高興應邀在這個平臺和大家一起交流玩機的經驗,,今天主要和大家聊聊機器人坐標系的前世今生,。

 剛開始玩機器人的朋友通常會被一堆沒聽到過名字的坐標系砸悶,有時候即使會用了也未必完全清楚坐標系各自的來歷及相互關系,,而一般的培訓或者文檔也沒有對此加以詳細說明,。

 本文本著讓普通人都能看懂的原則,會用盡量簡單的語言來把坐標系之間的關系給大家展開一下,。

首先讓我們捋一下,,目前所知道的或者聽說過的坐標系:       

序號

名稱

1

軸坐標系

2

機器人根坐標系

3

世界坐標系

4

法蘭坐標系

5

工具坐標系

6

工件坐標系

是不是看著很多?沒關系,,一個個捋:

1.軸坐標系:用來描述機器人各個軸的關節(jié)角度,,所有機器人都有的最基礎的坐標系。(一句話點評:這貨其實實際用處不多,,一般在示教,,軸運動編程,軸工作區(qū)域監(jiān)控等情形下會用到)
2.機器人根坐標:在KUKA中稱作robroot,,在ABB中稱作base,。這個坐標系是一個空間直角坐標,由X,Y,Z構成,,滿足右手定則,,如下圖所示

這個坐標系是干嘛的呢?啥意義,?類比一下,這個坐標系相當于告訴機器人它的腳在哪,?也就是說,,不管機器人裝在哪,,怎么裝的,這個坐標系永遠和機器人底座呈上述關系,,通俗點說就是跟著機器人走,,就像腳和身體的關系。而通常標準機器人是不會移動的,,因此該坐標系固定不變,。(一句話點評:機器人內部坐標變換的基礎坐標系,直觀且容易理解)

3.世界坐標系:世界坐標告訴機器人你處在大地的哪個位置上,。一般情況下和機器人根坐標重合,。當然也有不重合的時候,如下所示:

其中B為世界坐標,,A和C為根坐標,,默認情況下B與C重合,在一些情況下也可以設置成不重合(例如多機機器人統(tǒng)一世界坐標時),。世界坐標的特點是一旦確認,,就固定不變,Z方向始終向上(為了配合負載計算),。(一句話點評:示教機器人時的首選坐標系)

4.法蘭坐標系:法蘭坐標位于機器人6軸法蘭中心,,當機器人處于零位時,方向如下圖所示: 

法蘭坐標系是用來干嘛的呢,?它用來描述這個機器人運動系統(tǒng)的末端位置,。通俗點說就是告訴機器人手在哪里。當一個機器人開始運動的時候,,我們并不關注其他軸在空間的位置,,我們更關心機器人末端(即法蘭中心)在空間所處的位置情況,以方便我們判斷到不到位,,準不準確,。也就是說在這種坐標系下,所有機器人運動計算都是基于法蘭中心點,。(一句話點評:機器人末端的基礎坐標系,,受零位和機器人機械參數(shù)影響。)

5.工具坐標系:工具坐標系描述的是法蘭前端安裝的工具的位置情況,。在默認情況下,,工具坐標和法蘭坐標是重合的。既然差不多那為什么要有工具坐標,?考慮一下實際情況,,讓你去寫毛筆字,你會不會用到筆,?答案是肯定的,。那么這個時候你是更關心手在哪還是更關心筆尖在哪,?自然是筆尖的位置,因為那直接關系到我寫的字好不好看,。同理,,在正常生產過程中,機器人前端都是安裝有工具的,,工具末端的位置相比法蘭位置更為重要,。其中,我們把工具坐標系的原點(注意是一個)稱為TCP(Tool Center Point)工具中心點,。由于工具五花八門,,因此工具坐標系可以由用戶自定義。(一句話點評:實際編程中最重要的坐標系之一,。)

6.工件坐標系:工件坐標系描述的是機器人在哪個工作臺干活,。由于工位的多樣性,工件坐標系也是可以人為定義的,。默認的情況下,,工件坐標系和世界坐標系重合。工件坐標系看著和世界坐標系根坐標系都差不多,,為什么還需要設這么一種坐標系出來,?這是因為:程序中的點都是記錄在對應工件坐標系上的,可以理解為點的位置綁定對應工件坐標系,。也就是說當工件坐標系發(fā)生變化后,,其上所有點位都會發(fā)生對應變化。這個功能可謂神技,。

很多衍生的功能(碼垛,,輸送線跟蹤,外部軸數(shù)學耦合等)都建立在這個原理之上,。(一句話點評:實際編程中最重要的坐標系之一),。

接下來,我們來聊聊這些坐標系之間的相互關系:

第一層關系

世界坐標與工件坐標的關系

按照最簡單的情況來分析,,先來看圖,,

前面說了,如圖安裝完機器人后,,世界坐標系和根坐標系重合,,因此這里不再羅列根坐標系。

先來看世界坐標系,,它的特點很容易總結:

1. 固定不變 

2. 所有使用者都知道世界坐標系的位置及方向,。(即坐標系已知)

再來看看工件坐標系,它有哪些特點呢?我們來看一下,。首先,,很多時候一個機器人需要在多個工位上干活,這意味著我得為機器人設定很多個工件坐標系以對應不同工位,。

因此第一個特點很簡單,一個機器人雖然只有一個世界坐標系,,但是可以有很多個工件坐標系,。(理論上ABB,KUKA都可以無限設定)

考慮一下,,如果把機器人的工件坐標系設定在北京天安門樓頂行不行呢,??

行不行呢,?行不行呢,?行不行呢?

當然可以?。,。∫獑枮樯??用戶自定義唄,,自定義還不夠你臭屁的么?

所以第二個特點就是工件坐標系可以自定義,。

好,,現(xiàn)在我們深入思考一下這個問題。由于工件坐標系是由用戶自定義的,,因此當你設定了一個工件坐標系后,,你必須得告訴機器人這個工件坐標系的具體位置情況,不然機器人是不知道這個坐標系的信息的,。那么問題來了,,怎么樣能讓機器人知道一個工件坐標系具體情況呢?

當我們要描述一個具體的坐標系時,,首先需要做的是........找參考坐標系,。。,。,。

參考坐標系的選擇有兩個前提條件:

1. 兩者相對位置固定不變  

2. 參考坐標系已知。

然后我們發(fā)現(xiàn)了一個現(xiàn)成的坐標系,,沒錯,,就是世界坐標系。它正好符合這兩個要求。

當把世界坐標系設定為參考坐標系后,,剩下的事情只有兩件了:

1.指明工件坐標系原點的位置

2.指明工件坐標系三個方向的情況

簡單來說,,就是找原點,定方向,。

原點怎么表示呢,??

原點是不是一個點,?一個點在一個坐標系中怎么表示,?學過初中數(shù)學的都知道,可以用X,Y,Z三個值來表示空間點的位置,。所以我們用一組X,Y,Z就搞定了原點的位置信息

接下來方向該怎么定呢,?

直接對坐標系方向做說明是件很繁瑣的事,不過我們有更簡易的方法,,那就是歐拉角,。歐拉角的意義是這樣的:我們已經有一個參考坐標系(世界坐標系),這個坐標系是已知的(即原點方向我們都知道),,那么我們能不能這么操作,,在原始坐標系方向的基礎上,讓它沿著不同的方向軸進行旋轉,,比如先繞著Z軸旋轉一定角度(角度A),,再繞著Y軸旋轉一定角度(角度B),最后繞著X軸旋轉一定角度(角度C),,使得旋轉之后的坐標系方向和我所需的工件坐標系方向一致,。那么這三個旋轉角就可以用來描述方向的變化,也就是我們所說的歐拉角,。值得注意的是,,類似X,Y,Z的平移是不講究順序的,也就是說,,只要這三個值確定了,,目標點的空間位置就是確定的。而轉角卻和旋轉順序有關,,先轉和后轉會導致不同的結果,。

因此需要說明的是,ABB,,KUKA歐拉角順序為ZYX,,也就是先轉Z軸,然后Y軸,,最后X軸,。有些機器人品牌是另外的歐拉角順序,,比如KEBA,Comau是ZYZ等等,。

好了,,我們現(xiàn)在既有原點信息(X,Y,Z),又有方向信息(A,B,C),,這樣一來機器人就知道工件坐標系的確切空間位置了,。舉例:KUKA的工件坐標系描述:base_data[1]={x 0,y 0,z 0,a 0,b 0,c 0}。ABB的工件坐標系描述和KUKA稍有不同,,采用四元數(shù)的方式描述方向,,此次討論暫不涉及。

所以第一層關系就明確了:工件坐標系是通過世界坐標系下的{x ,y ,z,a ,b ,c }來確定的,,或者說工件坐標系是基于世界坐標系推算出來的。

接下來看看第二層關系

法蘭坐標系與工具坐標系的關系

 

和工件坐標系一樣,,工具坐標系也是人為定義的,,那么怎么告訴機器人工具坐標系的位置信息呢?,?我們先要做的事情其實一樣,,先得找一個靠譜的參考坐標系。之前說了,,參考坐標系必須滿足兩點:

1. 兩者相對位置固定不變,;

2. 參考坐標系已知。

按照這個標準,,世界坐標系就不適合作為工具坐標系的參考坐標系了,,因為兩者相對位置會發(fā)生變化。

突然發(fā)現(xiàn)我們還有一個法蘭坐標系,,這個和工具坐標系位置肯定不會改變,。(如果會改變。,。,。。,。我的天,,你到底有米有好好固定工具。)


那它滿不滿足第二個條件呢,?先說結論:可以認為它是已知的坐標系,,只要滿足兩點:

1.機器人機械零位準確 

2.機器人機械參數(shù)正確。

這是什么意思,,法蘭坐標系是通過機器人的內部算法建立的,,該算法會把根坐標通過數(shù)學的方式偏轉至機器人法蘭上。由于是計算過程,所以仍然會受到一些因素制約,。我們可以把它想象成是解一個復雜的方程,,機械零位決定了方程的初值,機械參數(shù)決定了方程的表達式,。很顯然,,當這兩者有任何一個出現(xiàn)問題,方程的解就會出問題,。(注:機械零位就是大家經常要做的零點標定,,機械參數(shù)則是對應于不同機器人的相關參數(shù),以KUKA為例子:KR30和KR360機械參數(shù)完全不同,,包括減速比,,軸距等各類本體參數(shù)。)

現(xiàn)在我們仍然把問題簡化一下,,假定大家的零點都正確標定了,,同時選擇的機器參數(shù)也匹配當前機器人,那么結論就出來了:法蘭坐標系可以作為工具坐標系的參考坐標系,。事實上所有機器人廠家也都是這么做的,。與之前描述一樣,只要給出對應的X,Y,Z,A,B,C這6個值,,就可以讓機器人知道目標工具在法蘭的什么位置,。

舉例:KUKA的工具坐標系:tool_data[1]={x 0, y 0,z 0,a 0,b 0,c 0}

至此,第二層關系明朗了:工具坐標系是由法蘭坐標系下的{x ,y,z ,a ,b ,c }來確定的,。

接下來,,最難的第三層關系來了

工具和工件有沒有關系呢?,?

咳咳,,這個稍微有點復雜,大家可以先去喝口水,。,。。,。,。。,。

閑話不提,,上圖

假定我們建立了一個工件坐標系A,還有一個工具坐標系B,。然后編了一個程序,,在程序中示教了一個點P,。好,問題來了,,點是不是隨意示教的,??,?

是不是,??是不是,?,??是不是,?,??,?,?

當然是啦,想示教在哪就示教在哪,,只要夠得到。那么這個點的位置信息是怎么告訴給機器人的呢,?,??

在數(shù)學上描述一個點是挺簡單的一件事,,只要有個參考坐標系,,一組X,Y,Z就能搞定了(我想耐心看到這里的同鞋應該都能理解了)。先看一下,,這個時候哪個坐標系作為參考坐標系更合適,?1. 世界 2. 法蘭 3. 工件選哪個?,?

回想一下參考坐標系的要求我們就明白了,,第一個剔除的是法蘭坐標,因為它相對點位會動,。

那世界坐標行不行,??,?也不夠好,,為什么呢?因為世界坐標系固定不變,,意味著一旦你示教了這個點,,這個點的位置也就固定不變了,。如果你示教了100個點,然后發(fā)現(xiàn)需要整體往X方向平移100mm,,那么你慘了,,你得一個一個點改。

所以,,示教點位置是基于所選的工件坐標存儲的,。如果需要把很多點做整體平移時,只要變更工件坐標的值即可,。

參考坐標系搞定了,,繼續(xù)往下想,僅僅x ,y ,z 就能描述一個示教點么,?數(shù)學上的點和我們示教的點是一樣的意義么,??記住一個原則,,所有的示教點必須能讓機器人以唯一的一種姿態(tài)到達,。也就是如果機器人有兩種以上的方式可以到達這個位置,就是不可以的(如果你家的機器人今天這么走軌跡,,明天那么走軌跡,,就問你會不會瘋?),。這么一來,,我發(fā)現(xiàn)X,Y Z完全不夠,我至少還需要一些可以確定姿態(tài)方向的參數(shù),。有同鞋說,,之前說的A,B,C不就是規(guī)定方向的么?在這里可以用么,?,?等等,我們不是聊的是點么,?點有方向么,??數(shù)學上點是沒方向的,。因此,,這里需要說明一下:示教的點其實并不僅僅是一個數(shù)學上的點。那示教的點到底是什么,?,??

我們換個角度想這個問題,,當執(zhí)行這個程序時,,機器人哪個部位會到達這個示教點,??答案是:TCP,。上文有提到,,TCP是工具中心點,在運動過程中機器人所有的軌跡計算會圍繞這個點進行,。

換句話說,,這個點決定了工具如何到達這個位置,包括方向,。從這個角度來說,,示教點其實是描述的是兩個坐標系之間的位置關系。因此它可以有方向,。因此我們可以用x,y,z,a,b,c這6個參數(shù)來描述一個示教點的位置,。其中X,Y,Z描述的是該點在工件坐標系下的空間位置,A,B,C描述的是工具坐標到達該點時與工件坐標系之間的歐拉角,。

,。。,。,。。,。

,。。,。。,。,。

你以為就結束了么?確定了一組X,Y,Z,A,B,C就一定只有唯一解么,?,??來看看一個特殊情況,,如圖所示:

我們可以看到,,當規(guī)定好了X,Y,Z,A,B,C的值后,實際上機器人法蘭前端的姿態(tài)位置就被確定了,,但是如圖所示,,這兩個機器人法蘭空間位置姿態(tài)完全一致,但是機器人整體姿態(tài)仍有區(qū)別,。

在KUKA軟件中,,通過S,T這兩個姿態(tài)參數(shù)來規(guī)范這種情況,以避免同一個位置點機器人有多種姿態(tài),。類似的ABB也有Confdata。

,。,。。,。,。。

,。,。。,。,。。

你又以為結束了么,?以前僅僅討論了機器人本體的情況,,如果機器人帶有外部軸呢?,?以KUKA為例,,一般可以帶6個外部軸,所以完整的點坐標還包含外部軸信息,。

舉例: KUKA   xp1={x , y , z , a ,b ,c ,s , t , e1 , e2,e3 ,e4 ,e5 ,e6 }

總結:第三層關系,,原來程序中的點,是由工具坐標系和工件坐標系算出來的?,F(xiàn)在知道為什么要好好做工具坐標,,好好做工件坐標了?現(xiàn)在知道為什么示教語句不能亂選坐標系了,?,?

又及:第一次發(fā)稿,寫得有點亂,,對于細節(jié)描述各位大牛不用太較真,,希望對初學者有所幫助。

再及:我不是段子手,。

俗話說,,在家靠父母,出外靠朋友,。各位看官,,胖老師初來咋到,以詼諧有趣而又生動的方式給大家賣藝(重點:賣藝不賣身,,就不要惦記胖老師,,人家可是家庭美滿),。初次賣藝,請大家有錢的買個錢場,,沒錢的捧個人場,。歡迎打賞轉發(fā)(所有的贊賞與欣賞我都代為傳遞給胖老師)!?。,。∑诖掷蠋熛麓卫^續(xù)開車帶著大家兜兜風,,尋找初戀的感覺?。?!????

——————————————

    本站是提供個人知識管理的網(wǎng)絡存儲空間,,所有內容均由用戶發(fā)布,不代表本站觀點,。請注意甄別內容中的聯(lián)系方式,、誘導購買等信息,謹防詐騙,。如發(fā)現(xiàn)有害或侵權內容,,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多