摘要:主要通過硬件系統(tǒng)和軟件系統(tǒng)的設(shè)計(jì)對(duì)多自由度機(jī)械手臂進(jìn)行了深入研究。采用STM32系列單片機(jī)作為機(jī)械手臂的主控單元,對(duì)載有彎曲傳感器的虛擬現(xiàn)實(shí)設(shè)備進(jìn)行運(yùn)動(dòng)姿態(tài)數(shù)據(jù)采集、無線發(fā)送與接收,實(shí)現(xiàn)對(duì)機(jī)械手臂末端控制器的遠(yuǎn)程實(shí)時(shí)控制。同時(shí),利用OpenCV視覺引導(dǎo)技術(shù)對(duì)采集到的目標(biāo)物體圖像進(jìn)行識(shí)別與處理,系統(tǒng)能夠準(zhǔn)確定位和識(shí)別圖像的空間坐標(biāo),通過PID控制算法使機(jī)械手臂能按照指定位置和預(yù)定速度正確識(shí)別和抓取目標(biāo)物體。
關(guān)鍵詞:機(jī)械手臂實(shí)時(shí)控制視覺引導(dǎo)PID控制算法
ResearchandApplicationofRobotArmswithMultipleDegreesofFreedomBasedonOpenCVVisualGuidance
ZHANGBin
QingdaoHarbourVocational&TechnicalCollege,Qingdao,ShandongProvince,266404China
Abstract:Thisarticlemainlyconductsin-depthresearchonrobotarmswithmultipledegreeoffreedomthroughthedesignofhardwareandsoftwaresystems.ItusestheSTM32seriesmicrocontrollerasthemaincontrolunitoftherobotarm,andcollects,wirelesslytransmitsandreceivesthemotionattitudedataofvirtualrealitydevicescarryingbendingsensors,soastoachievethe remotereal-timecontrolofitsendcontroller.Atthesametime,itusesOpenCVvisualguidancetechnologytorecognizeandprocessthecollectedtargetobjectimages,andthesystemcanaccuratelylocateandrecognizethespatialcoordinatesoftheimagesandenabletherobotarmtocorrectlyrecognizeandgraspthetargetobjectaccordingtothespecifiedpositionandpredeterminedspeedthroughPIDcontrolalgorithm,.
KeyWords:Mechanicalarm;Real-timecontrol;Visualguidance;PIDcontrolalgorithm
手是人體最為靈活的部分,國內(nèi)外模仿人類肢體動(dòng)作研究了眾多智能機(jī)械手臂機(jī)器人,應(yīng)用領(lǐng)域涉及航空航天、深海探測(cè)、芯片制造、生物醫(yī)療等眾多高科技領(lǐng)域。國外機(jī)器手臂在機(jī)械設(shè)計(jì)與制造業(yè)中的發(fā)展速度很快,且應(yīng)用廣泛,瑞典、德國、日本等國家機(jī)器手臂制造技術(shù)處于領(lǐng)先地位。在20世紀(jì)70年代我國第一臺(tái)機(jī)械手臂在上海誕生后,機(jī)械手臂的研制隨即在全國范圍內(nèi)開展,產(chǎn)品和技術(shù)也在不斷地更新?lián)Q代。隨著機(jī)械手臂的作業(yè)任務(wù)和環(huán)境的復(fù)雜程度不斷增加,對(duì)機(jī)械手臂的多自由度、靈活性、控制方式等性能提出了更高的要求[1]。因此,能夠適應(yīng)復(fù)雜或特定作業(yè)場(chǎng)景,且擁有視覺感知能力的機(jī)械手臂是未來的發(fā)展趨勢(shì)。
本文設(shè)計(jì)一款利用物聯(lián)網(wǎng)技術(shù)實(shí)現(xiàn)對(duì)機(jī)械手臂的遠(yuǎn)程無線控制,以STM32系列單片機(jī)作為核心控制單元,通過具有彎曲傳感器的力反饋數(shù)據(jù)手套將人手的運(yùn)動(dòng)姿態(tài)進(jìn)行數(shù)據(jù)采集,并通過無線模塊進(jìn)行數(shù)據(jù)傳輸,利用OpenCV視覺引導(dǎo)技術(shù)對(duì)采集到的目標(biāo)物體圖像進(jìn)行識(shí)別與處理,實(shí)現(xiàn)對(duì)目標(biāo)物體的識(shí)別、抓取、移動(dòng)和旋轉(zhuǎn)等操作。
1硬件系統(tǒng)設(shè)計(jì)
1.1多自由度機(jī)械臂設(shè)計(jì)
該系統(tǒng)中的機(jī)械手臂采用擬人手臂的空間開鏈?zhǔn)綑C(jī)構(gòu)設(shè)計(jì)方案,為典型的關(guān)節(jié)型機(jī)器人結(jié)構(gòu),由6個(gè)關(guān)節(jié)和1個(gè)末端執(zhí)行器構(gòu)成的六自由度機(jī)械臂,利用步進(jìn)電機(jī)驅(qū)動(dòng)和控制每個(gè)關(guān)節(jié)的旋轉(zhuǎn),進(jìn)而完成各種復(fù)雜的運(yùn)動(dòng)、抓取等操作。機(jī)械臂包含4個(gè)旋轉(zhuǎn)關(guān)節(jié),分別為腰關(guān)節(jié)、肩關(guān)節(jié)、肘關(guān)節(jié)和腕關(guān)節(jié),各個(gè)旋轉(zhuǎn)關(guān)節(jié)主要由步進(jìn)電機(jī)、減速器、傳動(dòng)單元及內(nèi)部傳感器等部分組成,可以分別控制各執(zhí)行機(jī)構(gòu)按照預(yù)先設(shè)定的程序?qū)崿F(xiàn)線性或非線性操作,進(jìn)而實(shí)現(xiàn)機(jī)械臂在空間中做到6個(gè)自由度的運(yùn)動(dòng)[2]。
驅(qū)動(dòng)裝置是機(jī)械臂在運(yùn)動(dòng)過程中必不可少的機(jī)構(gòu)之一,它按照控制系統(tǒng)發(fā)出的控制指令,通過動(dòng)力單元使機(jī)械手臂產(chǎn)生相應(yīng)的動(dòng)作。常見的驅(qū)動(dòng)方式主要有液壓驅(qū)動(dòng)、氣壓驅(qū)動(dòng)和電氣驅(qū)動(dòng)三種類型,本系統(tǒng)中采用電氣驅(qū)動(dòng)方式控制步進(jìn)電機(jī),每一個(gè)關(guān)節(jié)設(shè)置一個(gè)驅(qū)動(dòng)裝置。
1.2機(jī)械手臂電機(jī)選型
機(jī)械手臂電機(jī)的型號(hào)選擇要考慮負(fù)載能力、執(zhí)行速度、控制精度以及可靠性等方面的綜合因素,同時(shí)還要考慮電機(jī)的功率、轉(zhuǎn)速、受力、效率等因素,選擇切合實(shí)際的機(jī)械手臂控制電機(jī)。在確定好機(jī)械手臂的模型后,需要通過理論計(jì)算機(jī)械臂所能承受的力矩,并根據(jù)力矩計(jì)算出機(jī)械手臂的最大輸出功率。通過多方面綜合因素的考慮,經(jīng)過精確的計(jì)算確保選取的電機(jī)型號(hào)有效驅(qū)動(dòng)各個(gè)軸能夠正常工作[3]。
若已知機(jī)械臂各軸質(zhì)量mi(1≤i≤5)和負(fù)載的質(zhì)量M,同時(shí)在機(jī)械手臂設(shè)計(jì)過程中可以測(cè)得各個(gè)軸間的水平距離Li(1≤i≤4)。在實(shí)際計(jì)算過程中,應(yīng)考慮質(zhì)心距離偏差問題。
則可根據(jù)受力公式
和所受最大力矩公式
計(jì)算出各個(gè)軸的受力大小和所承受的最大力矩。通過理論計(jì)算,同時(shí)綜合考慮機(jī)械手臂工作時(shí)的最大負(fù)載、運(yùn)動(dòng)速度和加速度、工作時(shí)長、工作效率以及性價(jià)比等方面,進(jìn)而可以確定機(jī)械手臂每個(gè)軸所需的電機(jī)類型。
1.3機(jī)械手臂主控單元
機(jī)械手臂的主控單元選擇STM32H743IIT6芯片,該芯片集成了工作頻率高達(dá)480MHz的ARMCrotex-M7內(nèi)核,具有靈活的外部內(nèi)存控制器,最多支持32位數(shù)據(jù)總線,具有168個(gè)具有中斷功能的I/O端口。同時(shí),該芯片中包含高速嵌入式2MB閃存、1MBRAM的存儲(chǔ)器,2個(gè)電機(jī)PWM計(jì)時(shí)控制器以及5個(gè)低功耗定時(shí)器等豐富的片內(nèi)資源[4]。
A4988是一款常用的微步電機(jī)驅(qū)動(dòng)器,其內(nèi)部自帶轉(zhuǎn)換器,便于操作,可在不同步進(jìn)模式下操控步進(jìn)電動(dòng)機(jī),具有較高的輸出性能,工作電壓范圍為8~35V。同時(shí)兼容3.3V、5V的邏輯電平,具有接地短路保護(hù)、過載保護(hù)等特點(diǎn)[5]。STM32H743IIT6控制芯片與A4988驅(qū)動(dòng)模塊、電機(jī)的連接圖如圖1所示。
1.4運(yùn)動(dòng)姿態(tài)數(shù)據(jù)采集
機(jī)械手臂運(yùn)動(dòng)姿態(tài)的數(shù)據(jù)采集是通過載有彎曲傳感器的數(shù)據(jù)手套進(jìn)行獲取的,數(shù)據(jù)手套是一種常見的虛擬現(xiàn)實(shí)硬件,其內(nèi)部或表面搭載彎曲傳感器,彎曲傳感器由柔性電路板、力傳感器和彈性封裝材料構(gòu)成。數(shù)據(jù)手套中配備5個(gè)高精度的彎曲傳感器,分別分布在每根手指的活動(dòng)關(guān)節(jié)上,當(dāng)人手姿態(tài)發(fā)生變化時(shí),力傳感器受到外力作用將力的大小轉(zhuǎn)換成阻值的大小,進(jìn)而轉(zhuǎn)換成電信號(hào)的大小,通過信號(hào)處理后的電信號(hào)就可以表示人手姿態(tài)變化情況。在運(yùn)動(dòng)姿態(tài)數(shù)據(jù)采集硬件電路設(shè)計(jì)上,通過彎曲傳感器與電阻串聯(lián)分壓的方式,實(shí)現(xiàn)將人手姿態(tài)變化轉(zhuǎn)換成電壓的變化[6]。
1.5無線數(shù)據(jù)發(fā)送與接收
機(jī)械手臂的遠(yuǎn)程控制是通過嵌入式的藍(lán)牙串口通信模塊實(shí)現(xiàn)無線數(shù)據(jù)的發(fā)送和接收的。在數(shù)據(jù)發(fā)送端,將通過彎曲傳感器采集到的人手運(yùn)動(dòng)姿態(tài)數(shù)據(jù)與STM32H743IIT6控制芯片的模擬端口相連接,經(jīng)過控制芯片內(nèi)部的模數(shù)轉(zhuǎn)換單元將模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào),經(jīng)過發(fā)射端藍(lán)牙模塊進(jìn)行無線傳輸。在數(shù)據(jù)接收端,經(jīng)過協(xié)議配置,通過接收端藍(lán)牙模塊對(duì)運(yùn)動(dòng)姿態(tài)數(shù)據(jù)進(jìn)行接收,將接收到的數(shù)據(jù)信息經(jīng)STM32H743IIT6控制芯片進(jìn)行數(shù)據(jù)處理,控制機(jī)械手臂的末端執(zhí)行器,實(shí)現(xiàn)物體抓取等相應(yīng)操作。數(shù)據(jù)采集、無線發(fā)送和接收系統(tǒng)如圖2所示。
2軟件系統(tǒng)設(shè)計(jì)
2.1圖像識(shí)別與處理
在機(jī)械手臂系統(tǒng)中,攝像頭模塊安裝在機(jī)械手臂的固定位置(Eye-In-Hand),通過攝像頭采集被抓取物體的位置和圖像等相關(guān)信息,最終在計(jì)算機(jī)中利用OpenCV完成圖像信息處理。計(jì)算機(jī)通過對(duì)現(xiàn)場(chǎng)采集的圖像信息進(jìn)行分析,經(jīng)過圖像特征提取,確定出被抓取物體的位置和體征信息,同時(shí)確定出相對(duì)于機(jī)械手臂坐標(biāo)體系下的三維坐標(biāo),系統(tǒng)根據(jù)獲取到的三維坐標(biāo)信息控制機(jī)械手臂實(shí)現(xiàn)對(duì)目標(biāo)物體的精準(zhǔn)操作[7]。
為了能夠獲得高精度處理效果,避免圖像噪聲導(dǎo)致深度圖像中的不準(zhǔn)確的深度值,而影響后續(xù)的圖像處理任務(wù),需要對(duì)被抓取物體原始的彩色圖形和深度圖像采取濾波、降噪和校正等方法進(jìn)行除噪聲處理。首先,對(duì)被抓取物體進(jìn)行背景建模,通過比較當(dāng)前幀模型和背景模型,達(dá)到檢測(cè)前景物體的目的;其次,使用OpenCV進(jìn)行輪廓提取,通過讀取圖像、灰度圖像轉(zhuǎn)換、圖像分割、繪制輪廓等方法,識(shí)別和分割出感興趣的物體;再次,對(duì)特征檢測(cè)器進(jìn)行初始化、利用檢測(cè)器檢測(cè)并計(jì)算特征點(diǎn),對(duì)兩幅圖像的特征點(diǎn)進(jìn)行匹配;從次,結(jié)合原圖像、目標(biāo)圖像和透視轉(zhuǎn)換矩陣等參數(shù)通過相關(guān)函數(shù)實(shí)現(xiàn)透視變換,按照指定的透視變換矩陣進(jìn)行處理獲得輸出圖像;最后,在輸出圖像中設(shè)置3個(gè)點(diǎn)并確定其在圖像中坐標(biāo)位置,利用仿射變換或透視變換對(duì)圖像進(jìn)行變換[8]。
通過相似三角形原理,可以測(cè)算出攝像頭與被抓取物體的距離。決定攝像頭與被抓取物體之間距離的3個(gè)因素分別為被抓取物體的已知寬度、焦距和圖像中的被抓取物體的像素寬度,通過公式(1)就可計(jì)算出物體的距離。
式(1)中:d為被抓取物體與攝像頭的距離,w為被抓取物體的寬度,f為焦距(攝像頭鏡頭中心到成像平面的距離),p為圖像中的被抓取物體的像素寬度。
2.2PID控制算法
比例-積分-微分(Proportional-Integral-Derivative,PID)是一種常見的控制算法。因其具備結(jié)構(gòu)簡單、良好的穩(wěn)定性和可靠性以及調(diào)整方便等特點(diǎn),故在工程實(shí)際中成為工業(yè)控制的主要技術(shù)之一。PID算法在機(jī)械手臂的位置和速度控制中也有著廣泛的應(yīng)用,通過比較位置、速度的實(shí)際輸出值與預(yù)定值的差異,通過反饋系統(tǒng),調(diào)整控制器的輸出值,達(dá)到預(yù)定的控制效果,進(jìn)而能夠?qū)崿F(xiàn)機(jī)械手臂運(yùn)行到指定位置和達(dá)到預(yù)定速度[9]。
3結(jié)語
隨著我國經(jīng)濟(jì)實(shí)力和科技水平的不斷提升,人工智能和新一代信息技術(shù)的日益崛起,我國正從制造業(yè)大國向“智造”業(yè)、創(chuàng)造業(yè)強(qiáng)國轉(zhuǎn)變,機(jī)械手臂市場(chǎng)的規(guī)模有著很大的發(fā)展空間。在未來的發(fā)展中,隨著制造業(yè)制造水平的不斷升級(jí),機(jī)械臂的應(yīng)用將不限于工業(yè)生產(chǎn)領(lǐng)域,同時(shí)在醫(yī)療康復(fù)、餐飲服務(wù)、教育培訓(xùn)等與人們?nèi)粘I钕⑾⑾嚓P(guān)的領(lǐng)域中也有著廣泛的應(yīng)用。在技術(shù)創(chuàng)新上,隨著人工智能的不斷發(fā)展,具有深度學(xué)習(xí)、自主決策和機(jī)器視覺功能的機(jī)械手臂將在各個(gè)領(lǐng)域中發(fā)揮著不可替代的作用,同時(shí)也為人類探索未來帶來更多的機(jī)遇和挑戰(zhàn)。
參考文獻(xiàn)
[1]潘莉英.柔性關(guān)節(jié)機(jī)械臂避障路徑自動(dòng)控制數(shù)學(xué)建模[J].機(jī)械與電子,2023,41(3):60-64.
[2]黃鑫,張文亭,任雪嬌,等.基于虛擬樣機(jī)的六自由度機(jī)械臂軌跡規(guī)劃研究[J].內(nèi)燃機(jī)與配件,2023(3):40-42.
[3]王鈞,田壟翔,李斌,等.五自由度機(jī)械臂系統(tǒng)設(shè)計(jì)與控制方式研究[J].青島大學(xué)學(xué)報(bào)(工程技術(shù)版),2023,38(1):104-111,118.
[4]周江.STM32單片機(jī)原理及硬件電路設(shè)計(jì)研究[J].數(shù)字技術(shù)與應(yīng)用,2015(11):1.
[5]祖一康,徐妙婧.基于單片機(jī)的直流電機(jī)轉(zhuǎn)速測(cè)量與控制系統(tǒng)設(shè)計(jì)[J].黃岡師范學(xué)院學(xué)報(bào),2014,34(3):50-53.
[6]曹毅,顧蘇程,翟明浩,等.封閉式仿生螺旋纏繞軟體夾持器的設(shè)計(jì)與研究[J].北京航空航天大學(xué)學(xué)報(bào),2021,47(1):15-23.
[7]陳再師,劉任任.基于OpenCV的智能機(jī)械手臂的設(shè)計(jì)與實(shí)現(xiàn)[J].電腦知識(shí)與技術(shù),2015,11(25):118-119,121.
[8]郭小羽.六軸機(jī)器人控制器底層軟件設(shè)計(jì)及其算法仿真研究[D].深圳:深圳大學(xué),2017.
[9]汪洋,王黎明,薛毓銓,等.基于改進(jìn)SIFT算法的機(jī)械臂識(shí)別抓取研究[J].機(jī)床與液壓,2022,50(16):63-66.