雷忠雨 葉斯林
車型搬運(yùn)機(jī)器人比賽是國內(nèi)機(jī)器人比賽的常見項(xiàng)目之一,它的主要任務(wù)是設(shè)計(jì)一個(gè)小型輪式機(jī)器人,模擬工業(yè)自動(dòng)化過程中自動(dòng)化物流系統(tǒng)的作業(yè)過程,在比賽場地內(nèi)將不同顏色但相同形狀的物料分類搬運(yùn)到指定的目標(biāo)區(qū)域,比賽成績根據(jù)規(guī)定時(shí)間內(nèi)機(jī)器人所放置物料的位置精度、數(shù)量確定。項(xiàng)目的比賽場地如圖1所示。
2017年暑假,我們參加了由清華大學(xué)組織的“登峰杯”全國中學(xué)生機(jī)器人大賽車型搬運(yùn)項(xiàng)目的比賽。了解項(xiàng)目的競賽規(guī)則后,在老師的指導(dǎo)下,我們首先對項(xiàng)目的任務(wù)進(jìn)行分析,確定了系統(tǒng)方案,接著按照系統(tǒng)方案進(jìn)行了硬件選型和系統(tǒng)搭建,編寫相應(yīng)的控制程序和循跡程序,初步達(dá)到了項(xiàng)目的功能要求。最后通過系統(tǒng)調(diào)試不斷發(fā)現(xiàn)問題、分析問題、解決問題,使系統(tǒng)不斷完善。
一、系統(tǒng)設(shè)計(jì)
小車系統(tǒng)的硬件主要由主控及顯示模塊、電源模塊、循跡模塊、運(yùn)動(dòng)與控制模塊、顏色識(shí)別模塊和物體分揀抓取模塊等組成。系統(tǒng)結(jié)構(gòu)如圖2所示。
主控模塊主要采用STM32F407型ARM芯片,它具有低功耗、性價(jià)比高等優(yōu)點(diǎn)。
電源模塊主要包括一個(gè)7.4V的鋰電池和直流電壓變換電路,保證不同的硬件模塊對電源電壓的要求。
循跡時(shí)我們采用的是6路紅外循跡模塊。紅外循跡模塊的原理是:每一路含發(fā)射管和接收管,發(fā)射管發(fā)射紅外光,接收管接收反射的紅外光產(chǎn)生電壓,接收的反射光越強(qiáng)產(chǎn)生的電壓越低。由于黑色與白色的反射系數(shù)不同,白色反射的光強(qiáng)大,產(chǎn)生的電壓低;黑色反射的光強(qiáng)小,產(chǎn)生的電壓高。接收管集電極輸出接入比較器,通過門限判決電壓區(qū)分黑色與白色。在循跡過程中,門限電壓的設(shè)置直接影響著循跡結(jié)果,實(shí)際操作中需要根據(jù)具體的實(shí)驗(yàn)環(huán)境設(shè)置。
運(yùn)動(dòng)與控制模塊采用三輪結(jié)構(gòu),其中雙向電機(jī)控制驅(qū)動(dòng)兩輪,負(fù)責(zé)各種方式的行進(jìn)及轉(zhuǎn)向,后方的萬向輪起支撐平衡作用。
顏色識(shí)別模塊采用LY-64 TCS3200顏色傳感器,如圖3所示,它是一款全彩的顏色檢測器,該傳感器安裝在機(jī)械爪后部,便于抓取時(shí)識(shí)別顏色。為減少外界光源對顏色傳感器的干擾,我們對機(jī)械爪進(jìn)行遮光處理,并在其上部安裝了遮光板。
物體分揀抓取模塊由分揀鉤子和機(jī)械爪組成。其中分揀鉤子由兩個(gè)舵機(jī)控制,一個(gè)舵機(jī)控制鉤子的偏轉(zhuǎn)角度,另一個(gè)控制鉤子的起降。機(jī)械爪直接由舵機(jī)控制開合。
二、系統(tǒng)調(diào)試
系統(tǒng)設(shè)計(jì)完成后,能否準(zhǔn)確完成任務(wù)還需在實(shí)際場地進(jìn)行調(diào)試。
首先是循跡中門限電壓的設(shè)置。在調(diào)試過程中我們發(fā)現(xiàn),如果門限電壓設(shè)置得較高就會(huì)出現(xiàn)對黑線邊緣不敏感的問題,導(dǎo)致小車對偏差不能及時(shí)響應(yīng)。但是,如果將門限電壓調(diào)得過低又會(huì)出現(xiàn)對干擾太敏感的問題,比如易受字母干擾。經(jīng)過大量的試驗(yàn)分析,最終我們采用門限電壓中間4路0.5V,邊緣2路0.7V的方案。
第二是循跡算法。我們主要利用6路紅外循跡模塊檢測小車是否偏離軌跡,并通過調(diào)整左右輪的轉(zhuǎn)速及時(shí)調(diào)整方向,保證小車沿黑線穩(wěn)定行駛,如圖4所示。
這里我們以右偏為例進(jìn)行說明。圖a是小車正常行駛時(shí)6路紅外循跡模塊輸出,此時(shí),左右輪轉(zhuǎn)速均為8;當(dāng)L3輸出為1,其他輸出為0時(shí),小車向右微偏(如圖b所示),此時(shí)將左輪轉(zhuǎn)速調(diào)整為7。當(dāng)L2輸出為1,其他輸出為0時(shí),小車向右偏較大,此時(shí)將左輪轉(zhuǎn)速調(diào)整為6。當(dāng)L1輸出為1,其他輸出為0時(shí),小車向右偏很大(如圖d所示),此時(shí)將左輪轉(zhuǎn)速調(diào)整為5。左偏的情況類似。
按以上循跡算法,小車基本能穩(wěn)定行駛。但在多次試驗(yàn)中,我們發(fā)現(xiàn)小車在中心附近時(shí),由于黑線較多,循跡容易受到影響,這時(shí)原來的循跡算法適用性就不夠強(qiáng)。
由此,我們采取了不同的循跡策略:在中心附近小范圍內(nèi)只使用中間四路進(jìn)行調(diào)整,當(dāng)出現(xiàn)任意四路同時(shí)檢測到黑線時(shí)小車不調(diào)整。
第三是物件放置問題。要想將物件放到位,首先必須做到小車顏色識(shí)別正確,這涉及顏色判斷問題。為此,我們編寫了顏色測試程序,通過各種光照條件下不同顏色的RGB值確定顏色判斷閾值,實(shí)現(xiàn)顏色準(zhǔn)確識(shí)別。除準(zhǔn)確識(shí)別顏色外,將物件放到位還需要小車跑到位、轉(zhuǎn)到位。
我們在調(diào)試中發(fā)現(xiàn),小車在循跡中不斷調(diào)整會(huì)產(chǎn)生行駛距離偏差和轉(zhuǎn)向角度偏差。針對行進(jìn)距離偏差,我們根據(jù)場地的特點(diǎn),以內(nèi)圈為參照物,采用經(jīng)過內(nèi)圈重新計(jì)算行駛距離的方法來減少累積誤差。針對轉(zhuǎn)向角度偏差問題,我們通過指南針模塊進(jìn)行糾正,達(dá)到了較好的效果。
第四是抓準(zhǔn)問題,在測試中我們發(fā)現(xiàn),它與分揀位置和分揀鉤角度有關(guān)系。我們通過多次試驗(yàn),確定小車停靠位置與鉤子偏轉(zhuǎn)角度,實(shí)現(xiàn)精準(zhǔn)鉤取。
通過上述四方面的調(diào)試與改進(jìn),我們的小車循跡、行駛更穩(wěn)定,抓取、顏色識(shí)別更精確,物件擺放更到位。
參加這次活動(dòng)讓我們?nèi)媪私饬藱C(jī)器人,熟悉了硬件系統(tǒng)結(jié)構(gòu),掌握了軟件編程方法,提高了分析問題、解決問題的能力。
發(fā)明與創(chuàng)新·中學(xué)生2018年7期