施琦煒 史學(xué)強(qiáng) 班嵐
摘要:本機(jī)器人采用了機(jī)器視覺(jué)與卷積神經(jīng)網(wǎng)絡(luò)的方案,完成了對(duì)自定義目標(biāo)的識(shí)別定位,而機(jī)械臂算法實(shí)現(xiàn)了抓取,解決了傳統(tǒng)傳感器只能識(shí)別單一物體的難題;同時(shí)機(jī)器人具有動(dòng)態(tài)路徑規(guī)劃功能,通過(guò)傳感器對(duì)現(xiàn)實(shí)世界的感知來(lái)自主規(guī)劃?rùn)C(jī)器人的移動(dòng)方向,機(jī)器人擁有自主設(shè)計(jì)的通信協(xié)議,可以通過(guò)無(wú)線方式對(duì)機(jī)器人下達(dá)命令;實(shí)驗(yàn)結(jié)果顯示:機(jī)器人通過(guò)機(jī)器視覺(jué)與傳感器的方案可以對(duì)周圍環(huán)境進(jìn)行感知,根據(jù)下達(dá)的任務(wù)來(lái)搜索、識(shí)別、定位、移動(dòng)、抓取 。
關(guān)鍵詞: 機(jī)器視覺(jué);卷積神經(jīng)網(wǎng)絡(luò);動(dòng)態(tài)路徑規(guī)劃;無(wú)線通信;機(jī)械臂控制算法
1引言
在運(yùn)輸領(lǐng)域中,物料搬運(yùn)機(jī)器人是目前使用最為廣泛的機(jī)械設(shè)備。但現(xiàn)有的物料搬運(yùn)車在識(shí)別、定位和抓取方面都存在一定的問(wèn)題,本項(xiàng)目致力于研發(fā)一款小型的全自動(dòng)智能物料搬運(yùn)機(jī)械手,以電能為動(dòng)力源,具有搬運(yùn)效率高、操作簡(jiǎn)單、節(jié)省人力資源、減少環(huán)境污染等優(yōu)點(diǎn)。能夠根據(jù)接收的任務(wù)要求,對(duì)指定物料進(jìn)行抓取、搬運(yùn)、放置等操作。
2機(jī)械臂的抓取與放置角度控制
2.1手臂零點(diǎn)的標(biāo)定
本機(jī)械臂使用OpenMV視覺(jué)識(shí)別,通過(guò)創(chuàng)建手臂的圓柱坐標(biāo)對(duì)物料進(jìn)行定位、抓取及放置。為了便于調(diào)試同時(shí)不缺失精度,手臂零點(diǎn)標(biāo)定采用逆向示教的方法。首先使用機(jī)械手的夾持工件夾緊目標(biāo)物料,通過(guò)調(diào)節(jié)機(jī)械臂的關(guān)節(jié)轉(zhuǎn)角,使物料準(zhǔn)確地到達(dá)目標(biāo)抓取、放置位置,此時(shí)機(jī)械臂的工件坐標(biāo)與目標(biāo)位置的大地坐標(biāo)相重合,此位置即為機(jī)械臂將要抓取、放置物料的最終位置。保持物料的位置不動(dòng),松開(kāi)機(jī)械臂的夾持裝置,操作機(jī)械臂的各關(guān)節(jié),使其到達(dá)抓取、放置物料前的掃描位置,此時(shí)通過(guò)裝在機(jī)械臂上的視覺(jué)鏡頭可以測(cè)出物料的中心點(diǎn)位于視覺(jué)模塊中的二維坐標(biāo),通過(guò)調(diào)節(jié)參數(shù),使得此時(shí)的位置標(biāo)定為機(jī)械臂目標(biāo)的(中心)零點(diǎn)。此零點(diǎn)的用途將用于機(jī)械臂識(shí)別到抓取物料的位置,當(dāng)機(jī)械臂的視覺(jué)傳感器識(shí)別到物料的位置與零點(diǎn)的位置重合或是相近時(shí),說(shuō)明此時(shí)坐標(biāo)系三個(gè)參數(shù)中至少有一個(gè)參數(shù)達(dá)到預(yù)定值。
2.2物料的抓取
物料的抓取使用PID控制算法[1]。首先從OpenMV視覺(jué)傳感器中獲取到物料在視野中的二維坐標(biāo),將其與視覺(jué)傳感器的零點(diǎn)坐標(biāo)進(jìn)做差比較,通過(guò)其差值的正負(fù)即可判斷物料偏移的方向,其差值的大小即可用于PID控制的Proportional算法。使用Differential算法可以抑制其在目標(biāo)位置左右震蕩。當(dāng)機(jī)械臂識(shí)別到的物料中心點(diǎn)位置接近于目標(biāo)零點(diǎn)的一定范圍之內(nèi)后,當(dāng)視覺(jué)傳感器檢測(cè)到的物料中心位置小于其允許的誤差范圍,即視為到達(dá)了目標(biāo)位置,可進(jìn)行下一步操作。
3視覺(jué)識(shí)別與控制
使用OpenMV拍攝圖片時(shí),將圖像的RGB矩陣對(duì)物塊顏色進(jìn)行區(qū)分,區(qū)分后將圖像的RGB矩陣進(jìn)行灰度化。之后再對(duì)圖像進(jìn)行二值化,由于二值化過(guò)程受噪聲影響較大,這里對(duì)二值化的圖像使用了卷積算法[2]進(jìn)行濾波 。
濾波后的圖像特征明顯,以圖像左上角為原點(diǎn),橫軸為x軸建立二維坐標(biāo)系,先逐行掃描每一個(gè)像素點(diǎn),記錄下來(lái){突變值橫坐標(biāo), 突變前的像素計(jì)數(shù)},再使用相同方法進(jìn)行逐列掃描,掃描完畢會(huì)有一個(gè){突變值縱坐標(biāo),突變前的像素計(jì)數(shù)}的映射關(guān)系,無(wú)用值不作為參考依據(jù)。對(duì)剔除后的集合進(jìn)加權(quán)平均處理會(huì)得出兩個(gè)坐標(biāo),對(duì)這兩個(gè)坐標(biāo)進(jìn)行運(yùn)算即可得到一個(gè)中心坐標(biāo),這個(gè)中心坐標(biāo)近似認(rèn)為是圓的坐標(biāo)。由于掃描圓環(huán)時(shí)鏡頭平面與圓環(huán)平面平行,可以認(rèn)為圖像中心加一個(gè)偏移參數(shù)就是圓環(huán)與機(jī)械臂抓的相對(duì)位置。
4移動(dòng)與定位控制
本機(jī)械手移動(dòng)控制和定位部分采用Arduino mega2560系列控制板
4.1電機(jī)移動(dòng)控制
常規(guī)方向控制:由于mega2560驅(qū)動(dòng)能力有限,采用類似于H橋驅(qū)動(dòng)的方式來(lái)使用外接電源驅(qū)動(dòng)電機(jī),使用TB6112驅(qū)動(dòng)模塊,該模塊只需要接入mega2560模擬端口輸出PWM波即可對(duì)電機(jī)速度進(jìn)行控制。
特殊移動(dòng)控制:需要機(jī)器人的3×4傳感器系統(tǒng),一側(cè)壓線停車使用每側(cè)三個(gè)間隔相同的傳感器判斷是否壓線。
中線停車使用移動(dòng)方向相對(duì)側(cè)兩個(gè)傳感器判斷是否壓線。
傳感器判斷在狀態(tài)檢測(cè)與切換作詳細(xì)介紹。
4.2狀態(tài)檢測(cè)
由于任務(wù)的隨機(jī)性,在狀態(tài)檢測(cè)與切換使用了路徑規(guī)劃,詳細(xì)定義了以下?tīng)顟B(tài):
目前只使用了16種狀態(tài),具有高度擴(kuò)展性,任務(wù)具有線性關(guān)系,使用了簡(jiǎn)單的鏈表對(duì)整個(gè)比賽流程進(jìn)行錄入,由于任務(wù)的隨機(jī)性,我們使用了二叉樹(shù)對(duì)所有可能的任務(wù)進(jìn)行了優(yōu)化,使得機(jī)器人得知抓取順序后可以自主規(guī)劃狀態(tài)以達(dá)到任務(wù)要求。
5結(jié)論
該機(jī)器人視覺(jué)方面實(shí)現(xiàn)了對(duì)特定物體的識(shí)別、追蹤、抓取、移動(dòng)控制方面可以根據(jù)實(shí)際情況進(jìn)行動(dòng)態(tài)路徑規(guī)劃。
參考文獻(xiàn):
[1]代迎. 面向機(jī)械臂的智能PID控制方法研究[D].沈陽(yáng)理工大學(xué),2016.
[2]鄭睿剛,陳偉福,馮國(guó)燦.圖卷積算法的研究進(jìn)展[J].中山大學(xué)學(xué)報(bào)(自然科學(xué)版),2020,59(02):1-14.
[3]張一琢. 共焦顯微圖像反卷積降噪與輪廓提取算法研究[D].哈爾濱工業(yè)大學(xué),2014.
天津市高等學(xué)校大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計(jì)劃項(xiàng)目《基于Arduino的多維度全自動(dòng)物料搬運(yùn)機(jī)械手 》項(xiàng)目編號(hào):202013898019
北京科技大學(xué) 天津?qū)W院 天津 301830