王 旭
(北京科技大學(xué)高等工程師學(xué)院,北京100083)
樂(lè)器演奏機(jī)器人(Instrument Playing Robot)將模擬人的高級(jí)技巧活動(dòng)——演奏樂(lè)器作為機(jī)器人技術(shù)的研究領(lǐng)域,受到國(guó)內(nèi)外研究者的持續(xù)關(guān)注[1-5]。根據(jù)樂(lè)器的種類(lèi),演奏機(jī)器人主要有管樂(lè)(笛子、薩克斯等)[6-9]、弦樂(lè)(吉他、小提琴等)[10-13]、鍵盤(pán)打擊樂(lè)(鋼琴、架子鼓等)[14-17]3 種類(lèi)型。研究技術(shù)主要集中在:機(jī)構(gòu)設(shè)計(jì)、驅(qū)動(dòng)控制、機(jī)器視覺(jué)、擬人化等方向[18-21]。樂(lè)器演奏機(jī)器人具有綜合性、學(xué)科交叉等技術(shù)特點(diǎn),又具有成果展示度高、平臺(tái)拓展性強(qiáng)的特點(diǎn),是機(jī)電綜合實(shí)驗(yàn)訓(xùn)練、激發(fā)學(xué)生興趣的良好平臺(tái)。
本文通過(guò)電子琴演奏機(jī)器人實(shí)驗(yàn)教學(xué)平臺(tái)開(kāi)發(fā),實(shí)現(xiàn)模擬人手演奏動(dòng)作、樂(lè)譜編輯、樂(lè)曲播放、演奏技巧等功能。
已知演奏電子琴琴鍵數(shù)量為61 個(gè),鍵寬22 mm,琴鍵間隙1.5 mm,設(shè)計(jì)要求機(jī)器人能夠根據(jù)曲譜,實(shí)現(xiàn)快速、準(zhǔn)確、平穩(wěn)的按鍵動(dòng)作。系統(tǒng)組成如圖1 所示,機(jī)械結(jié)構(gòu)包括仿人機(jī)械手、雙手橫移機(jī)構(gòu);控制系統(tǒng)包括控制系統(tǒng)硬件、編曲及播放軟件。
圖1 電子琴演奏機(jī)器人系統(tǒng)組成
機(jī)械手指模擬人類(lèi)手指的彎曲和伸展,實(shí)現(xiàn)下按及抬起動(dòng)作。設(shè)計(jì)需要滿足行程、力量、速度、形似等要求。
(1)手指運(yùn)動(dòng)原理及分析。各手指需要有獨(dú)立驅(qū)動(dòng),為實(shí)現(xiàn)形似效果,需要具有人類(lèi)手指的3 個(gè)關(guān)節(jié)。仿人機(jī)械手指設(shè)計(jì)采用多連桿機(jī)構(gòu),原理如圖2 所示,各指節(jié)通過(guò)連桿互連。
圖2 機(jī)械手指連桿運(yùn)動(dòng)原理圖
手指運(yùn)動(dòng)過(guò)程:驅(qū)動(dòng)OA 轉(zhuǎn)動(dòng),通過(guò)AB 桿推動(dòng)指根BCFG繞C點(diǎn)轉(zhuǎn)動(dòng),使得連桿DE 推動(dòng)中指EFH繞F點(diǎn)轉(zhuǎn)動(dòng),同時(shí)使得連桿GI 推動(dòng)指尖IHJ 繞H 點(diǎn)轉(zhuǎn)動(dòng),壓下琴鍵。
根據(jù)人手指的實(shí)際長(zhǎng)短,初步確定機(jī)械手指各部分的尺寸,如圖3 所示。
圖3 機(jī)械手指連桿尺寸
校核該尺寸是否滿足琴鍵下按運(yùn)動(dòng)的行程。已知機(jī)械手指固定高度高于琴鍵23 mm,琴鍵被按下發(fā)聲時(shí)行程為20 mm,手指指尖運(yùn)動(dòng)行程應(yīng)不低于23 +20 =43 mm。
將圖2 的多連桿機(jī)構(gòu)拆解為3 個(gè)4 連桿機(jī)構(gòu)。
如圖4 所示為構(gòu)建PABC 4 桿機(jī)構(gòu),已知舵機(jī)臂長(zhǎng)度14 mm,設(shè)定舵機(jī)轉(zhuǎn)動(dòng)角度為35°。通過(guò)作圖法可知,當(dāng)PA轉(zhuǎn)動(dòng)35°時(shí),CB旋轉(zhuǎn)26°,可以計(jì)算出指根BCFG轉(zhuǎn)動(dòng)時(shí)下壓高度h1=KF′ =38 × sin26° =16.7 mm。
圖4 PABC指根4桿機(jī)構(gòu)運(yùn)動(dòng)分析
同理,通過(guò)分析CDEF 4 桿機(jī)構(gòu),可以計(jì)算出中指相對(duì)于指根的下壓高度h2=15 mm;
通過(guò)分析FGHI 4 桿機(jī)構(gòu),可以計(jì)算出指尖相對(duì)于中指的下壓高度h3=15.05 mm;
手指整體下壓的高度h =h1+h2+h3=16.66 +15 +15.05 =46.71 mm >43 mm,手指設(shè)計(jì)選擇尺寸合理,可以滿足按鍵行程要求。
(2)手指結(jié)構(gòu)設(shè)計(jì)。根據(jù)手指多連桿機(jī)構(gòu)運(yùn)動(dòng)原理,選擇欠驅(qū)動(dòng)形式,單舵機(jī)驅(qū)動(dòng)。設(shè)計(jì)如圖5、6 所示,實(shí)物如圖7 所示。其中,手指采用不銹鋼鈑金加工。
圖5 仿人機(jī)械手指設(shè)計(jì)圖
圖6 仿人機(jī)械手指三維設(shè)計(jì)圖
圖7 仿人機(jī)械手指實(shí)物圖
校核手指演奏速度。已知驅(qū)動(dòng)舵機(jī)在4.8 V供電時(shí)的轉(zhuǎn)動(dòng)速度為545°/s,則舵機(jī)臂轉(zhuǎn)動(dòng)角度為35°的運(yùn)動(dòng)時(shí)間間隔
通常演奏簡(jiǎn)單曲目的速度可以確定為120 b/min(120 拍/min),按照2/4 拍的音樂(lè),以4 分音符為1拍,按2 b/s 計(jì),普通曲目最快演奏為16 分音符,即0.125 s。
0.06 <0.125,因此,舵機(jī)響應(yīng)速度滿足演奏要求。
(3)手掌及其相關(guān)機(jī)構(gòu)。由于機(jī)械手指難以實(shí)現(xiàn)跨指及穿指等人類(lèi)關(guān)節(jié)能實(shí)現(xiàn)的復(fù)雜演奏動(dòng)作,因此采用單手7 手指設(shè)計(jì),可以實(shí)現(xiàn)單手完成一個(gè)音區(qū)中7 個(gè)鍵的彈奏,從而減少移動(dòng)次數(shù),使得彈奏無(wú)間斷,演奏更流暢。
機(jī)械手手掌采用3 mm 碳纖板加工;將手指及舵機(jī)前后錯(cuò)開(kāi)分布可以更接近人手外形,并保證各手指模塊的一致性,便于安裝和調(diào)試。設(shè)計(jì)圖如圖8 所示,實(shí)物圖如圖9 所示。
圖8 7指機(jī)械手設(shè)計(jì)圖
圖9 7指機(jī)械手實(shí)物圖
(1)橫移機(jī)構(gòu)設(shè)計(jì)。為了實(shí)現(xiàn)演奏的擬人效果及跨音區(qū)演奏要求,設(shè)計(jì)采用雙手可橫移方案。考慮到彈奏電子琴時(shí)要求傳動(dòng)平穩(wěn),具有一定定位精度,傳動(dòng)負(fù)載較小,橫移機(jī)構(gòu)采用帶傳動(dòng)方式。橫移機(jī)構(gòu)設(shè)計(jì)如圖10 所示,實(shí)物如圖11 所示。
圖10 橫移機(jī)構(gòu)設(shè)計(jì)圖
圖11 橫移機(jī)構(gòu)實(shí)物圖
(2)橫移機(jī)構(gòu)速度校驗(yàn)。在演奏音域跨度較大的曲目時(shí),必須考慮到橫移機(jī)構(gòu)的移動(dòng)速度是否滿足演奏速度要求。橫移速度為:
式中:L為橫移距離。通過(guò)實(shí)際測(cè)量所用電子琴設(shè)備的距離參數(shù),得到一個(gè)8 度音的距離L =165 mm。音符時(shí)間為:
式中:y為分音符,取曲譜中的最大值(如,某樂(lè)曲中有
x為拍(如,某樂(lè)曲的拍號(hào)為4/4 拍,表示以4 分音符為一拍,取x =4)。
T為每一拍占用的時(shí)間(s)。(如,設(shè)定演奏樂(lè)曲的速度為每分鐘120 b/min 后,一拍就相當(dāng)于0.5 s,取T =0.5 s)
將以上曲譜參數(shù)(x =4,y =4,T =0.5 s)代入式(1)可得,橫移速度要求
即,所設(shè)計(jì)橫移機(jī)構(gòu)的移動(dòng)速度需要大于330 mm/s,才能滿足演奏速度要求。
橫移機(jī)構(gòu)的實(shí)際橫移速度
已知,減速齒輪z1=40,z2=20,同步帶輪半徑r =30 mm,舵機(jī)轉(zhuǎn)速n =77 r/min,計(jì)算得:
橫移速度可以滿足演奏要求。
控制系統(tǒng)由計(jì)算機(jī)、電源、控制板及各個(gè)執(zhí)行器(舵機(jī))組成。計(jì)算機(jī)作為控制系統(tǒng)中的上位機(jī),通過(guò)串口通信給控制板發(fā)送指令,實(shí)現(xiàn)舵機(jī)群動(dòng)作控制??刂葡到y(tǒng)原理如圖12 所示。
圖12 控制系統(tǒng)原理圖
編曲及播放軟件的作用在于將樂(lè)譜方便地轉(zhuǎn)換為計(jì)算機(jī)可識(shí)別的控制代碼,控制舵機(jī)驅(qū)動(dòng)手指動(dòng)作。電子琴演奏機(jī)器人教學(xué)平臺(tái)的編曲播放軟件具有4 項(xiàng)基本功能:配置、編曲、轉(zhuǎn)碼、播放。功能分解如圖13所示。
圖13 編曲及播放軟件功能分解圖
(1)配置。演奏時(shí),機(jī)械手控制舵機(jī)有“抬起”和“按下”兩個(gè)狀態(tài),演奏不同的音,對(duì)應(yīng)的舵機(jī)組狀態(tài)是不同的,可以通過(guò)“設(shè)置”按鈕來(lái)設(shè)置每個(gè)舵機(jī)的狀態(tài)值并保存,方便下次設(shè)置時(shí)直接導(dǎo)入,減小編曲的工作量。配置界面如圖14 所示。
舵機(jī)狀態(tài)配置完成后,便可添加音符。將狀態(tài)值與演奏音符動(dòng)作對(duì)應(yīng),便于轉(zhuǎn)換樂(lè)譜。音符配置界面如圖15 所示。
圖14 舵機(jī)狀態(tài)配置界面
圖15 音符配置界面
(2)編曲。編曲是根據(jù)演奏曲譜,確定每一個(gè)音符對(duì)應(yīng)舵機(jī)組的動(dòng)作序號(hào)、執(zhí)行速度、持續(xù)時(shí)間。編曲界面如圖16 所示。
(3)轉(zhuǎn)碼。編曲完成后,需將編曲樂(lè)譜轉(zhuǎn)換成舵機(jī)控制板可以識(shí)別的代碼,不同的舵機(jī)控制板有不同的動(dòng)作執(zhí)行格式,但信息都包括:序號(hào)、位置、速度、時(shí)間4 個(gè)參數(shù)。根據(jù)格式要求在后臺(tái)進(jìn)行轉(zhuǎn)碼即可。轉(zhuǎn)碼功能流程圖如圖17 所示。
圖16 編曲界面
圖17 轉(zhuǎn)碼功能流程圖
(4)播放。在編曲播放前,需要先完成上位機(jī)與舵機(jī)控制板的連接、串口設(shè)置、播放選擇等設(shè)定,具體流程見(jiàn)圖18、19,串口設(shè)計(jì)界面見(jiàn)圖20,演奏播放界面見(jiàn)圖21。
圖18 串口設(shè)置流程圖
圖19 樂(lè)曲播放流程圖
圖20 串口設(shè)置界面
圖21 播放控制界面
本文開(kāi)發(fā)的電子琴演奏機(jī)器人教學(xué)平臺(tái),為機(jī)電專業(yè)學(xué)生進(jìn)行系統(tǒng)集成、系統(tǒng)調(diào)試、機(jī)構(gòu)優(yōu)化、軟件編寫(xiě)提供了良好載體。在本平臺(tái)上可以進(jìn)行的實(shí)驗(yàn)內(nèi)容有:
(1)仿人機(jī)械手拆裝與調(diào)試;
(2)系統(tǒng)連接與參數(shù)設(shè)置;
(3)編曲與演奏調(diào)試;
(4)演奏技巧、演奏算法實(shí)驗(yàn);
(5)多樂(lè)器合奏實(shí)驗(yàn)。
本平臺(tái)已開(kāi)設(shè)全校公共選修課程,參與平臺(tái)使用學(xué)生200 余人,參與畢業(yè)設(shè)計(jì)學(xué)生10 余人。電子琴演奏機(jī)器人教學(xué)平臺(tái)實(shí)物如圖22 所示。
圖22 電子琴演奏機(jī)器人教學(xué)平臺(tái)實(shí)物圖