2015-01-15 85 views
1

這是我正在使用的3D模型的草稿,我想用python語言來模擬它的行爲。我一直在研究這個模擬的最佳實現,但我沒有發現任何可以適合真實運動的東西。我嘗試過解析解決方法,但是因爲某些參數的不確定性(臂長的某些誤差)而未能進行測量。模擬固定端機器人手臂

我想模擬由旋轉關節產生的運動並將其轉換爲與該方案中描述的系統類似的系統。

Stable Status

在一定時間後,系統可以使用旋轉接頭,然後打開下面的狀態。

Rotated

對系統狀態都描繪的下一個計劃。 Both

一個簡單的簡化與DH參數將是:

enter image description here

重要的是如何計算的位置和兩個非控制關節的角度,使得受體的關節角度(固定點)可以計算出來。

這不僅是一個逆運動學問題。有必要考慮運動限制。運動必須由旋轉關節角度,連桿長度以及定點位置和長度決定。

下圖中的紅色圓圈描繪了第二個非控制點的可能位置。

enter image description here

你會如何模擬這種運動?

+0

你嘗試[這](http://stackoverflow.com/q/2533321/1982962)? –

+0

問題僅限於蟒蛇中的機器人手臂恐怕... –

回答

1

有一個有問題的位置, 其中兩個圓的交點(如下所述) 有一個點。 在這種情況下(我們假設它是平面狀態(重力垂直於 )和靜態情況)沒有任何力,它隨第二個非受控關節移動。 在動態中,我們爲下一步選擇另一種解決方案。

當路口不存在時, 那種情況不存在 和轉動關節不能移動 到這個位置。

在計算 所有的位置,確定不存在的交叉點的位置的時候,得到(trivialy)運動限制。

您是否直接獲得非固定點的結束位置?

舊版ansewer:

模擬運動:用於之間 開始位置,並與步驟delta_t結束位置的全部時間的非controled點

  1. 計算位置。
  2. 逐步繪製每個計算的位置(例如通過Pygame)。

計算:第一非控制點(較高)

x_2 = x_1 + l_12 cos(Theta_1),

y_2 = y_1 + l_12 sin(Theta_2),

其中X_1(X_1,Y_1的

  1. 第一計算位置)是positi上外卷點的, X_2(X_2,Y_2)是第一非控制點 和l_12的位置是X_1和X_2之間長度

  2. 計算相交的兩個圓弧K_1和K_2 , 其中k_1(第一非控制點,l_23)和k_2(接收器關節,l_34),其中k(圓的中心,圓的半徑)。

第2步有兩個解決方案。 我們選擇其中一個。 要模擬運動,我們必須選擇 「相同的解決方案」。

從兩點

計算角度:

alpha = math.atan2((y_2-y_1)/(x_2-x_1))