阻抗和導(dǎo)納的關(guān)系
我盡可能把事情說(shuō)的通俗一些,所以內(nèi)容并不會(huì)非常嚴(yán)謹(jǐn)。而且這個(gè)領(lǐng)域的術(shù)語(yǔ)很亂,Impedance control, stiffness control, admittance control, compliance control等等詞匯在不同作者手中都有好多不同的意思。所以我只能保證用詞盡可能自洽,閱讀時(shí)請(qǐng)勿硬套名詞。
討論實(shí)現(xiàn)方法以前一定要先搞清楚動(dòng)機(jī)和目的。因?yàn)閷?shí)踐中經(jīng)常要做出各種妥協(xié)和Hack,如果目的不明確,很容易干出削足適履、南轅北轍的事情來(lái)。下面我先討論動(dòng)機(jī),然后抽象出一個(gè)控制目標(biāo),最后再說(shuō)實(shí)現(xiàn)方式。
===================================
1. 完美定位是不夠的
===================================
機(jī)器人最傳統(tǒng)、最常用的控制方式就是位置控制了。這里無(wú)需討論任何實(shí)現(xiàn)細(xì)節(jié),只需設(shè)想一個(gè)完美的位置控制機(jī)器人:它能夠以0誤差來(lái)到達(dá)指定的位置,或以0誤差跟隨指定的軌跡。
這樣的機(jī)器人看起來(lái)叼炸天,然而考慮一個(gè)簡(jiǎn)單的任務(wù)——開門。
假設(shè)這個(gè)門是一個(gè)理想門:門板圍著固定軸轉(zhuǎn)動(dòng),門板末端的軌跡是一個(gè)完美的圓弧。門板重量為0,摩擦力為0,彈性為0。機(jī)器人緊緊地抓住門板的末端。

很明顯,由于門板沒(méi)有重量也沒(méi)有摩擦,機(jī)器人甚至 無(wú)需對(duì)門施加任何力,只要沿著圖中的圓弧運(yùn)動(dòng),就可以把門打開。當(dāng)一個(gè)完美的機(jī)器人,遇到一個(gè)完美的門,so simple! what could possibly go wrong?

然而,實(shí)踐中機(jī)器人和門的相對(duì)位置幾乎不可能極為精確的確定,如下圖所示。機(jī)器人的實(shí)際路線與理想的圓弧會(huì)有微小的誤差。

但是門的末端不可能偏離圓弧運(yùn)動(dòng),而機(jī)器人末端又緊緊的抓住了門。。。于是, 要么門被拽掉,要么機(jī)器臂被扯斷。不給力啊老師!
===================================
2.柔性是環(huán)境互動(dòng)的好朋友
===================================
前述完美機(jī)器人解決不了的事情,一根破彈簧就能搞定。。。如下圖,讓機(jī)器人通過(guò)一個(gè)彈簧和門相連。可以想象,機(jī)器人開門時(shí),誤差只會(huì)導(dǎo)致彈簧伸長(zhǎng),不會(huì)把門扯掉了。當(dāng)然還需要一點(diǎn)摩擦力來(lái)避免彈簧無(wú)限振蕩。)

再舉一例,讓前述完美定位機(jī)器人 用無(wú)限硬的刀在無(wú)限硬的桌子上切薄紙也很難:因?yàn)橐稽c(diǎn)點(diǎn)誤差就會(huì)導(dǎo)致要么切不到紙,要么把刀弄折,要么把桌子切壞。但是用厚海綿擦桌子就很容易:誤差只會(huì)導(dǎo)致海綿變形一點(diǎn)而已。從這些例子中可以看出, 當(dāng)機(jī)器人和外物有直接接觸時(shí),一定的柔性是你的好朋友。It’s all about interaction.
*注意下面的方法不是顯式力控制(Explicit Force Control). 顯式力控制是另外好大一灘事,另說(shuō)吧。
===================================
3.系統(tǒng)控制目標(biāo)
===================================
但是機(jī)器人不能總是有彈簧相助,而且彈簧的剛度(stiffness)不能按需調(diào)節(jié),也很難做到各向異性(在不同方向上有不同的剛度)。所以希望能用控制算法讓機(jī)器臂表現(xiàn)出想要的柔性。也就是下圖中虛線框中的系統(tǒng),實(shí)際上是由控制算法實(shí)現(xiàn)的。

最簡(jiǎn)單的有彈性、而且不會(huì)永久震蕩的系統(tǒng)就是Mass-Spring-Damper了。所以不妨把目標(biāo)定為:讓機(jī)器人表現(xiàn)出和下面這樣二階系統(tǒng)相同的性質(zhì)。

===================================
4.實(shí)現(xiàn)目標(biāo)的不同路線
===================================
用公式描述一下這個(gè)系統(tǒng)的表現(xiàn):

注意,這個(gè)公式有兩種解讀方式:


其實(shí)這就是胡克定律F = kx的兩種解讀:既可以說(shuō)彈簧是因?yàn)樾巫兌a(chǎn)生力,也可以說(shuō)彈簧是因?yàn)楫a(chǎn)生力(注意這里不是外力,是彈簧自己產(chǎn)生的力)而形變。后一種解讀可能直觀上感覺(jué)有點(diǎn)奇怪,但數(shù)學(xué)上兩種說(shuō)法沒(méi)有對(duì)錯(cuò)之分。畢竟胡克定律只是確定了F和x間的線性關(guān)系,并沒(méi)有因果上的意義。
兩種解讀方式,分別對(duì)應(yīng)兩種實(shí)現(xiàn)方法:
1. 測(cè)量當(dāng)前位置和目標(biāo)位置的差,調(diào)整末端產(chǎn)生的力(一般通過(guò)調(diào)整各關(guān)節(jié)力矩實(shí)現(xiàn))。這種通常稱為impedance control或stiffness control.
2. 測(cè)量末端受到的力,調(diào)整末端的速度。這種常稱為admittance control.
(下面一段燒腦預(yù)警)
在第一種方法中,可以認(rèn)為機(jī)器人本身是一個(gè)Admittance(輸入是力矩,輸出是運(yùn)動(dòng)),而控制器是一個(gè)Impedance(輸入是位置,輸出是力矩)。在第二種方法中,機(jī)器人本身是Impedance (輸入是速度,輸出是對(duì)外的力),而控制器是Admittance(輸入是外力,輸出是運(yùn)動(dòng))。其實(shí)這是必然的,因?yàn)閍dmittance和impedance需要相間出現(xiàn)。
兩種方法各有利弊。
第一種方法與環(huán)境接觸時(shí)穩(wěn)定性好,但是無(wú)接觸時(shí)對(duì)位置實(shí)際上是開環(huán)的,因此對(duì)于建模的要求比較高。如果建模誤差大,則位置的精度會(huì)受影響。
第二種方法無(wú)接觸時(shí)位置精度比較高,但是當(dāng)機(jī)器人本身剛性很大又與剛性環(huán)境接觸時(shí),系統(tǒng)容易不穩(wěn)定。

===================================
5.其他選擇
===================================
此外,上面提到的Mass–Spring-Damper系統(tǒng)中有M, b, k三個(gè)參數(shù)。一般而言,k對(duì)任務(wù)的影響很大,因此絕大多數(shù)柔順控制的算法都可以調(diào)節(jié)k,而且一般可為不同的方向設(shè)定不同的k值。而M則不同:對(duì)于輕型機(jī)器臂來(lái)說(shuō),M在奇異點(diǎn)以外的地方一般不會(huì)太大,而且對(duì)大部分任務(wù)來(lái)說(shuō)也并不本質(zhì)。因此大部分實(shí)現(xiàn)中M是不能調(diào)節(jié)的(without inertia shaping)。
上面提到的都是在笛卡爾空間中的柔順控制,當(dāng)然柔順控制也可以定義在關(guān)節(jié)空間。
一些機(jī)器人每個(gè)關(guān)節(jié)上都裝備有力矩傳感器(如iiwa),或使用電流來(lái)估計(jì)電機(jī)上帶的力矩。在這些情況下,可以直接實(shí)現(xiàn)關(guān)節(jié)空間的柔順控制。而且外力可以直接作用在機(jī)器臂上,而不僅僅限制在末端上。這在拖動(dòng)示教時(shí)很方便,特別是對(duì)于7軸冗余機(jī)器人(否則肘部不容易控制)。
因?yàn)樯鲜龇椒ú粚儆贓xplicit Force Control,所以并不能直接調(diào)整對(duì)外界環(huán)境施加的力。例如在前述刀切紙的例子里,如果用Impedance control而且希望精確控制刀對(duì)紙面施加的力,那么需要在impedance control外面再套一層環(huán),通過(guò)調(diào)節(jié)平衡點(diǎn)(可以理解為彈簧的0力點(diǎn))的位置來(lái)控制力的大小。
===================================
6. 總結(jié)
===================================
總之,柔順控制根據(jù)測(cè)量量、反饋量、可調(diào)節(jié)參數(shù)、定義空間等等不同,有很多很多的實(shí)現(xiàn)方式。具體選用哪個(gè)要根據(jù)需求和硬件調(diào)節(jié)決定。但萬(wàn)變不離其宗,柔順控制就是讓機(jī)器人能夠跟環(huán)境和人更平順的交互。