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