胡凈皓 吳珅銳 汪海濤 彭華
摘要:機(jī)器人舞蹈是人工智能研究中的重要領(lǐng)域,它有機(jī)融合了科學(xué)與藝術(shù)。讓多個機(jī)器人實現(xiàn)群體舞蹈,不僅有助于發(fā)展機(jī)器人的協(xié)作以及與環(huán)境協(xié)調(diào)的能力,還能夠為未來家庭提供新的人-機(jī)器人交互方式。本文以Yanshee機(jī)器人為載體,提出了一種基于動作同步控制的機(jī)器人群舞實現(xiàn)方法。
關(guān)鍵詞:動作同步;Yanshee機(jī)器人;群體舞蹈
中圖分類號:TP242? ? ? 文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2022)06-0089-03
開放科學(xué)(資源服務(wù))標(biāo)識碼(OSID):
人工智能技術(shù)日益發(fā)展的今天,給人們的生活帶來了翻天覆地的變化。機(jī)器人作為人工智能的重要載體,在未來家庭中也將越來越普遍。作為社會機(jī)器人的一種,舞蹈機(jī)器人也逐漸受到人們的重視,在情感陪伴與交流、醫(yī)療康復(fù)、教育輔助中發(fā)揮著重要作用。
機(jī)器人舞蹈是以機(jī)器人作為載體,以舞蹈作為蘊含內(nèi)容的一種藝術(shù)表現(xiàn)形式[1]。從不同的視角,機(jī)器人舞蹈可以劃分為多個種類。如:從參與舞蹈的機(jī)器人數(shù)量來分,可以分為單人舞和群舞;從表演舞蹈的種類來分,可以分為民族舞、現(xiàn)代舞、古典舞等。
讓多個機(jī)器人實現(xiàn)群體舞蹈,相比單個機(jī)器人來說,具備更為充足的舞蹈表現(xiàn)力,但從技術(shù)上來說也更為復(fù)雜,涉及多個機(jī)器人的動作同步控制。對機(jī)器人舞蹈開展研究,不僅有助于提升機(jī)器人的協(xié)作以及與環(huán)境協(xié)調(diào)的能力,還能夠為未來家庭提供新的人-機(jī)器人交互方式,進(jìn)而推動人工智能技術(shù)的發(fā)展。
1 研究現(xiàn)狀
縱觀國內(nèi)研究,機(jī)器人舞蹈的相關(guān)研究較少。李菁等人從人文社科的角度,綜述了機(jī)器人舞蹈的定義、現(xiàn)狀與研究意義[1]。鄭萬通等人以人類舞蹈動作為基礎(chǔ),利用 C 語言實現(xiàn)了仿人機(jī)器人舞蹈動作[2]。郗俊杰提出了一種基于事件驅(qū)動的多機(jī)器人舞蹈動作協(xié)作控制方法[3]。廈門大學(xué)周昌樂教授團(tuán)隊,系統(tǒng)地對機(jī)器人舞蹈生成方法開展了研究:提出了一種基于姿態(tài)關(guān)系特征的機(jī)器人舞蹈生成方法[4],構(gòu)建了一種基于深度學(xué)習(xí)方法的機(jī)器人舞蹈生成系統(tǒng)[5]。
在國外,機(jī)器人舞蹈的研究如火如荼,其研究內(nèi)容主要包含四個方面:合作式人-機(jī)器人舞蹈[6-8]、模仿人類舞蹈動作[9]、舞蹈與音樂同步[10]以及舞蹈自主創(chuàng)作[11-12]。Kosuge教授團(tuán)隊在設(shè)計的舞蹈機(jī)器人Ms DanceR和PBDR基礎(chǔ)上,探索了人-機(jī)器人共舞華爾茲的交互技術(shù)[6-8]。Nakazawa等人通過運動結(jié)構(gòu)分析技術(shù),實現(xiàn)了對日本民族民間舞蹈的人類動作的模仿[9]。Michalowski以Keepon機(jī)器人為載體,提出了一種節(jié)奏交互理論,有效地實現(xiàn)了舞蹈動作與音樂的同步[10]。Shinozaki等人提出了一種機(jī)器人舞蹈隨機(jī)生成方法[11];Vircikova等人通過引入交互式進(jìn)化計算方法,實現(xiàn)了機(jī)器人舞蹈的自動生成[12]。
2 Yanshee機(jī)器人
Yanshee機(jī)器人是一種關(guān)節(jié)靈活、重心較低的雙足類人機(jī)器人(如圖1所示),適用于常規(guī)的機(jī)器人舞蹈研究。該機(jī)器人采用Raspberry Pi + STM32 開放式硬件平臺架構(gòu),17個自由度的高度擬人設(shè)計,內(nèi)置800萬像素攝像頭、陀螺儀及多種通信模塊,配套多種開源傳感器包,提供開源軟件,支持BLockly、Python、Java、C/C++等多種編程語言。
3 機(jī)器人群舞的動作同步控制原理
一個機(jī)器人要表演舞蹈,需要執(zhí)行其預(yù)定義或動態(tài)生成的動作文件;而多個機(jī)器人表演群舞的關(guān)鍵在于:能夠同時驅(qū)動所有機(jī)器人同步執(zhí)行各自的動作文件。以時間為基準(zhǔn),多個機(jī)器人通過在各自的空間位置上表演相同/不同的舞蹈動作,最終形成群體舞蹈。
為了同時驅(qū)動所有機(jī)器人同步執(zhí)行各自的動作文件,需要一個統(tǒng)一的同步動作控制平臺發(fā)送啟動指令,該控制平臺可以開發(fā)為手機(jī)App或者計算機(jī)程序。
在機(jī)器人群舞的動作同步控制中,其處理步驟為:(1)所有機(jī)器人預(yù)先存儲待執(zhí)行的動作文件;(2)所有機(jī)器人的IP地址已被同步動作控制平臺收集;(3)控制平臺與所有機(jī)器人處于同一網(wǎng)段,由控制平臺通過基于TCP協(xié)議的Socket通訊技術(shù),連接上所有機(jī)器人;(4)每個機(jī)器人作為一個服務(wù)端,該控制平臺作為客戶端;(5)由控制平臺向所有機(jī)器人同時發(fā)送啟動動作指令,驅(qū)動所有機(jī)器人同時執(zhí)行各自的動作文件(由客戶端提出請求,服務(wù)端響應(yīng)),實現(xiàn)動作同步。其原理框圖如圖2所示。
上述控制平臺的同步控制流程圖如圖3所示:
4 Yanshee機(jī)器人群舞的動作同步控制實現(xiàn)
4.1 Yanshee機(jī)器人舞蹈姿態(tài)設(shè)計
為了實現(xiàn)Yanshee機(jī)器人群舞,首先需要進(jìn)行舞蹈姿態(tài)的設(shè)計。在設(shè)計過程中,需要熟悉Yanshee機(jī)器人各個舵機(jī)的活動范圍以及機(jī)器人重心的位置,避免傾倒。常規(guī)的Yanshee機(jī)器人舞蹈姿態(tài)設(shè)計的途徑有兩種:一種是使用廠商提供的Yanshee機(jī)器人App;另一種是使用Python語言編碼自行實現(xiàn)。
本文采用了Yanshee機(jī)器人App的方式設(shè)計舞蹈姿態(tài)。具體說,在該App中的回讀編程頁面完成Yanshee機(jī)器人舞蹈姿態(tài)的設(shè)計。在該頁面的初始狀態(tài)列表中,只有一個機(jī)器人站立的姿態(tài),若要添加姿態(tài),則需點擊“+”按鈕添加一個新的姿態(tài)。在該添加姿態(tài)界面中,首先可以選擇機(jī)器人的某個身體部位(如:左手、右手、頭、左腳、右腳)使其處于松弛狀態(tài)(正常狀態(tài)為“鎖止”),接下來可以根據(jù)該身體部位中各關(guān)節(jié)的運動范圍自定義關(guān)節(jié)狀態(tài)。在保證機(jī)器人不傾倒的情況下,手工為機(jī)器人設(shè)計出一個合適的舞蹈姿態(tài),點擊“記錄+1”按鈕向列表中增加一個舞蹈姿態(tài),當(dāng)需要添加多個舞蹈姿態(tài)時,可以重復(fù)上述操作來實現(xiàn)。這樣,多個舞蹈姿態(tài)構(gòu)成的序列,部署到一個時間軸后,可以形成一個舞蹈動作,而一個舞蹈動作的序列,則形成了一個舞蹈。
另外,在回讀編程中,可以進(jìn)行舞蹈姿態(tài)/動作的導(dǎo)入、刪除、復(fù)制、鏡像翻轉(zhuǎn)以及對其持續(xù)時間的修改等操作,也可以導(dǎo)入預(yù)設(shè)的音樂。當(dāng)完成所有姿態(tài)/動作的回讀編程后,可以點擊“預(yù)覽”查看舞蹈效果。最后,將設(shè)計好的機(jī)器人舞蹈以動作文件的方式保存在機(jī)器人系統(tǒng)指定的文件夾下,以便今后使用。
4.2 舵機(jī)校準(zhǔn)
機(jī)器人舵機(jī)的校準(zhǔn),是實現(xiàn)Yanshee機(jī)器人群舞的基礎(chǔ)工作。它主要用于確保所有機(jī)器人的舵機(jī)處于同一水平下,以保證動作的整齊。
Yanshee機(jī)器人App提供了方便的舵機(jī)校準(zhǔn)功能,因此本文使用了該App實現(xiàn)該工作。在該App的舵機(jī)校準(zhǔn)界面中,通過選擇機(jī)器人全身舵機(jī)分布圖上某個舵機(jī),再通過點擊加減號按鈕,就能對該舵機(jī)進(jìn)行校準(zhǔn)。
4.3 機(jī)器人群舞同步動作控制平臺
在完成舵機(jī)校準(zhǔn)后,建立了一個用于Yanshee機(jī)器人群舞的同步動作控制平臺,并部署在手機(jī)上。另外,還需要設(shè)計一個服務(wù)端程序,部署在每個Yanshee機(jī)器人上,用于從網(wǎng)絡(luò)上接收來自控制平臺(客戶端)的指令(請求),并執(zhí)行指令(請求)。
具體如下:首先,確??刂破脚_所在的手機(jī)與所有機(jī)器人處于同一局域網(wǎng)中;其次,將需要控制的所有機(jī)器人的IP地址,依次輸入該控制平臺中,以便進(jìn)行控制平臺與所有機(jī)器人之間的連接;最后,在控制平臺上通過點擊按鈕,向所有機(jī)器人同時發(fā)送命令,同步驅(qū)動所有機(jī)器人執(zhí)行各自的動作文件。這樣,所有機(jī)器人就可以通過同步的方式,以某種隊列表演出群體舞蹈(如圖4所示)。
5 結(jié)束語
多個雙足類人機(jī)器人表演群體舞蹈,作為一種新興的人-機(jī)器人交互方式,不但發(fā)展了人工智能技術(shù),而且豐富了人們的精神生活,因此對其開展有著重要的意義。本文以Yanshee機(jī)器人為載體,提出了一種基于動作同步控制的機(jī)器人群舞方法。盡管該方法能夠?qū)崿F(xiàn)機(jī)器人群舞的目標(biāo),但仍在平衡控制、同步方式等方面存在一些有待改進(jìn)的地方。相信在未來,機(jī)器人群舞技術(shù)能得到不斷地發(fā)展、優(yōu)化,更好地應(yīng)用于情感陪伴與交流、醫(yī)療康復(fù)、教育輔助等方面。
參考文獻(xiàn):
[1] 李菁,彭華,周昌樂.機(jī)器人舞蹈淺議[J].藝術(shù)評論,2016(2):148-151.
[2] 鄭萬通,仉俊峰,王東,等.仿人機(jī)器人舞蹈動作的研究[J].自動化技術(shù)與應(yīng)用,2015,34(10):134-137,145.
[3] 郗俊杰.多智能雙足機(jī)器人的動作控制及協(xié)作研究[D].西安:西安電子科技大學(xué),2012.
[4] 彭文耀,吳瑞琪,晁飛,等.一種基于姿態(tài)關(guān)系特征的機(jī)器人舞蹈生成方法[J].廈門大學(xué)學(xué)報(自然科學(xué)版),2019,58(5):774-780.
[5] 楊錦隆,施明輝,晁飛,等.基于深度學(xué)習(xí)進(jìn)行動作模仿的舞蹈機(jī)器人[J].廈門大學(xué)學(xué)報(自然科學(xué)版),2019,58(5):759-766.
[6] Kosuge K,Hirata Y.Human-robot interaction[C]//2004 IEEE International Conference on Robotics and Biomimetics.August 22-26,2004,Shenyang,China.IEEE,2004:8-11.
[7] Kosuge K,Hayashi T,Hirata Y,et al.Dance partner robot - Ms DanceR[C]//Proceedings 2003 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS 2003) (Cat.No.03CH37453).October 27-31,2003,Las Vegas,NV,USA.IEEE,2003:3459-3464.
[8] Kosuge K,Takeda T,Hirata Y,et al.Partner ballroom dance robot-PBDR-[J].SICE Journal of Control,Measurement,and System Integration,2008,1(1):74-80.
[9] Nakazawa A,Nakaoka S,Ikeuchi K,et al.Imitating human dance motions through motion structure analysis[C]//IEEE/RSJ International Conference on Intelligent Robots and Systems.September 30 - October 4,2002,Lausanne,Switzerland.IEEE,2002:2539-2544.
[10] Michalowski M P.Rhythmic human-robot social interaction[D].Ph.D. dissertation, Robot. Inst., Carnegie Mellon Univ., Pittsburgh, PA, USA, 2010.
[11] Shinozaki K,Iwatani A,Nakatsu R.Construction and evaluation of a robot dance system[C]//New Frontiers for Entertainment Computing,2008.
[12] Vircíková M,Sincak P.Dance choreography design of humanoid robots using interactive evolutionary computation[C]//in Proc. 3rd Workshop Young Researchers Human-Friendly Robot., 2010.
【通聯(lián)編輯:唐一東】