


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