offset 和 零點的一點解釋

2021-08-29 07:32:54 字數 2920 閱讀 9827

目錄

一、offset 

1.0.0第三個關節沒有offset的零點位置

1.0.1第三個關節轉動pi/6

1.1.0第三個關節有offset的零點位置

1.1.1 第三個關節轉動pi/6

二、零點

2.0什麼是零點丟失?

2.1是什麼原因造成了零點的丟失?

2.2零點丟失之後重新校正,對模型的精度有影響嗎?

繞z1軸旋轉的旋轉角度是90+θ2,而不是θ2。這是因為當θ2是0度的時候,x1和x2之間還有乙個90度的offset需要考慮。在確定機械人的零點的時候這是個需要考慮的重要因素。

%1.沒有offset  

%2.建立乙個具有n個自由度的機械臂 sdh

l(1)=link('revolute', 'd',0, 'a', 1, 'alpha', 0);

l(2)=link('revolute', 'd', 0, 'a', 0.8, 'alpha', 0);

l(3)=link('revolute', 'd', 0, 'a', 1, 'alpha', 0);

%3.通過建構函式給建立的機械臂物件命名,並顯示出物件的資訊

three_link=seriallink(l,'name','three link')

%機械人正運動學

%1.陣列中的引數是每乙個關節的角度

% 獲得的是座標系n相對於座標系0 的變換矩陣

three_link.fkine([0 0 0]);%獲得的是t30變換矩陣

%2.將建立的機械臂視覺化 陣列中的引數是每乙個關節的角度three_link.plot([0 0 0])

%1.offset的一點解釋

%2.建立乙個具有n個自由度的機械臂 sdh。第三個關節有offset

l(1)=link('revolute', 'd',0, 'a', 1, 'alpha', 0);

l(2)=link('revolute', 'd', 0, 'a', 0.8, 'alpha', 0);

l(3)=link('revolute', 'd', 0, 'a', 1, 'alpha', 0,'offset',pi/6);

%3.通過建構函式給建立的機械臂物件命名,並顯示出物件的資訊

three_link=seriallink(l,'name','three link')

%機械人正運動學

%1.陣列中的引數是每乙個關節的角度

% 獲得的是座標系n相對於座標系0 的變換矩陣

three_link.fkine([0 0 0]);%獲得的是t30變換矩陣

%2.將建立的機械臂視覺化 陣列中的引數是每乙個關節的角度three_link.plot([0 0 0])

和沒有offset的1.0.1小節的圖相比,有offset的機械臂看起來多轉動了pi/6。

在機械臂的的實際應用當中會有乙個configuration規定為機械臂的零點。此時機械臂的每乙個關節的角度規定為0度。理論上任何乙個configuration都可以規定為機械臂的零點。

現象是在機械臂本體的零刻度的時候示教器上各個軸的度數不是零 。

(a)當未用控制器移動了機械人軸

(b)更換齒輪箱後

要更深入地理解這方面的知識還需要了解機械人上編碼器的知識。常見的工業機械臂上使用的都是多圈的絕對值編碼器。

單圈絕對值編碼器原理:(碼盤上的每乙個位置都有唯一的編碼)絕對值增量編碼器的每乙個位置對應乙個確定的數字碼,因此它的示值只與測量的起始和終止位置有關,而與測量的中間過程無關。       

單圈絕對值編碼器與多圈絕對值編碼器 :所謂單圈和多圈編碼器都是指絕對式編碼器,絕對式編碼器可以在任何時刻,尤其是在剛上電的時刻,就能感知當前的絕對角位置。單圈的只可以感知一圈之內的絕對角位置;多圈的不僅可以感知一圈之內的絕對角位置,而且可以感知編碼器自使用之日起已經轉過了多少角度。絕對編碼器由機械位置決定每個位置的唯一性(當然這個角度是編碼器正轉和翻轉的累加和)[1]。

對機械臂的絕對位置精度會造成影響,造成一定的誤差。如果只是簡單地使用示教器使機械人的各個軸回到零點附近沒有進一步的進行零點校正。這樣就會造成此時機械臂tcp的實際絕對位置和演算法裡計算出的的機械人tcp絕對位置就會有差別,這個差別就會造成誤差。可以參考庫卡機械人是如何進行機械人的零點校正的。

參考:[1] 

消失的零點

注 本人於2018 01 07 11 22 19部落格 上午9點多醒來收到一封kettle資料同步失敗的郵件,於是起來準備看下原因,報錯 為 cannot parse 1990 04 15 illegal instant due to time zone offset transition asia...

關於python的 init 方法的一點解釋

以下是 例子 class parent object def init self self.name yy def override self print parent override def implicit self print parent implicit def altered self...

零點和極點的物理意義

簡單來說,電阻的意義就是,兩端加上固定的1v電壓,多長時間有1080個電子從這頭跑到了那頭。而電阻呢,就是乙個大桶,有1v電壓的時候,到底有多少個電子裝裡面了。好吧,現在看上面的單位。個數和個數,約掉了。1v電壓和1v電壓,約掉了。還剩下個約不掉的,就是時間。所以rc的量綱就是時間。括號 有人能告訴...