導納控制之單質量塊simulink驗證(含程式)

2021-10-09 13:57:06 字數 2545 閱讀 2695

本人在收集資料時候發現很多國內學者對阻抗控制及導納控制的概念不是很清晰。國內很多學者將阻抗控制和導納控制統稱為阻抗控制,雖然兩者都是來自同乙個公式,但兩者的思想截然相反。

簡單來說,阻抗控制和導納控制都是柔性控制方法,只是觀察的角度不同。這兩種控制方法都能使得機械人在受到外界干擾時呈現出類似彈簧阻尼系統的特性。

考慮乙個質量為m

mm的物塊,它受乙個驅動力f

ff,同時還有乙個fex

tf_}

fext

​的外力。描述其動力學狀態的方程如(1)式。

m x¨

=f+f

ext(1)

m \ddot=f+f_} \tag

mx¨=f+

fext

​(1)

e

ee為物塊的實際位移與期望位移之差

e =(

x−x0

)(2)

e=\left(x-x_\right) \tag

e=(x−x

0​)(

2)其中x

xx是物塊實際位移,x0x_

x0​是物塊的期望位移

那麼如果想要使物體在外力fex

tf_}

fext

​的作用**現出類似彈簧阻尼系統的特性,位移偏差e

ee與外力fex

tf_}

fext

​要就要滿足下式

m de

¨+dd

e˙+k

de=f

ext(3)

m_ \ddot+d_ \dot+k_ e=f_ \tag

md​e¨+

dd​e

˙+kd

​e=f

ext​

(3)其中md、

dd、k

dm_、d_ 、k_

md​、dd

​、kd

​是設定的阻抗引數

假設機械人末端受到外界乙個衝擊

阻抗控制的控制思路是檢測外界衝擊對系統造成的位移,速度等,然後根據位移量等和阻抗引數計算出機械人的下乙個週期的控制力矩,從而使得機械人呈現出柔性(控制系統的內環是力閉環)。其控制框圖如圖1所示。

這裡面有一點需要注意,一些文章中提出阻抗控制不需要使用力感測器檢測外力,但圖1中卻將外力fex

tf_}

fext

​作為反饋量反饋回阻抗控制器中,這是為什麼呢?

這裡並不是說阻抗控制中不需要得知外力,而是說阻抗控制中不需要使用力感測器來檢測外力。前提是必須精確知道該系統的動力學特性,比如質量、阻尼、剛度。當我們檢測到系統受到外力後的位移量,可以通過系統的動力學方程反求這個外力。

聯立(1)(2)(3)式我們就得到阻抗控制器公式(4)式

f =(

mmd−

1)fe

xt+m

x¨0−

mmd(

dde˙

+kde

)(4)

f=\left(\frac}-1\right) f_}+m \ddot_-\frac}\left(d_ \dot+k_ e\right) \tag

f=(md​

m​−1

)fex

t​+m

x¨0​

−md​

m​(d

d​e˙

+kd​

e)(4

)即阻抗控制器輸入位移量,輸出力。

導納控制的控制思想就是利用機械人末端的力感測器檢測機械人受到的外力,然後根據這個外力和導納引數計算出機械人下乙個週期的位移量,從而使得機械人呈現出柔性(控制系統的內環是位移閉環)。

其具體公式如下

m d(

x¨d−

x¨0)

+dd(

x˙d−

x˙0)

+kd(

xd−x

0)=f

ext(5)

m_\left(\ddot_d-\ddot_\right)+d_\left(\dot_d-\dot_\right)+k_\left(x_d-x_\right)=f_} \tag

md​(x¨

d​−x

¨0​)

+dd​

(x˙d

​−x˙

0​)+

kd​(

xd​−

x0​)

=fex

t​(5

)我們解(5)式這個微分方程,得到x

dx_d

xd​,然後將x

dx_d

xd​傳遞給內環位置閉環。

機械人阻抗與導納控制

目前用於噴漆 搬運 點焊等操作的工業機械人只具有簡單的軌跡控制。軌跡控制適用於 機械人的末端執行器在空間沿某一規定的路徑運動,在運動過程中末端執行器不與任何外界 物體接觸。對於執行擦玻璃 轉動曲柄 擰螺絲 研磨 打毛刺 裝配零件等作業的機械人,其末 端執行器與環境之間存在力的作用,且環境中的各種因素...

SWIFT邏輯控制之控制轉移

swift 提供了5個關鍵字 break continue。fallthrough。return。throw 下面通過乙個例子來幫助我們理解break的使用 需求 求x 4 y 2 15 x y在300以內的乙個正整數解 我們可以列舉1 300的數 方法一 var getanswer false g...

控制流之if then fi

今天學習了 shell 程式設計的控制流的各種方法,現總結如下。1.if then else.結構此結構和 c語言中的判斷 if else 結構頗為相似。用法為 if 判斷條件 then 命令 1 命令2 fi 這是常用結構,和 c語言不同的是它需要以 fi作為乙個條件判斷的結尾。當然也可以用這個可...