第一篇:一種乒乓球仿人機(jī)器人的平衡運(yùn)動(dòng)生成
一種乒乓球仿人機(jī)器人的平衡運(yùn)動(dòng)生成
摘要:過去十年里,人們?cè)诜氯藱C(jī)器人領(lǐng)域有了長(zhǎng)足的發(fā)展,但是在研究具有人機(jī)交互能力的機(jī)器人,并使其完成復(fù)雜任務(wù)方面還存在一些問題。為此,我們研發(fā)了一個(gè)名為“悟空”的機(jī)器人,“悟空”可以擊打乒乓球,并能夠與人連續(xù)對(duì)打。我們通過研究其打乒乓球,進(jìn)而研究仿人機(jī)器人與人類和環(huán)境交互的過程。本文的重點(diǎn)是研究機(jī)器人在打乒乓球過程中的穩(wěn)定問題。手臂具有的極大加速度會(huì)產(chǎn)生沖擊反力,這就使得穩(wěn)定變得極為重要。我們引入了一種最優(yōu)動(dòng)量補(bǔ)償方法和一種基于位置的阻抗控制預(yù)測(cè),這樣就可以使機(jī)器人的身體產(chǎn)生一個(gè)動(dòng)作,通過這個(gè)動(dòng)作使機(jī)器人可以吸收沖擊反力,從而保證可以成功的擊打乒乓球。實(shí)驗(yàn)結(jié)果表明,機(jī)器人可以與人進(jìn)行比賽,并且在沖擊反力的作用下依然保持穩(wěn)定。
一、引言
仿人機(jī)器人已經(jīng)成為機(jī)器人領(lǐng)域里最炙手可熱的一項(xiàng)研究之一。其類人的外形和結(jié)構(gòu)使其在與人交互的環(huán)境里工作有著巨大的優(yōu)勢(shì)。能夠雙足行走,又使仿人機(jī)器人能夠在復(fù)雜環(huán)境里簡(jiǎn)單而平穩(wěn)地通過障礙物。手臂和腿部多自由度的設(shè)計(jì)使其能夠幫助或者是替代人類完成一些日常的工作,使人們的生活更加簡(jiǎn)單和安全。仿人機(jī)器人具有與人類似的外形,這就使它們擁有更好的交互體驗(yàn),并且有望成為人們的生活中一個(gè)好幫手,比如照顧老年人以及小孩。
如果考察一下目前仿人機(jī)器人研究方面的取得的成果,就會(huì)發(fā)現(xiàn),人們已經(jīng)用各種模型研究了機(jī)器人穩(wěn)定移動(dòng)以及其他各種功能。然而要使機(jī)器人具有人類一樣的能力還是有很大的困難,這主要是由于傳感器的限制、驅(qū)動(dòng)器性能不高以及缺少像人類一樣的智能。服務(wù)型的仿人機(jī)器人不像那些工業(yè)生產(chǎn)機(jī)器人,具有穩(wěn)定工作環(huán)境,它們的工作環(huán)境更加惡劣,任務(wù)更加復(fù)雜,例如地面可能不平整或者傾斜,會(huì)遇到行走的人們、障礙、以及各種各樣的隨時(shí)可能移動(dòng)的物體,還有一些突然的受力可能會(huì)讓機(jī)器人絆倒,復(fù)雜的任務(wù)更需要對(duì)機(jī)器人整體驅(qū)動(dòng)精心的設(shè)計(jì),這都會(huì)使機(jī)器人遇到更多的困難。
在本文中,我們將乒乓球機(jī)器人作為研究人機(jī)交互以及機(jī)器人操控的一個(gè)切入點(diǎn)。作為一個(gè)智能仿人機(jī)器人系統(tǒng)理想的研究實(shí)驗(yàn),打乒乓球是一個(gè)很有挑戰(zhàn)性的任務(wù)。包含的關(guān)鍵點(diǎn)如下:(1)精巧的機(jī)械結(jié)構(gòu)設(shè)計(jì)。必須研發(fā)出一個(gè)既有強(qiáng)度有靈活的仿人機(jī)器人,以便其行走以及打乒乓球。(2)實(shí)時(shí)控制。設(shè)計(jì)和控制算法必須有效率,而且為了保證快速響應(yīng),控制環(huán)也必須很短。使每一個(gè)控制環(huán)時(shí)間最小化對(duì)于實(shí)時(shí)控制十分重要。(3)準(zhǔn)確度,包括實(shí)時(shí)的識(shí)別運(yùn)動(dòng)中的乒乓球,預(yù)測(cè)乒乓球軌跡,準(zhǔn)確地定位機(jī)器人本身。(4)穩(wěn)定性的保持,這個(gè)指標(biāo)對(duì)于手臂高速運(yùn)動(dòng)的機(jī)器人非常重要。到目前為止,我們研制的仿人機(jī)器人“悟空”,已經(jīng)能夠與人持續(xù)的對(duì)打。本文的重點(diǎn)是研究機(jī)器人打乒乓球的過程中,使其身體運(yùn)動(dòng)穩(wěn)定性能夠保持的算法。
本文剩余部分的研究能容如下:第二章主要是對(duì)相關(guān)工作的一些回顧。第三章描述了我們的機(jī)器人的系統(tǒng)配置。第四章提出了兩種機(jī)器人身體運(yùn)動(dòng)的算法。第五章主要列舉了我們的系統(tǒng)以及實(shí)驗(yàn)結(jié)果。第六章是參考文獻(xiàn)。
二、相關(guān)工作
三、機(jī)器人的結(jié)構(gòu)
四、身體運(yùn)動(dòng)的規(guī)劃及補(bǔ)償?shù)纳?/p>
機(jī)器人身體的運(yùn)動(dòng)對(duì)于平衡的保持及動(dòng)量的消除有著重要的作用。人們已經(jīng)進(jìn)行了很多實(shí)驗(yàn),研究了人類神經(jīng)系統(tǒng)在操縱手臂和身體運(yùn)動(dòng),從而完成一個(gè)既節(jié)能又能保持動(dòng)態(tài)平衡的動(dòng)作。在機(jī)器人研究領(lǐng)域,有許多方法可以通過增加自由度來取得更好的效果。尾田村提出的“動(dòng)量控制的解決”(Resoved Momentum Control)可以通過特定數(shù)量的冗余自由度來調(diào)節(jié)運(yùn)動(dòng)規(guī)劃中產(chǎn)生的線性/角動(dòng)量。許多研究人員也著力研就其他的方法去使旋轉(zhuǎn)動(dòng)量最小化。
在我們研究的初級(jí)階段,我們將機(jī)器手臂安裝在一個(gè)可調(diào)整的堅(jiān)固的底柱上,這個(gè)底柱重65Kg,高1.25m,固定在地面上一個(gè)0.5m*0.5m的區(qū)域,用這個(gè)機(jī)構(gòu)來測(cè)試我們的系統(tǒng)。這個(gè)底柱給機(jī)器手臂提供了一個(gè)十分堅(jiān)固的基底,使其可以進(jìn)行任何設(shè)定好的動(dòng)作。不過一旦機(jī)器手臂安裝在機(jī)器人的身上,沖擊反力就不能忽略了。在連續(xù)對(duì)打得過程中,機(jī)器人非常容易傾斜、搖晃、甚至是傾倒,因?yàn)槭直鄣木薮蠹铀俣纫约跋鄬?duì)較小的支撐底面。由于受到手臂加速度產(chǎn)生的沖擊反力,機(jī)器人的位置以及方向可能會(huì)更加偏離初始值。一旦機(jī)器人的位置偏離了初始值,拍子的理想軌跡與實(shí)際軌跡的偏差會(huì)使擊球點(diǎn)更加偏移,或者直接錯(cuò)過乒乓球,這都可能使連續(xù)對(duì)打失敗。
我們將手臂產(chǎn)生的沖擊視為機(jī)器人系統(tǒng)的外部干擾,設(shè)計(jì)了不同的控制方案使機(jī)器人能夠保持初始位置和方向。首先,如果需要產(chǎn)生一個(gè)較大的加速度,我們就可以在設(shè)計(jì)階段將沖擊反力計(jì)算出來。在身體的下端,例如腰關(guān)節(jié)和腿關(guān)節(jié),我們用一種動(dòng)量補(bǔ)償方法去消除手臂揮動(dòng)產(chǎn)生的角動(dòng)量。其次,通過安裝在機(jī)器人腳部的力/扭矩傳感器,我們可以測(cè)量沖擊反力,然后利用一種反饋調(diào)節(jié)方法可以使機(jī)器人吸收沖擊反力并減小其對(duì)機(jī)器人的影響。這樣,我們就可以應(yīng)用基于位置的阻抗控制來消除沖擊反力的影響了。
A、下端部位的動(dòng)量補(bǔ)償
許多研究都已經(jīng)指出了動(dòng)量控制的重要性。在我們的實(shí)驗(yàn)中,要使機(jī)器人手臂快速的完成擊打乒乓球的動(dòng)作,就會(huì)使機(jī)器人產(chǎn)生很大的加速度和角動(dòng)量。如果地面無法提供足夠的摩擦力來抵消X軸的角動(dòng)量,機(jī)器人就容易滑倒。于是我們引入了一種最優(yōu)動(dòng)量補(bǔ)償算法,這樣就可以利用機(jī)器人下部關(guān)節(jié)來優(yōu)化Z軸的角動(dòng)量,從而降低了由于手臂加速度產(chǎn)生的滑倒趨勢(shì)。
我們認(rèn)為仿人機(jī)器人是具有理想剛體結(jié)構(gòu)的樹狀機(jī)械。總的線性和角動(dòng)量就是機(jī)器人各個(gè)關(guān)節(jié)的線性和角動(dòng)量之和。在我們的例子中,在機(jī)器人穩(wěn)定站立并連續(xù)擊打乒乓球的過程中,我們只考慮其受到的角動(dòng)量:
(1)
Iupper以及Ilower機(jī)器人每個(gè)剛性結(jié)構(gòu)對(duì)應(yīng)于各自的旋轉(zhuǎn)軸的慣性張量。Qupper和qlower是每一個(gè)關(guān)節(jié)的角速度。
為了使機(jī)器人總的角動(dòng)量最小,就應(yīng)該讓機(jī)器人的上部,例如手臂角動(dòng)量,利用機(jī)器人下部產(chǎn)生的角動(dòng)量消除。換句話說,就是要求下部跟蹤式的產(chǎn)生一個(gè)與上部相反的角動(dòng)量,從而獲得最小的總角動(dòng)量。
為此,我們建立了如下模型:
Qe,Qx以及R是非負(fù)元素的矩陣,Ts是系統(tǒng)的取樣時(shí)間,δu控制變量的增量,δx是狀態(tài)變量的增量。E是跟蹤誤差。
最優(yōu)跟蹤問題可以通過預(yù)測(cè)控制來解決:
Yref是手臂運(yùn)動(dòng)產(chǎn)生的參考動(dòng)量,P表示Riccati方程的解。
在解決了跟蹤問題之后,我們得到了機(jī)器人下部所有關(guān)節(jié)的角速度,這組角速度可以使得機(jī)器人的總角動(dòng)量最優(yōu)化。關(guān)節(jié)的位置可以通過整合速度來計(jì)算出來。我們的最優(yōu)動(dòng)量控制沒有考慮到關(guān)節(jié)的極限位置,這就可能使得機(jī)器人下部運(yùn)動(dòng)過程中發(fā)生碰撞或者損壞關(guān)節(jié)的固定機(jī)構(gòu)。為了使機(jī)器人手臂的典型運(yùn)動(dòng)不至于損害機(jī)器人本身,我們將Qe,Qx以及R的參數(shù)設(shè)置為離線狀態(tài),雖然同時(shí)這樣也限制了補(bǔ)償?shù)男Ч?。整體的速度也會(huì)導(dǎo)致一個(gè)漂移的位置誤差,不過這個(gè)誤差可以在手臂運(yùn)動(dòng)結(jié)束時(shí),通過線性插值的方法消除。
B、利用阻抗控制降低影響
在手臂操作以及其他機(jī)械控制方面,阻抗控制已經(jīng)廣泛的應(yīng)用其中,并且成為了處理接觸力問題的普遍方法??偟南敕ㄊ悄M二階質(zhì)量-阻尼-彈簧系統(tǒng),改變模型的靜態(tài)或動(dòng)態(tài)的性質(zhì)。在連續(xù)擊打的測(cè)試中,我們發(fā)現(xiàn)機(jī)器人產(chǎn)生的沖擊反力會(huì)導(dǎo)致其發(fā)生橫向移動(dòng)。腳部沿著冠軸的扭矩曲線表明了其阻尼系統(tǒng)的特性(扭矩?cái)?shù)據(jù)是通過安裝在腳和踝關(guān)節(jié)之間的力/扭矩傳感器收集的)。我們引入了基于位置的阻抗控制來改變阻尼系統(tǒng)的動(dòng)態(tài)響應(yīng),從而調(diào)整時(shí)間,減少超調(diào)。
假設(shè)雙足機(jī)器人通過一個(gè)質(zhì)量-阻尼-彈簧系統(tǒng)連接在地面上,如圖四所示。地面和腳部的影響/接觸力可以表示為:
Md 是模擬的質(zhì)量矩陣,Dd和Kd是相應(yīng)的阻尼和剛度矩陣。P是腳部實(shí)際的位置向量,p0是腳部的理想位置響亮。F表示需要的力/扭矩傳感器數(shù)據(jù)。P和p0可以通過對(duì)實(shí)際關(guān)節(jié)角度和理想的關(guān)節(jié)角度的運(yùn)動(dòng)學(xué)分析得出。我們最初引入的阻抗控制是為了減小機(jī)器人的橫向移動(dòng),所以將具有選擇性的矩陣
應(yīng)用在公式(7)的兩側(cè),以便能夠計(jì)算理想的數(shù)據(jù)。為了簡(jiǎn)化預(yù)測(cè),我們只控制踝關(guān)節(jié)的節(jié)距。這樣公式(7)就可以簡(jiǎn)化為
公式(9)中的所有變量都是標(biāo)量。踝關(guān)節(jié)節(jié)距速度的補(bǔ)償值pe通過下式計(jì)算:
我們離散處理公式(10)得到如下的控制公式:
K表示kth循環(huán),Ts是控制系統(tǒng)的采樣時(shí)間。阻抗系統(tǒng)的離線參數(shù)是通過經(jīng)驗(yàn)獲得的。兩條腿的參數(shù)是不同的,使一條腿具有較大的剛度,可以為整個(gè)身體提供足夠的穩(wěn)定度,防止其滑倒,同時(shí)讓另一條條具有較大的粘性,可以吸收沖擊反力。
五、結(jié)果
六、結(jié)論
本文介紹了一個(gè)名為“悟空”的機(jī)器人,它可以擊打乒乓球,也可以與人連續(xù)對(duì)打。我們闡述了機(jī)器人的系統(tǒng)組建及結(jié)構(gòu),并且展示了仿人機(jī)器人可以通過正手和反手擊打各種速度的乒乓球。為了進(jìn)行規(guī)劃和補(bǔ)償,提出了兩種身體運(yùn)動(dòng)的生成算法,并且說明了如何抵消由于手臂運(yùn)動(dòng)所產(chǎn)生的巨大加速度。我們還討論了一種最優(yōu)動(dòng)量補(bǔ)償方法,利用機(jī)器人下部關(guān)節(jié)來消除手臂產(chǎn)生的動(dòng)量。實(shí)驗(yàn)結(jié)果表明,基于位置的阻抗控制可以有效的吸收反擊沖力,并且可以是機(jī)器人保持穩(wěn)定。
目前我們正在研發(fā)可以對(duì)打的兩個(gè)機(jī)器人。對(duì)于人來說,打乒乓球的時(shí)候,如果球離身體太遠(yuǎn),兩只腳可以移動(dòng)的去擊打。但是我們的機(jī)器人腿部質(zhì)量過大,并且不是很靈活,這就限制了對(duì)打過程中的移動(dòng)。還有一個(gè)更加嚴(yán)峻的問題,如果機(jī)器人不再是以一個(gè)已經(jīng)設(shè)計(jì)好的固定的姿勢(shì)站立,平衡就很難保證。盡管機(jī)器人對(duì)打還存在一個(gè)技術(shù)性的問題,我們會(huì)繼續(xù)著重研究仿人機(jī)器人平衡的保持以及整個(gè)身體運(yùn)動(dòng)的生成。