一種類人機(jī)器人上肢運(yùn)動的類神經(jīng)控制方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種類人機(jī)器人運(yùn)動的控制方法,尤其涉及一種類人筋腱式機(jī)器人上 肢運(yùn)動的控制方法。
【背景技術(shù)】
[0002] 傳統(tǒng)機(jī)器人采用以關(guān)節(jié)電機(jī)為主的驅(qū)動方式,通過關(guān)節(jié)之間的變換關(guān)系反解出運(yùn) 動控制矩陣,存在坐標(biāo)轉(zhuǎn)換復(fù)雜、計(jì)算量大、靈活度低、適應(yīng)力差等缺點(diǎn)。類人機(jī)器人作為下 一代智能機(jī)器人技術(shù)的發(fā)展方向之一,采用仿人的肌肉-關(guān)節(jié)結(jié)構(gòu),具備了更強(qiáng)的靈活性、 通用性和可靠性。但由于其特殊的結(jié)構(gòu)設(shè)計(jì),增加了運(yùn)動模型的自由度和非線性性,也使得 對模型的反向求解計(jì)算過程繁瑣,計(jì)算量龐大,因此對傳統(tǒng)的控制方法提出了更高的要求。
[0003] 類人機(jī)器人的上肢運(yùn)動規(guī)劃除了滿足高精度和學(xué)習(xí)能力的要求,還必須保證快速 的反應(yīng)能力。到目前為止,針對機(jī)器人的運(yùn)動規(guī)劃主要有兩類,一類是基于傳統(tǒng)控制理論及 信息技術(shù)的控制方法,這是在目前機(jī)器人運(yùn)動規(guī)劃中主要采用的方法。另外一類是模擬人 體運(yùn)動控制系統(tǒng)的控制方法。
[0004] 基于傳統(tǒng)控制理論及信息技術(shù)的控制方法包括自適應(yīng)控制、模糊控制、預(yù)測控制、 人工神經(jīng)網(wǎng)絡(luò)和專家系統(tǒng)等。為了實(shí)現(xiàn)高精度的運(yùn)動控制,此類方法都需要復(fù)雜而大量的 計(jì)算,因此必然會犧牲機(jī)器人的快速反應(yīng)能力。除此之外,高精度的運(yùn)動控制依賴于對機(jī)器 人每一關(guān)節(jié)的精準(zhǔn)控制,所以任一關(guān)節(jié)處的細(xì)小偏差都可能導(dǎo)致運(yùn)動結(jié)果的巨大誤差。采 用此類算法控制的機(jī)器人大多缺乏良好的學(xué)習(xí)能力。根據(jù)攝像頭及傳感器反饋所得的視覺 與力的信息,機(jī)器人可以在預(yù)設(shè)的軌跡上完成運(yùn)動,卻無法勝任環(huán)境時刻變化的任務(wù)。當(dāng)采 用類似于ZMP理論,將人工計(jì)劃與控制算法相結(jié)合時,機(jī)器人的控制性能可以得到提高。但 該方法所需的對機(jī)器人和環(huán)境的建模同樣將產(chǎn)生巨大的計(jì)算量,犧牲了機(jī)器人的快速反應(yīng) 能力。所以,此類方法可以分別實(shí)現(xiàn)機(jī)器人控制的高精度控制、學(xué)習(xí)能力和快速反應(yīng)能力, 卻無法同時滿足三個要求。
[0005] 人體的運(yùn)動系統(tǒng)可以完成像運(yùn)動和裝配等高精度任務(wù),且同時具備快速反應(yīng)能力 和學(xué)習(xí)能力,所以人們希望通過模擬人體運(yùn)動控制系統(tǒng)來改進(jìn)控制算法。在神經(jīng)認(rèn)知領(lǐng)域, 基于對人體運(yùn)動系統(tǒng)的研究,生物學(xué)家們提出了兩種人體的運(yùn)動控制機(jī)制,分別為優(yōu)化控 制理論和習(xí)慣計(jì)劃理論?,F(xiàn)有論文《Optimal feedback control and the neural basis of volitional motor control》描述了優(yōu)化控制理論,其認(rèn)為,人體經(jīng)通過運(yùn)動路徑和做 功的計(jì)算分析,來控制每一塊肌肉以實(shí)現(xiàn)某一運(yùn)動任務(wù)。但在處理復(fù)雜的機(jī)器人運(yùn)動系統(tǒng) 時,該方法會產(chǎn)生龐大的計(jì)算量,因而無法滿足實(shí)時控制的要求?,F(xiàn)有論文《Muscle coordination is habitual rather than optimal》描述了習(xí)慣計(jì)劃理論,其認(rèn)為,人體傾 向于通過學(xué)習(xí)所得的運(yùn)動模板而不是實(shí)時優(yōu)化來完成一個新的運(yùn)動任務(wù)。本發(fā)明就是基于 將習(xí)慣計(jì)劃理論應(yīng)用于類人機(jī)器人控制而提出的。
【發(fā)明內(nèi)容】
[0006] 為解決現(xiàn)有的機(jī)器人控制方法無法同時滿足機(jī)器人上肢運(yùn)動中高精度、學(xué)習(xí)能力 和快速反應(yīng)能力的要求,本發(fā)明提出了一種類人機(jī)器人上肢運(yùn)動的類神經(jīng)控制方法,大幅 減少了計(jì)算量,提高了反應(yīng)能力,還可以根據(jù)已有模板進(jìn)行自主學(xué)習(xí),根據(jù)誤差和控制精度 的要求,不斷生成精度更高的運(yùn)動模板。
[0007] 本發(fā)明提出的一種類人機(jī)器人上肢運(yùn)動的類神經(jīng)控制方法,包括以下兩大部分:
[0008] 模型及模板的構(gòu)建:
[0009] 步驟A1,建立類人機(jī)器人的上肢動力學(xué)模型D;
[0010] 步驟A2,根據(jù)類人機(jī)器人的上肢動力學(xué)模型D,建立m組運(yùn)動的初始的運(yùn)動模板形 成運(yùn)動模板庫并存儲于機(jī)器人控制器中;運(yùn)動模板由類人機(jī)器人上肢運(yùn)動的控制信號和輸 出結(jié)果組成;
[0011] 模板的選擇和控制輸出:
[0012] 步驟B1,給定新的運(yùn)動任務(wù)位置pnew= {xnew,ynew};
[0013] 步驟B2,依據(jù)人體運(yùn)動的習(xí)慣計(jì)劃理論和運(yùn)動通路中小腦與脊髓間的信息傳播機(jī) 制,給定新的運(yùn)動任務(wù)位置Pnew后機(jī)器人控制器從運(yùn)動模板庫中選擇K個運(yùn)動模板;
[0014] 步驟B3,根據(jù)各所選模版中上肢終點(diǎn)位置與pnew的距離關(guān)系確定各運(yùn)動模板的權(quán) 重Wi,將所選擇的各個運(yùn)動模板的控制信號Ui及對應(yīng)權(quán)重Wi相乘后求和計(jì)算出新的運(yùn)動任 務(wù)所需的控制信號11_,將1!_輸入上肢動力學(xué)模型計(jì)算上肢運(yùn)動的終點(diǎn)位置
[0015] 步驟M,計(jì)算步驟B3中得到的上肢運(yùn)動的終點(diǎn)位置與期望終點(diǎn)位置pnew的誤 差值并統(tǒng)計(jì)步驟B3的執(zhí)行次數(shù),若誤差值大于設(shè)定的誤差閾值,將該控制信號此^及終點(diǎn)位 置P' new所形成的一組運(yùn)動模板保存入運(yùn)動模板庫,再次重復(fù)步驟B2、步驟B3、步驟B4,直至 誤差值 < 設(shè)定的誤差閾值或步驟B3執(zhí)行次數(shù)大于設(shè)定的執(zhí)行次數(shù)閾值,機(jī)器人控制器將保 存對應(yīng)的控制信號及終點(diǎn)位置作為新任務(wù)的運(yùn)動模板,執(zhí)行該模板中的控制信號,輸出運(yùn) 動結(jié)果。
[0016] 優(yōu)選的,步驟A1中依據(jù)人體上肢動力學(xué)模型的建立過程為:通過對上肢運(yùn)動過程 的依次建模來進(jìn)行類人機(jī)器人的上肢動力學(xué)模型D的建立。
[0017]優(yōu)選的,步驟A2中所述的類人機(jī)器人上肢運(yùn)動的控制信號為類神經(jīng)元信號,該信 號為一組由機(jī)器人控制器產(chǎn)生的時間序列,機(jī)器人控制器依據(jù)類神經(jīng)元信號控制電機(jī)轉(zhuǎn) 動,進(jìn)而帶動類人機(jī)器人的上肢肌肉運(yùn)動,將類人機(jī)器人上肢運(yùn)動到指定的終點(diǎn)位置,類人 機(jī)器人上肢運(yùn)動的輸出結(jié)果為上肢運(yùn)動的終點(diǎn)位置。
[0018] 優(yōu)選的,步驟A2中運(yùn)動模板庫的建立包括如下步驟:
[0019] 步驟A21,設(shè)定一次上肢運(yùn)動中期望的終點(diǎn)位置pi= {xi,yi};
[0020] 步驟A22,根據(jù)Pl及上肢動力學(xué)模型D反向計(jì)算出對應(yīng)的控制信號m;
[0021] 步驟A23,根據(jù)m及上肢動力學(xué)模型D計(jì)算出機(jī)器人上肢運(yùn)動中實(shí)際的終點(diǎn)位置p 'i;
[0022] 步驟A24,同一次運(yùn)動中的m和i將作為一組初始的運(yùn)動模板;
[0023]步驟A25,重復(fù)步驟A21至步驟A24獲得m組初始的運(yùn)動模板形成運(yùn)動模板庫并存儲 于機(jī)器人控制器中,運(yùn)動模板庫表示為U= {ui,U2,···,Um}和P' = {p\,pS,···,p\}。
[0024]優(yōu)選的,步驟A2中初始的運(yùn)動模板的個數(shù)m2 3,步驟B2中3。
[0025] 優(yōu)選的,步驟B3中Unew和P' new具體計(jì)算方法如下:
[0026] 步驟B31,依次計(jì)算pnew與步驟B2中所選的運(yùn)動模板所對應(yīng)上肢終點(diǎn)位置i的權(quán) 重關(guān)系Wi ;
[0027]
[0028] 式中
,di表示ιΛ與pnew的歐幾里得距離;
[0029]步驟B32,利用步驟B2中所選的運(yùn)動模板的控制信號m及對應(yīng)權(quán)重Wl計(jì)算新任務(wù)所 需的控制信號IW,計(jì)算公式為
[0030]
[0031]步驟B33,將控制信號unew帶入上肢動力學(xué)模型D,計(jì)算出在新任務(wù)的上肢運(yùn)動中實(shí) 際的終點(diǎn)位置P'new。
[0032]優(yōu)選的,步驟B2中運(yùn)動模板的選擇方法包括如下步驟:
[0033]步驟B21,從運(yùn)動模板庫中選擇3個運(yùn)動模板,使3個運(yùn)動模板中類人機(jī)器人上肢的 終點(diǎn)位置f i能夠形成包圍pnew的最小三角形;
[0034] 步驟B22,當(dāng)選擇的模板數(shù)k>3時,從運(yùn)動模板庫中選擇其余的運(yùn)動模板,選擇依據(jù) 為類人機(jī)器人上肢的終點(diǎn)位置的距離從小到大順序選擇,且能與步驟B21中所選 擇的3個運(yùn)動模板中類人機(jī)器人上肢的終點(diǎn)位置形成一個包圍p new的凸多邊形N;
[0035] 本步驟中所述的其余運(yùn)動模板的個數(shù)為:若為首次執(zhí)行步驟B21則為K-3,若非首 次執(zhí)行步驟B21則為K-4個運(yùn)動模板。
[0036]步驟B23,若為首次執(zhí)