• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于多智能體思想的輔助手部運(yùn)動(dòng)系統(tǒng)設(shè)計(jì)

      2020-06-22 06:57:18魏鹿鳴馬鐵駒
      關(guān)鍵詞:手部手指速度

      魏鹿鳴 馬鐵駒

      (華東理工大學(xué) 理學(xué)院, 上海 200237)

      引 言

      多智能體系統(tǒng)(multi-agent system,MAS)目前主要應(yīng)用于飛行編隊(duì)、信號(hào)控制等領(lǐng)域,其思想源于自然界中的編隊(duì)現(xiàn)象。多智能體系統(tǒng)的特殊性在于,每個(gè)智能體都能根據(jù)給出的全局目標(biāo)進(jìn)行自主規(guī)劃,通過(guò)智能體之間的交流達(dá)到解決問(wèn)題的目的,使得復(fù)雜系統(tǒng)的表達(dá)得到簡(jiǎn)化。哈佛大學(xué)自組織研究所設(shè)計(jì)了一個(gè)名為Kilobot的簡(jiǎn)單低成本機(jī)器人[1-2],由若干個(gè)機(jī)器人組成的小型群體可以在平面上執(zhí)行一系列簡(jiǎn)單的多智能體行為。Kilobot機(jī)器人群體的面世使得多智能體系統(tǒng)在實(shí)際生活中的應(yīng)用成為可能。

      蜂擁算法(flocking algorithm)是一應(yīng)用廣泛且性能良好的多智能體算法。Reynolds[3]于1987年在其模擬程序Boids中首次模擬了多智能體的蜂擁行為。隨后科研人員們就控制算法[4-5]、機(jī)器人[6-7]、移動(dòng)傳感網(wǎng)絡(luò)[8-9]等方面都進(jìn)行了大量研究。其中,王帥磊等[4]提出了基于Levy飛行的蜂擁控制算法,采用Levy飛行策略對(duì)目標(biāo)進(jìn)行搜索,在移動(dòng)智能體群體中加入搜索智能體,智能體根據(jù)周?chē)従雍透兄降哪繕?biāo)信息調(diào)整自身運(yùn)動(dòng);潘無(wú)為等[7]針對(duì)多自主式水下機(jī)器人(AUV)系統(tǒng),設(shè)計(jì)了一種結(jié)合人工勢(shì)場(chǎng)與虛擬結(jié)構(gòu)的多AUV編隊(duì)控制算法,可令A(yù)UV系統(tǒng)無(wú)碰撞地進(jìn)行編隊(duì)變換;婁柯等[8]構(gòu)造了一個(gè)虛擬的領(lǐng)導(dǎo)者節(jié)點(diǎn),可令其他網(wǎng)絡(luò)各節(jié)點(diǎn)作為跟隨者,跟蹤領(lǐng)導(dǎo)者的運(yùn)動(dòng)軌跡,實(shí)現(xiàn)了網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)連通性的保持?;谇叭说某墒斓难芯砍晒芍?,多智能體蜂擁算法能夠良好地應(yīng)用于實(shí)際生活。

      現(xiàn)今有眾多手部結(jié)構(gòu)完整但活動(dòng)不便的患者,已有研究人員為該類(lèi)患者設(shè)計(jì)了不需要與人體神經(jīng)對(duì)接的外骨骼系統(tǒng)[10],它通過(guò)傳感器感應(yīng)人手的肌肉運(yùn)動(dòng)意圖,外接機(jī)械系統(tǒng)通過(guò)杠桿產(chǎn)生目標(biāo)需要的作用力,以此幫助患者進(jìn)行正常的手部運(yùn)動(dòng)。

      然而,傳統(tǒng)的機(jī)械手系統(tǒng)結(jié)構(gòu)固定,不易于根據(jù)患者手的大小不同靈活變換。由于多智能體系統(tǒng)具有易于更換且能夠自主規(guī)劃的特性,可考慮運(yùn)用多智能體系統(tǒng)輔助患者的運(yùn)動(dòng);同時(shí),作為多智能體算法中的蜂擁算法可實(shí)現(xiàn)多智能體的自組織功能。因此對(duì)蜂擁算法進(jìn)行改進(jìn),使其能夠適配于人體手指的運(yùn)動(dòng),從而輔助患者進(jìn)行日常的手部活動(dòng)是一種可行的思路。

      本文于Unity引擎內(nèi)模擬了均勻安裝在手指上的若干智能體單元組成的多智能體系統(tǒng)追隨目標(biāo)點(diǎn)的運(yùn)動(dòng)行為,并帶動(dòng)手指以輔助手指彎曲的過(guò)程。基于多智能體原理制作輔助手部運(yùn)動(dòng)系統(tǒng)是一個(gè)嶄新的思想,該系統(tǒng)可靈活改變智能體的大小和數(shù)目,且無(wú)需為每個(gè)智能體分別設(shè)置不同的算法或目標(biāo),為今后做出輔助系統(tǒng)的實(shí)體提供了可行的理論依據(jù)。

      1 蜂擁算法

      基礎(chǔ)蜂擁算法由以下3個(gè)規(guī)則控制[3]:

      (1)分離 智能體與鄰域內(nèi)其他智能體避免碰撞;

      (2)聚合 智能體對(duì)鄰域內(nèi)其他智能體具有吸引力;

      (3)匹配 智能體與其他智能體保持速度相同。

      采用Olfati-Saber[11]設(shè)計(jì)的單虛擬領(lǐng)導(dǎo)者的蜂擁算法。該算法主要基于勢(shì)能函數(shù)原理和一致性原理。在算法中,假設(shè)全部智能體都能接收到虛擬領(lǐng)導(dǎo)目標(biāo)點(diǎn)的信息。

      1.1 勢(shì)能函數(shù)

      基于勢(shì)能函數(shù)的蜂擁算法的主要思想是在智能體周?chē)M類(lèi)似于原子之間的吸引力場(chǎng)和排斥力場(chǎng),使得系統(tǒng)在穩(wěn)定狀態(tài)時(shí)能夠?qū)崿F(xiàn)基礎(chǔ)蜂擁算法中的分離和聚合規(guī)則。文獻(xiàn)[11]中提出的勢(shì)能函數(shù)如式(1)所示。

      (1)

      式中,

      φα(z)=ρh(z/rα)φ(z-dα)

      (2)

      (a-b)]

      (3)

      (4)

      式中,a、b、k、h為常數(shù);rα(rα>0)為傳感器能夠感知的范圍;dα(dα>0)為智能體之間需要保持的距離。

      1.2 一致性原理

      多智能體系統(tǒng)中,智能體系統(tǒng)的狀態(tài)方程式為

      (5)

      式中,xi(t)∈m表示智能體i在t時(shí)刻的狀態(tài)變量;ui(t)∈m表示智能體i在t時(shí)刻的輸入控制量。對(duì)于具有拓?fù)浣Y(jié)構(gòu)的網(wǎng)絡(luò),Olfati-Saber[11]設(shè)計(jì)了線(xiàn)性一致性算法并驗(yàn)證了其有效性,該算法的表達(dá)式為

      (6)

      式中,L(t)為無(wú)權(quán)無(wú)向圖的拉普拉斯矩陣,aij(t)為網(wǎng)絡(luò)時(shí)刻的鄰接矩陣。

      線(xiàn)性一致算法控制了智能體系統(tǒng)的穩(wěn)定性,使得智能體的速度保持一致,可實(shí)現(xiàn)基礎(chǔ)蜂擁算法中的匹配規(guī)則。

      2 模型建立與仿真

      Unity是利用交互式圖型化開(kāi)發(fā)環(huán)境為首要方式的引擎,能較便捷地創(chuàng)作三維模型。本實(shí)驗(yàn)將在Unity引擎內(nèi)進(jìn)行模擬。其中,人體手部骨骼模型使用Unity Assets Store中的Hand Physics Controller模型,該模型是一節(jié)具有手腕的左手,手指的各個(gè)關(guān)節(jié)可自由活動(dòng),其中中指長(zhǎng)度為1 190像素。假設(shè)在現(xiàn)實(shí)中系統(tǒng)外部有類(lèi)似手套的載體,由于載體具有一定的彈性系數(shù),故在此次模擬中通過(guò)彈簧關(guān)節(jié)(spring joint)來(lái)模擬實(shí)現(xiàn)載體的作用。

      于Unity引擎中創(chuàng)建80個(gè)完全相同的球形智能體,智能體直徑為100像素。將所有智能體通過(guò)彈簧關(guān)節(jié)均勻地固定在左手模型的5根手指上,每根手指分配到16個(gè)智能體(手指的上表面與下表面均放置8個(gè)),智能體之間間隔150像素。智能體的運(yùn)動(dòng)遵循蜂擁算法。為每根手指上的16個(gè)智能體分別設(shè)立1個(gè)目標(biāo)點(diǎn),目標(biāo)點(diǎn)的位置可通過(guò)鼠標(biāo)拖動(dòng)隨時(shí)更改。目標(biāo)點(diǎn)所在位置即代表著患者的運(yùn)動(dòng)目的。

      初始狀態(tài)的手部模型如圖1所示。

      2.1 原始蜂擁算法及其改進(jìn)

      2.1.1原始蜂擁算法

      由于單根手指上多智能體系統(tǒng)的智能體個(gè)數(shù)為16,系統(tǒng)的運(yùn)動(dòng)方程[11]可表示為

      (7)

      式中,qi(t)∈m表示在t時(shí)刻智能體i的位置矢量;pi(t)∈m表示在t時(shí)刻智能體i的速度矢量;ui(t)∈m表示在t時(shí)刻智能體i的輸入控制矢量。

      系統(tǒng)虛擬目標(biāo)點(diǎn)的運(yùn)動(dòng)方程[11]為

      (8)

      式中,qγ(t)∈m表示在t時(shí)刻虛擬目標(biāo)點(diǎn)的位置矢量;pγ(t)∈m表示在t時(shí)刻虛擬目標(biāo)點(diǎn)的速度矢量;uγ(t)∈m表示在t時(shí)刻虛擬目標(biāo)點(diǎn)的輸入控制矢量。式(8)經(jīng)變換可以寫(xiě)作[11]

      (9)

      式中,

      (10)

      (11)

      (12)

      (13)

      2.1.2算法改進(jìn)

      原始蜂擁算法主要解決開(kāi)放空間內(nèi)的多智能體目標(biāo)追蹤問(wèn)題,但安裝在手指表面的智能體受到手部結(jié)構(gòu)的限制,無(wú)法在空間中自由移動(dòng)。正常手指彎曲時(shí),手指尖端的彎曲幅度明顯大于手指根部。針對(duì)手指這一特性作出算法改進(jìn),將手指根部的位置矢量表示為qroot。首先將式(11)中的速度匹配項(xiàng)改進(jìn)為

      (14)

      由于原文中已知所有控制點(diǎn)的原速度矢量pi(t)和原位置矢量qi(t),通過(guò)pi(t)及qi(t)可計(jì)算出即時(shí)的加速度矢量ui(t)。現(xiàn)在加入一個(gè)遠(yuǎn)離系數(shù)ω,通過(guò)智能體到手指根部的距離之比計(jì)算出智能體當(dāng)前狀態(tài)的實(shí)時(shí)速度矢量p′i(t)。以手指中點(diǎn)的速度為基準(zhǔn),用qmid表示手指中點(diǎn)的位置矢量,則改進(jìn)后智能體的速度矢量p′i(t)可以表示為

      (15)

      可通過(guò)調(diào)整ω的值來(lái)改變手指的運(yùn)動(dòng)速度。在本文實(shí)驗(yàn)中,ω的值設(shè)置為1。

      2.2 仿真實(shí)驗(yàn)結(jié)果

      啟動(dòng)基于改進(jìn)蜂擁算法的多智能體系統(tǒng)后,白色的球形智能體群體便會(huì)跟隨目標(biāo)點(diǎn)作蜂擁算法控制的自組織運(yùn)動(dòng),將手逐漸帶動(dòng)至目標(biāo)點(diǎn)。在系統(tǒng)中,目標(biāo)點(diǎn)用白色五角星標(biāo)示(圖2)。

      通過(guò)移動(dòng)虛擬目標(biāo)點(diǎn)的位置,可令所有手指彎曲。在手指運(yùn)動(dòng)的可達(dá)范圍內(nèi),目標(biāo)點(diǎn)越往遠(yuǎn)離手的方向移動(dòng),手指彎曲程度越大。移動(dòng)目標(biāo)點(diǎn)后,5根手指的彎曲示意如圖2所示。

      由圖2可見(jiàn),5根手指都能通過(guò)移動(dòng)目標(biāo)點(diǎn)實(shí)現(xiàn)不同程度的彎曲,并最終達(dá)到某一閾值。通過(guò)5根手指的共同作用,可令整個(gè)左手實(shí)現(xiàn)抓握物體等動(dòng)作。

      3 實(shí)驗(yàn)結(jié)果分析

      3.1 結(jié)果分析

      以中指上的16個(gè)智能體為例,將目標(biāo)點(diǎn)設(shè)置在中指可到達(dá)的位置(圖3(a)),此時(shí)目標(biāo)點(diǎn)的坐標(biāo)為(-300, -450, 0)。取時(shí)間間隔Δt=0.1 s來(lái)記錄16個(gè)智能體向目標(biāo)點(diǎn)運(yùn)動(dòng)過(guò)程中的即時(shí)位置和即時(shí)速度。中指開(kāi)始運(yùn)動(dòng)和結(jié)束運(yùn)動(dòng)時(shí)的狀態(tài)如圖3所示。

      由于中指彎曲主要是在xy平面上發(fā)生位置變化,在z軸上幾乎沒(méi)有位置變化,故分析時(shí)只需提取出智能體在x軸及y軸上的即時(shí)位置情況。

      由圖4可以看出,16個(gè)智能體相對(duì)手指的位置不同,故到達(dá)目標(biāo)點(diǎn)的時(shí)間也不盡相同;智能體的移動(dòng)軌跡都較為平滑、連續(xù),不易傷害到人體,故認(rèn)為今后將該系統(tǒng)做成實(shí)體是可行的。

      隨后,提取出智能體速度在x、y、z軸上的分量。從圖5中可以看出,智能體在x軸上的速度分量相對(duì)均衡,在t=2 s及t=6 s之間呈現(xiàn)出比較大的速度變化,在t=8 s時(shí)手指本身不再位移,此時(shí)認(rèn)為系統(tǒng)達(dá)到了穩(wěn)態(tài)。判斷出系統(tǒng)達(dá)到穩(wěn)態(tài)后,智能體將在2 s的延遲后自動(dòng)停止運(yùn)動(dòng)。

      由于中指主要向y軸的負(fù)半軸彎曲,故圖6中智能體速度在y軸的分量于t=2 s時(shí)呈現(xiàn)出加速度向上的態(tài)勢(shì),原因在于系統(tǒng)阻止中指的迅速向下運(yùn)動(dòng),使中指較為平滑地進(jìn)行向下彎曲的動(dòng)作;同樣在t=8 s時(shí)系統(tǒng)大致達(dá)到了穩(wěn)態(tài)。

      z軸方向上手指沒(méi)有任何位移,故圖7中智能體在z軸上的速度分量圖像基本上是圍繞pz=0進(jìn)行輕微震動(dòng)。但圖中有兩條曲線(xiàn)(5號(hào)曲線(xiàn)與11號(hào)曲線(xiàn))代表的智能體速度相對(duì)突出。5號(hào)曲線(xiàn)對(duì)應(yīng)位于中指關(guān)節(jié)上方的智能體,而11號(hào)曲線(xiàn)對(duì)應(yīng)位于中指關(guān)節(jié)下方的智能體。在手指關(guān)節(jié)處的智能體隨著手部運(yùn)動(dòng)有一定的偏移量是正常表現(xiàn),具體如何減少該偏移量還需今后進(jìn)一步的研究和分析。

      3.2 靈敏度測(cè)試

      選取編號(hào)從1到9共9個(gè)位置的目標(biāo)點(diǎn)(圖8)來(lái)測(cè)試系統(tǒng)達(dá)到穩(wěn)定所需時(shí)間。測(cè)試結(jié)果見(jiàn)表1。

      從表1中可以看出,算法改進(jìn)后較改進(jìn)前系統(tǒng)達(dá)到穩(wěn)定所需時(shí)間明顯縮短,從而可認(rèn)為改進(jìn)后的蜂擁算法可以更好地匹配人體手指。同時(shí),當(dāng)y軸坐標(biāo)固定在-300時(shí),目標(biāo)點(diǎn)越遠(yuǎn)離指尖,手指彎曲幅度越大,故系統(tǒng)達(dá)到穩(wěn)態(tài)所需時(shí)間越長(zhǎng),此時(shí)手指完全彎曲所需時(shí)間約為18 s;而當(dāng)x坐標(biāo)固定在-300時(shí),由于目標(biāo)點(diǎn)離指尖的遠(yuǎn)近變化并沒(méi)有太多地影響到手指的彎曲程度,故運(yùn)動(dòng)時(shí)長(zhǎng)也無(wú)明顯變化,基本穩(wěn)定在8 s左右??梢?jiàn)該系統(tǒng)的運(yùn)動(dòng)時(shí)長(zhǎng)主要與手指彎曲幅度有關(guān)。

      表1 目標(biāo)點(diǎn)的坐標(biāo)及其達(dá)到穩(wěn)定所需時(shí)間

      4 結(jié)論

      (1)使用改進(jìn)的蜂擁算法建立并仿真了一個(gè)多智能體手部運(yùn)動(dòng)輔助系統(tǒng),通過(guò)多個(gè)智能體的運(yùn)動(dòng)帶動(dòng)手指運(yùn)動(dòng),最終實(shí)現(xiàn)患者的運(yùn)動(dòng)意圖。

      (2)本文智能體系統(tǒng)只需為所有智能體設(shè)置相同的算法,當(dāng)設(shè)置好目標(biāo)點(diǎn)后,所有智能體便可自適應(yīng)調(diào)整自己的運(yùn)動(dòng)速度和運(yùn)動(dòng)方向,直至抵達(dá)目標(biāo)點(diǎn)。故當(dāng)單個(gè)智能體損壞時(shí)可隨時(shí)更換,硬件上容錯(cuò)率較高。

      (3)本文智能體的數(shù)目可在一定范圍內(nèi)改變,可根據(jù)不同大小的手設(shè)置不同數(shù)目的智能體,擁有較高的靈活性。

      (4)基于本文模擬所用的參數(shù),系統(tǒng)的運(yùn)動(dòng)時(shí)長(zhǎng)約在7~18 s之間,運(yùn)動(dòng)軌跡平滑、連續(xù),可認(rèn)為該系統(tǒng)具有一定的安全性。該系統(tǒng)可根據(jù)患者手的大小調(diào)整智能體的個(gè)數(shù)及振動(dòng)強(qiáng)度,并且可隨時(shí)更換出故障的智能體,操作靈活,為多智能體系統(tǒng)的應(yīng)用提供了嶄新的思路。

      目前已有現(xiàn)成的傳感器,及現(xiàn)成的可運(yùn)用多智能體算法的小型智能體,故今后將該系統(tǒng)做成實(shí)體是可行的。今后需要考慮調(diào)整傳感器的測(cè)定方式,智能體的運(yùn)動(dòng)方式,以及找到合適的智能體的安裝載體(如軟性手套等)。

      猜你喜歡
      手部手指速度
      手指背側(cè)復(fù)合組織塊離斷再植
      手部皮膚軟組織缺損修復(fù)的皮瓣選擇
      行駛速度
      速度
      手指操
      比速度更速度——“光腦”來(lái)了
      兩種皮瓣修復(fù)手部軟組織缺損的比較
      筆穿手指
      發(fā)生于手部的硬下疳一例
      復(fù)明膠囊疑致手部腫痛1例
      长岭县| 兴宁市| 南华县| 莱芜市| 乳源| 乐昌市| 古浪县| 临武县| 大竹县| 新沂市| 石河子市| 丹江口市| 襄城县| 沧州市| 偏关县| 广州市| 孝昌县| 莫力| 乐至县| 普洱| 朝阳区| 泉州市| 东乌珠穆沁旗| 上栗县| 河南省| 台安县| 淮南市| 黄陵县| 大兴区| 芒康县| 大姚县| 文水县| 通化县| 那坡县| 旺苍县| 鞍山市| 班戈县| 砀山县| 洪洞县| 宁陵县| 广丰县|