王 旭
(北京科技大學高等工程師學院,北京100083)
樂器演奏機器人(Instrument Playing Robot)將模擬人的高級技巧活動——演奏樂器作為機器人技術的研究領域,受到國內外研究者的持續關注[1-5]。根據樂器的種類,演奏機器人主要有管樂(笛子、薩克斯等)[6-9]、弦樂(吉他、小提琴等)[10-13]、鍵盤打擊樂(鋼琴、架子鼓等)[14-17]3 種類型。研究技術主要集中在:機構設計、驅動控制、機器視覺、擬人化等方向[18-21]。樂器演奏機器人具有綜合性、學科交叉等技術特點,又具有成果展示度高、平臺拓展性強的特點,是機電綜合實驗訓練、激發學生興趣的良好平臺。
本文通過電子琴演奏機器人實驗教學平臺開發,實現模擬人手演奏動作、樂譜編輯、樂曲播放、演奏技巧等功能。
已知演奏電子琴琴鍵數量為61 個,鍵寬22 mm,琴鍵間隙1.5 mm,設計要求機器人能夠根據曲譜,實現快速、準確、平穩的按鍵動作。系統組成如圖1 所示,機械結構包括仿人機械手、雙手橫移機構;控制系統包括控制系統硬件、編曲及播放軟件。

圖1 電子琴演奏機器人系統組成
機械手指模擬人類手指的彎曲和伸展,實現下按及抬起動作。設計需要滿足行程、力量、速度、形似等要求。
(1)手指運動原理及分析。各手指需要有獨立驅動,為實現形似效果,需要具有人類手指的3 個關節。仿人機械手指設計采用多連桿機構,原理如圖2 所示,各指節通過連桿互連。

圖2 機械手指連桿運動原理圖
手指運動過程:驅動OA 轉動,通過AB 桿推動指根BCFG繞C點轉動,使得連桿DE 推動中指EFH繞F點轉動,同時使得連桿GI 推動指尖IHJ 繞H 點轉動,壓下琴鍵。
根據人手指的實際長短,初步確定機械手指各部分的尺寸,如圖3 所示。

圖3 機械手指連桿尺寸
校核該尺寸是否滿足琴鍵下按運動的行程。已知機械手指固定高度高于琴鍵23 mm,琴鍵被按下發聲時行程為20 mm,手指指尖運動行程應不低于23 +20 =43 mm。
將圖2 的多連桿機構拆解為3 個4 連桿機構。
如圖4 所示為構建PABC 4 桿機構,已知舵機臂長度14 mm,設定舵機轉動角度為35°。通過作圖法可知,當PA轉動35°時,CB旋轉26°,可以計算出指根BCFG轉動時下壓高度h1=KF′ =38 × sin26° =16.7 mm。

圖4 PABC指根4桿機構運動分析
同理,通過分析CDEF 4 桿機構,可以計算出中指相對于指根的下壓高度h2=15 mm;
通過分析FGHI 4 桿機構,可以計算出指尖相對于中指的下壓高度h3=15.05 mm;
手指整體下壓的高度h =h1+h2+h3=16.66 +15 +15.05 =46.71 mm >43 mm,手指設計選擇尺寸合理,可以滿足按鍵行程要求。
(2)手指結構設計。根據手指多連桿機構運動原理,選擇欠驅動形式,單舵機驅動。設計如圖5、6 所示,實物如圖7 所示。其中,手指采用不銹鋼鈑金加工。

圖5 仿人機械手指設計圖

圖6 仿人機械手指三維設計圖

圖7 仿人機械手指實物圖
校核手指演奏速度。已知驅動舵機在4.8 V供電時的轉動速度為545°/s,則舵機臂轉動角度為35°的運動時間間隔
通常演奏簡單曲目的速度可以確定為120 b/min(120 拍/min),按照2/4 拍的音樂,以4 分音符為1拍,按2 b/s 計,普通曲目最快演奏為16 分音符,即0.125 s。
0.06 <0.125,因此,舵機響應速度滿足演奏要求。
(3)手掌及其相關機構。由于機械手指難以實現跨指及穿指等人類關節能實現的復雜演奏動作,因此采用單手7 手指設計,可以實現單手完成一個音區中7 個鍵的彈奏,從而減少移動次數,使得彈奏無間斷,演奏更流暢。
機械手手掌采用3 mm 碳纖板加工;將手指及舵機前后錯開分布可以更接近人手外形,并保證各手指模塊的一致性,便于安裝和調試。設計圖如圖8 所示,實物圖如圖9 所示。

圖8 7指機械手設計圖

圖9 7指機械手實物圖
(1)橫移機構設計。為了實現演奏的擬人效果及跨音區演奏要求,設計采用雙手可橫移方案。考慮到彈奏電子琴時要求傳動平穩,具有一定定位精度,傳動負載較小,橫移機構采用帶傳動方式。橫移機構設計如圖10 所示,實物如圖11 所示。

圖10 橫移機構設計圖

圖11 橫移機構實物圖
(2)橫移機構速度校驗。在演奏音域跨度較大的曲目時,必須考慮到橫移機構的移動速度是否滿足演奏速度要求。橫移速度為:

式中:L為橫移距離。通過實際測量所用電子琴設備的距離參數,得到一個8 度音的距離L =165 mm。音符時間為:

式中:y為分音符,取曲譜中的最大值(如,某樂曲中有
x為拍(如,某樂曲的拍號為4/4 拍,表示以4 分音符為一拍,取x =4)。
T為每一拍占用的時間(s)。(如,設定演奏樂曲的速度為每分鐘120 b/min 后,一拍就相當于0.5 s,取T =0.5 s)
將以上曲譜參數(x =4,y =4,T =0.5 s)代入式(1)可得,橫移速度要求

即,所設計橫移機構的移動速度需要大于330 mm/s,才能滿足演奏速度要求。
橫移機構的實際橫移速度

已知,減速齒輪z1=40,z2=20,同步帶輪半徑r =30 mm,舵機轉速n =77 r/min,計算得:

橫移速度可以滿足演奏要求。
控制系統由計算機、電源、控制板及各個執行器(舵機)組成。計算機作為控制系統中的上位機,通過串口通信給控制板發送指令,實現舵機群動作控制。控制系統原理如圖12 所示。

圖12 控制系統原理圖
編曲及播放軟件的作用在于將樂譜方便地轉換為計算機可識別的控制代碼,控制舵機驅動手指動作。電子琴演奏機器人教學平臺的編曲播放軟件具有4 項基本功能:配置、編曲、轉碼、播放。功能分解如圖13所示。

圖13 編曲及播放軟件功能分解圖
(1)配置。演奏時,機械手控制舵機有“抬起”和“按下”兩個狀態,演奏不同的音,對應的舵機組狀態是不同的,可以通過“設置”按鈕來設置每個舵機的狀態值并保存,方便下次設置時直接導入,減小編曲的工作量。配置界面如圖14 所示。
舵機狀態配置完成后,便可添加音符。將狀態值與演奏音符動作對應,便于轉換樂譜。音符配置界面如圖15 所示。

圖14 舵機狀態配置界面

圖15 音符配置界面
(2)編曲。編曲是根據演奏曲譜,確定每一個音符對應舵機組的動作序號、執行速度、持續時間。編曲界面如圖16 所示。
(3)轉碼。編曲完成后,需將編曲樂譜轉換成舵機控制板可以識別的代碼,不同的舵機控制板有不同的動作執行格式,但信息都包括:序號、位置、速度、時間4 個參數。根據格式要求在后臺進行轉碼即可。轉碼功能流程圖如圖17 所示。

圖16 編曲界面

圖17 轉碼功能流程圖
(4)播放。在編曲播放前,需要先完成上位機與舵機控制板的連接、串口設置、播放選擇等設定,具體流程見圖18、19,串口設計界面見圖20,演奏播放界面見圖21。

圖18 串口設置流程圖

圖19 樂曲播放流程圖

圖20 串口設置界面

圖21 播放控制界面
本文開發的電子琴演奏機器人教學平臺,為機電專業學生進行系統集成、系統調試、機構優化、軟件編寫提供了良好載體。在本平臺上可以進行的實驗內容有:
(1)仿人機械手拆裝與調試;
(2)系統連接與參數設置;
(3)編曲與演奏調試;
(4)演奏技巧、演奏算法實驗;
(5)多樂器合奏實驗。
本平臺已開設全校公共選修課程,參與平臺使用學生200 余人,參與畢業設計學生10 余人。電子琴演奏機器人教學平臺實物如圖22 所示。

圖22 電子琴演奏機器人教學平臺實物圖