李立早,常 勝,黃 凱
(南京信息職業(yè)技術(shù)學(xué)院,江蘇 南京 210023)
基于慣性動作捕捉的機(jī)械臂控制系統(tǒng)設(shè)計*
李立早,常 勝,黃 凱
(南京信息職業(yè)技術(shù)學(xué)院,江蘇 南京 210023)
針對以往機(jī)械臂控制方式繁瑣且技術(shù)要求高的弊端,設(shè)計了一套基于慣性動作捕捉的機(jī)械臂控制系統(tǒng)。由重力加速度計和彎曲度傳感器構(gòu)成的動作捕捉模塊被固定于操作者手臂上,實(shí)時捕捉手臂各部分相對運(yùn)動角度值。動作捕捉模塊將各角度值通過串行方式發(fā)送給機(jī)械臂控制模塊,完成對舵機(jī)角度的控制。該控制系統(tǒng)直接捕獲手臂相對運(yùn)動角,避免了空間姿態(tài)角換算問題,經(jīng)實(shí)驗(yàn)驗(yàn)證其控制效果令人滿意。
動作捕捉;慣性傳感器;彎曲度傳感器;機(jī)械臂
機(jī)械臂作為機(jī)器人的一個分支,已廣泛應(yīng)用于工業(yè)領(lǐng)域以及生活中。機(jī)械臂可以替代人類在高溫、高熱、強(qiáng)輻射等高危環(huán)境中作業(yè),完成各類復(fù)雜的操作。目前的機(jī)械臂控制方式通常較為繁瑣,同時要求操作者具有專業(yè)知識基礎(chǔ)和豐富的操作經(jīng)驗(yàn)。近年來,有學(xué)者提出了采用體感技術(shù)對機(jī)械臂進(jìn)行控制,主要方式有兩大類:光學(xué)捕捉和慣性捕捉。光學(xué)捕捉主要采用光學(xué)器材對人體運(yùn)動姿態(tài)進(jìn)行捕獲,具有較高的精度,但價格較為昂貴,對場地要求也較高。常見的光學(xué)捕捉控制方式通過采用Kinect或Leap Motion等設(shè)備來實(shí)現(xiàn)[1-2]。慣性捕捉方式則采用穿戴在人體上的慣性傳感器來實(shí)現(xiàn)對姿態(tài)的捕獲,例如采用三軸陀螺儀、重力加速度計和磁通傳感器等。目前,荷蘭Xsens公司和美國的Innalabs公司都推出了商業(yè)化的慣性捕捉設(shè)備,捕捉精度高,可以在任何場地使用,但同樣價格高昂。國內(nèi)學(xué)者對慣性姿態(tài)捕獲機(jī)械臂控制方式也有深入研究,采用多傳感器數(shù)據(jù)融合方式計算舵機(jī)偏轉(zhuǎn)角度[3-4]。雖然多傳感器方案可以有效提高精度,但同時也帶來了計算復(fù)雜、數(shù)據(jù)量大、操作延遲等問題,給工程應(yīng)用帶來了困難。
針對這些問題,本項(xiàng)目采用重力加速度計與彎曲度傳感器相結(jié)合的方案,設(shè)計了基于慣性動作捕捉的機(jī)械臂控制系統(tǒng)。直接捕獲各關(guān)節(jié)間相對運(yùn)動角度,用于對機(jī)械臂舵機(jī)的控制,避免了大量的角度換算和數(shù)據(jù)運(yùn)算。同時,在保證精度和穩(wěn)定性的前提下,對成本進(jìn)行了合理的控制。
本項(xiàng)目主要通過對操作者手臂運(yùn)動姿態(tài)的捕捉,產(chǎn)生角度指令進(jìn)而控制機(jī)械臂進(jìn)行運(yùn)動。不同于單純動作捕捉系統(tǒng)捕獲的是手臂的空間姿態(tài)角,本項(xiàng)目中動作捕捉模塊捕獲的是手臂各部位的相對角度,再將其轉(zhuǎn)換為機(jī)械臂各舵機(jī)的偏轉(zhuǎn)角,進(jìn)而控制機(jī)械臂的運(yùn)動。由于機(jī)械臂的操作均是在視線之內(nèi)完成,事實(shí)上已構(gòu)建了視覺反饋回路[5-6]。因此對動作捕捉模塊精度要求相對較低,僅需線性輸出角度變化即可。動作捕捉模塊設(shè)計過程中主要考慮提高輸出信號的線性度和穩(wěn)定性。
圖1 手臂結(jié)構(gòu)示意圖
從解剖學(xué)角度分析,人體手臂共包括了三個主要的關(guān)節(jié),即肩關(guān)節(jié)、肘關(guān)節(jié)和腕關(guān)節(jié)[7],如圖1所示。上臂由肱骨和肌肉構(gòu)成,前臂主要由橈骨、尺骨及肌肉構(gòu)成,手掌由腕骨、掌骨和指骨等構(gòu)成。如果不考慮較小范圍的運(yùn)動,手臂有以下幾個自由度。由肱骨和肩胛骨構(gòu)成的肩關(guān)節(jié),可以前后做屈伸運(yùn)動,也可以向外側(cè)做內(nèi)收和外展運(yùn)動,共有2個自由度。肘關(guān)節(jié)主要由上臂的肱骨和前臂的橈骨和尺骨連接而成,僅能完成屈伸運(yùn)動。但橈骨和尺骨卻能共同完成旋內(nèi)和旋外運(yùn)動,有2個自由度。腕關(guān)節(jié)由尺骨、橈骨和掌骨構(gòu)成,僅能完成小幅度的屈伸運(yùn)動。手的運(yùn)動較為復(fù)雜,這里就不詳細(xì)敘述了。
圖2 機(jī)械臂結(jié)構(gòu)圖
本項(xiàng)目中采用的機(jī)械臂結(jié)構(gòu)如圖2所示,由7個20 kg級大扭力數(shù)字舵機(jī)驅(qū)動,包括了6個自由度。為了與人體手臂結(jié)構(gòu)相對應(yīng),機(jī)械臂的基座被固定在支架上,整個臂體下垂布置。其中A1和A2軸模擬人體肩關(guān)節(jié)部分,由3個舵機(jī)構(gòu)成,各軸可以完成接近180°的旋轉(zhuǎn),共2個自由度。A3和A5軸模擬了肘關(guān)節(jié)的運(yùn)動,同軸安裝的舵機(jī)可以保證前臂完成大角度的屈伸運(yùn)動,A5軸上的舵機(jī)則可以使得機(jī)械爪繞A5軸完成旋轉(zhuǎn)運(yùn)動,共2個自由度。A4軸模擬了人體的腕關(guān)節(jié),同軸的舵機(jī)可以帶動機(jī)械爪繞A4軸完成大角度屈伸動作,共1個自由度。最后機(jī)械爪可以完成夾取動作,模擬人手的功能,共1個自由度。
圖5 系統(tǒng)原理框圖
為了捕捉手臂的運(yùn)動姿態(tài),在操作者手臂上固定了2類共5個傳感器,如圖3所示。其中,在肩關(guān)節(jié)處水平固定了1個重力加速度計S1,用于捕捉肩關(guān)節(jié)繞y軸的屈伸運(yùn)動,以及繞x軸的外展和內(nèi)收運(yùn)動。在肘關(guān)節(jié)內(nèi)側(cè),固定了1個彎曲度傳感器S2,用于捕捉肘關(guān)節(jié)的屈伸運(yùn)動。在肘關(guān)節(jié)外側(cè)尺骨根部固定了1個重力加速度計S3,同時在手背上固定了1個重力加速度計S4,用于捕捉肘關(guān)節(jié)繞x軸的旋內(nèi)和旋外運(yùn)動,以及腕關(guān)節(jié)繞y軸的屈伸運(yùn)動。具體固定方式如圖4所示。
圖3 傳感器總體安裝示意圖
圖4 腕關(guān)節(jié)傳感器安裝示意圖
如圖4中坐標(biāo)系所示,手部可以分別繞x,y,z軸實(shí)現(xiàn)一定角度的旋轉(zhuǎn)。對應(yīng)被控機(jī)械臂的運(yùn)動特點(diǎn),僅需要捕獲手部繞x軸和繞y軸的運(yùn)動。為了簡化設(shè)計,采用了兩個重力加速度計來完成對這兩組運(yùn)動的捕獲。通過獲取兩個加速度計繞x軸和y軸的差值,便可以計算出手部繞x軸和y軸旋轉(zhuǎn)的角度了。
本項(xiàng)目的結(jié)構(gòu)如圖5所示,由動作捕捉模塊和機(jī)械臂控制模塊共同構(gòu)成。動作捕捉模塊由3個重力加速度計和2個彎曲度傳感器作為動作捕捉元件。其中,重力加速度計通過SPI通信方式與MSP430F5529單片機(jī)進(jìn)行通信,彎曲度傳感器則通過ADC(模數(shù)轉(zhuǎn)換器)將信號發(fā)送給單片機(jī)。兩個功能模塊間通過UART方式進(jìn)行通信,動作捕捉模塊將采集到的6組角度信息發(fā)送給機(jī)械臂控制模塊。機(jī)械臂控制模塊中的單片機(jī)將角度信息轉(zhuǎn)化為對應(yīng)的PWM波信號發(fā)送給6自由度機(jī)械臂,完成對應(yīng)動作。傳感器采集部分采用5 V鋰電池供電,經(jīng)穩(wěn)壓后提供給單片機(jī)及相關(guān)傳感器;機(jī)械臂控制部分采用開關(guān)電源供電,可以為大扭力數(shù)字舵機(jī)提供6 V總計10 A的電源輸出,確保機(jī)械臂在夾取重物情況下也能夠正常完成大角度的提升動作。
本項(xiàng)目中重力加速度計選用的是恩智浦公司的MMA7455模塊,具有功耗低、尺寸小、內(nèi)建低通濾波器以及自矯正等特點(diǎn),且價格便宜。該傳感器可采用SPI或I2C串行輸出,便于和單片機(jī)進(jìn)行通信。內(nèi)建的ADC(模數(shù)轉(zhuǎn)換器)提供10位的分辨率,直接輸出數(shù)據(jù)穩(wěn)定可靠,完全能夠滿足本項(xiàng)目的設(shè)計需求。彎曲度傳感器采用Spectra Symbol公司的Flex系列傳感器。該傳感器采用柔性材料作為基材,可以在不超過180°范圍內(nèi)任意彎曲?;纳细街碾娮杵碾娮柚禃S著傳感器彎曲角度的增大而增大,在一定角度范圍內(nèi)接近線性[8]。圖6是對該彎曲度傳感器電阻特性的實(shí)際測試結(jié)果,可見輸出電阻值與彎曲角度基本呈線性關(guān)系。
圖6 彎曲度傳感器特性圖
如圖5所示,系統(tǒng)共分為兩大模塊:動作捕獲模塊和機(jī)械臂控制模塊,動作捕獲模塊的主要任務(wù)是對角度進(jìn)行采集、處理并完成數(shù)據(jù)的通信傳輸。MMA7455重力加速度計的輸出為三軸方向上的加速度值,因此需要單片機(jī)通過幾何換算才能最終獲得繞x軸和y軸的傾角。而彎曲度傳感器輸出的電阻值經(jīng)過分壓調(diào)理最后轉(zhuǎn)化為電壓值,再由單片機(jī)內(nèi)建的12位ADC(模數(shù)轉(zhuǎn)換器)進(jìn)行采集并經(jīng)過換算最終得到彎曲角度??紤]到重力加速計的機(jī)械特性以及噪聲干擾等,在軟件設(shè)計過程中需要對采集到的數(shù)據(jù)進(jìn)行數(shù)字濾波。采用較為簡單的中值濾波,可以有效地去除掉由于機(jī)械沖擊造成的脈沖突變信號,保證了數(shù)據(jù)的穩(wěn)定性。
機(jī)械臂控制模塊程序設(shè)計較為簡單,主要完成UART數(shù)據(jù)的接收和對機(jī)械臂角度的控制。MSP430F5529單片機(jī)內(nèi)建了16位的定時器,采用其波形輸出功能可以同時從7個通道輸出周期為20 ms,占空比為2.5%~12.5%的PWM方波信號。
在對系統(tǒng)進(jìn)行測試之前,需要對動作捕捉模塊進(jìn)行簡單調(diào)試和校準(zhǔn)。在手臂處于自然下垂?fàn)顟B(tài)時,將所有傳感器調(diào)整為零輸出。完成校準(zhǔn)工作后,針對系統(tǒng)的穩(wěn)定性和線性度進(jìn)行了以下測試??紤]到人體手臂運(yùn)動的范圍,針對機(jī)械臂6個自由度分別進(jìn)行了多次測試,記錄數(shù)據(jù)如表1所示。可以看出,除A4和A5軸出現(xiàn)誤動作外,其他轉(zhuǎn)軸輸出均很穩(wěn)定。出現(xiàn)角度偏差較為明顯的轉(zhuǎn)軸主要集中在采用重力加速度計的A1,A2,A4和A5轉(zhuǎn)軸,分析原因主要在于加速度計在大角度時分辨率降低,從而造成了整體線性度的下降。
表1 實(shí)驗(yàn)測試數(shù)據(jù)
本項(xiàng)目采用穿戴在操作者手臂上的重力加速度計與彎曲度傳感器相結(jié)合作為動作捕捉元件,直接捕獲手臂各部分相對角度值,用于對六自由度機(jī)械臂的姿態(tài)控制。該設(shè)計避免了傳統(tǒng)動作捕捉系統(tǒng)通過空間姿態(tài)角換算相對角度的繁瑣運(yùn)算,以及數(shù)據(jù)融合運(yùn)算帶來的延遲問題。通過實(shí)驗(yàn)驗(yàn)證表明,該系統(tǒng)能夠線性地跟蹤操作者手臂姿態(tài)的變化,并能提供穩(wěn)定的角度輸出。在后繼的研究工作中,重點(diǎn)將放在進(jìn)一步提高系統(tǒng)的可靠性和準(zhǔn)確性,以期達(dá)到產(chǎn)品化的目的。
[1] 林海波,梅為林,張毅,等.基于Kinect骨骼信息的機(jī)械臂體感交互系統(tǒng)的設(shè)計與實(shí)現(xiàn)[J].計算機(jī)應(yīng)用與軟件,2013,30(2):157-160,176.
[2] 康楊雨軒,鄭文,李松林,等.基于LeapMotion的機(jī)械臂交互控制研究[J].傳感器與微系統(tǒng),2016,35(6):34-37.
[3] 周海芳,查帥榮,章杰,等.一種基于嵌入式平臺的機(jī)械臂體感控制系統(tǒng)[J].福州大學(xué)學(xué)報(自然科學(xué)版),2015(4):471-475.
[4] 汪俊,許勝強(qiáng),程楠,等.基于多傳感器的運(yùn)動姿態(tài)測量算法[J].計算機(jī)系統(tǒng)應(yīng)用,2015,24(9):134-139.
[5] 劉洋,方敏.基于LabVIEW的視覺伺服機(jī)械臂控制系統(tǒng)[J].微型機(jī)與應(yīng)用,2012,31(10):25-27.
[6] 張雨薇,林雄民.基于仿生機(jī)械臂的體態(tài)遙控與可視化系統(tǒng)設(shè)計[J].電子技術(shù)應(yīng)用,2015,41(12):22-24.
[7] 劉雷.基于慣性運(yùn)動捕捉的仿人機(jī)械臂控制系統(tǒng)算法研究[D].西安:西北大學(xué),2015.
[8] 都悅來,史麗萍,李桂英,等.基于加速度計和彎曲傳感器的手指運(yùn)動姿態(tài)監(jiān)測(英文)[J].納米技術(shù)與精密工程,2017,15(1): 61-66.
Design of robot arm control system based on the inertial motion capture
Li Lizao, Chang Sheng, Huang Kai
(Nanjing College of Information Technology, Nanjing 210023, China)
The traditional robot arm control is complex and professional. A robot arm control method has been designed based on inertial motion capture. The motion capture module composed of gravity accelerometer and flex sensor is fastened to the operator’s arm, and the angle of each part of relative motion are captured. The motion capture module will send each angle value to the robot arm control module through serial communication to steer the robot arm. The control system directly captures arm relative angle, avoiding the problem of space attitude angle conversion. Control effect is verified by the experiment.
motion capture; inertial sensor; flex sensor; robot arm
江蘇省大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計劃一般項(xiàng)目(201613112012Y)
TP273
A
10.19358/j.issn.1674- 7720.2017.16.002
李立早,常勝,黃凱.基于慣性動作捕捉的機(jī)械臂控制系統(tǒng)設(shè)計[J].微型機(jī)與應(yīng)用,2017,36(16):5-7.
2017-03-22)
李立早(1979-),男,副教授,主要研究方向:嵌入式系統(tǒng)。