范淇元,覃羨烘,黃文妹
(1.華南理工大學 廣州學院,廣州 510800;2.廣東理工學院 工業(yè)自動化系,肇慶 526100)
隨著科學技術的發(fā)展,自動化、智能化是我國當前不可推卸的首要任務。智能化是現(xiàn)代設備的象征。智能小車的運用領域非常廣泛,它不僅可以運用于無人車間,更可以運用于軍事、通信、導航,甚至于家庭[1]。它所涉及的知識也是十分豐富,涵蓋了機械、電子、計算機、傳感器等。
智能小車不僅可以減少繁重的體力勞動,同時可以提高企業(yè)的生產(chǎn)率和降低勞動成本?,F(xiàn)今,企業(yè)的生產(chǎn)技術不斷提高,對自動化技術要求不斷加深的環(huán)境下,智能小車以及在此基礎上開發(fā)出來的產(chǎn)品已成為自動化物流運輸、柔性化生產(chǎn)組織等系統(tǒng)的關鍵設備[2]。特別在一些高危生產(chǎn)線上,工人們冒著生命危險干活,而采用智能小車搬運,就不用擔心出現(xiàn)這種問題。再者智能小車的芯片能裝載的信息非常龐大,且價格低廉。因此具有非常廣闊的前景。
所選用的Openduino是中科歐鵬公司的智能搬運碼垛控制主板。它可以驅動多種電路模塊,比如電機模塊、超聲波模塊、QTI(quick track infrared)傳感器模塊、顏色傳感器模塊[3]。Openduino在驅動舵機時,可以直接輸入脈沖的大小來控制舵機的轉速,從而達到舵機調速效果。在各種驅動中,如直流、伺服、步進電機均適用Openduino,而且電機的驅動電源是獨立的??刂瓢逵?6路數(shù)字舵機接口,可以靈活地配置不同端口的模塊,同時也支持多種環(huán)境。設計中采用了C語言編程軟件Eclipse。
控制主板Openduino的主控芯片為ATmega328p。ATmega328p是一款主流Atmel AVR的芯片,具有很強的I/O驅動能力、高速運行處理能力且低功耗,晶振為16 MHz[4];有32個針腳數(shù)、23個可編程的I/O口、32 kB的程序存儲器容量,被廣泛應用于微小型機器人的系統(tǒng)開發(fā)。
智能小車循線功能通過QTI傳感器實現(xiàn)。QTI傳感器是一種小功率集成管,由紅外發(fā)射器和紅外接收器2部分組成;有3個引腳,分別是電源(Vcc-5 V)引腳、地(GND)引腳和信號輸出(SIG)引腳[5]。QTI傳感器在循線功能應用廣泛,普遍用于智能小車。QTI傳感器最佳探測距離為10~12 mm。
機械手控制主要采用4個自由度的角度舵機來實現(xiàn),驅動角度伺服舵機的芯片是74HC595。該機械手運作非常平穩(wěn),控制也非常方便。因為是雙臂用雙電機驅動,啟動的力矩非常大。又因為是小型樣機,所以機械手的最大展開長度為300 mm(從大臂關節(jié)中心到手爪頂端),最大的夾持重量僅為150 g,但相對于五自由度機械手,具有4個轉動關節(jié)和1個夾持關節(jié)。機械手臂部分從角度舵機1到角度舵機5依次接到控制板上標識為SVO1—SVO5接口,角度舵機的控制范圍通常為0~180°[6]。在此,采用的角度舵機控制脈沖寬度范圍為 1000~5000 μs,編程時定義 1000 μs對應角度為 0°,5000μs對應角度為 180°。
QTI傳感器的硬件分布如圖1所示。
圖1 QTI傳感器分布實物圖Fig.1 QTI sensor distribution physical diagram
智能小車前進循線所用到的QTI有QTI1—QTI4:QTI1用于左轉角,QTI4用于右轉角,QTI2和QTI3用于控制前進。QTI5和QTI6主要用于智能小車停止位置的定位;QTI7—QTI9除用于后退循線外,還具有抓物料及放物料的定位功能。角度舵機分布實物圖如圖2所示。
圖2 角度舵機分布實物圖Fig.2 Angle servo distribution physical map
通過路徑的規(guī)劃,使智能小車能經(jīng)過程序運算后,將物塊搬運到指定位置并進行堆垛。搬運物料路徑如圖3所示。
圖3 搬運物料路徑Fig.3 Handling material path map
采用編程軟件Eclipse進行編程。編程設計思路如下:①轉角程序設計 智能小車前方左右兩邊QTI傳感器對黑道掃描方法轉角;②前進循線設計 智能小車前方4個QTI傳感器循線;③后退循線設計 智能小車后方3個QTI傳感器循線;④定位放物料設計 智能小車后方3個QTI傳感器定位;⑤機械手動作順序 舵機5→舵機4→舵機3→舵機1和2。
智能小車搬運物料的流程如圖4所示。
圖4 智能小車搬運物料步驟流程Fig.4 Intelligent car handling materials flow chart
搬運程序主要是調試智能小車,使其按照事先擬好的路線進行搬運、堆疊,且智能小車在搬運第2個貨物時還能整齊地疊放在第1個貨物的上面。調試時,先進行分段程序調試,再做程序總體調試。對機械手和QTI的調試稍后再進行,此時調試好搬運路徑即可。智能小車能自動進行分料,這些程序都在調試時擬好。
智能小車在搬運過程中,基本可以按照要求完成上下搬料的動作,但有可能在抓物料、放下物料時出現(xiàn)些許誤差,比如堆放不整齊、夾取時把下層的物塊弄倒。這些細微誤差都將在調試過程中一一解決。
2.4.1 調試過程
循線調試共使用9個QTI傳感器。從智能小車后方向前方看去,前方中間有4個QTI,它們主要用于智能小車前進循線和調整精度循線;輪子左右附近有2個QTI,主要用于輔助循線以及轉角度循線;“尾巴”中間有3個QTI,主要用于轉角度循線和后退循線。
QTI傳感器讀取信號為1時表示處于黑道,為0時表示處于白道。
控制程序編譯成功后下載至智能小車控制器中并運行,運行過程得到調試結果。由圖3可見,小車先利用前面的QTI進行直線行走,到十字路口之后要實現(xiàn)向左轉或者向右轉90°的功能,主要是利用掃描的方法轉角。如向左轉至白點時,智能小車中間的QTI會感應到白點,產(chǎn)生低電平,小車停止前進。除向左、向右轉90°之外,還可以實現(xiàn)180°的轉角。
2.4.2 調試結果
QTI傳感器的循線調試結果見表1。
表1 QTI循線狀態(tài)Tab.1 QTI line status
多功能智能小車在循線時,直線行走時非常穩(wěn)定,但在轉角時不夠穩(wěn)定,會出現(xiàn)轉角幅度偏大的情況,為此需要使用掃描的方法來進行轉角。故在編程時,增加了智能小車轉過90°時再做一次角度的修正,以達到后續(xù)行走過程中能夠循著直線行走。
2.5.1 調試過程
為使智能小車的機械手能準確地抓放物料,調試時采用了單一變量法,在保持其他2個機械手參數(shù)不變的情況下,對機械手的每個參數(shù)進行調整。因受多種因素影響,所以在調試過程中需要耐心反復調試。最終通過調試,得到了比較理想的舵機參數(shù)。理想的機械手動作參數(shù)見表2。
表2 機械手動作參數(shù) (°)Tab.2 Manipulator parameters
2.5.2 調試結果
機械手經(jīng)過調試后,智能小車在運行過程中,機械手基本能按照要求完成各個動作,可以實現(xiàn)抓取、放下物料的功能。然而,由于實際結果與設定的參數(shù)存在誤差,尤其在抓取和堆垛的位置上,不能每次都精準實現(xiàn),會出現(xiàn)位置的微小偏移。這主要是由于受電量外在因素的影響,電機運轉會受到電量的制約。
之所以不能準確抓放物料,除了受智能小車硬件設備的影響外,還與軟件系統(tǒng)有關。在小車搬運物料時,由于電量不足,導致機械手無法正常工作,直接影響搬運結果;有時QTI傳感器無法正常工作,影響循線的準確度;機械手參數(shù)并非最佳范圍,導致無法把物料搬到最佳位置;地圖有些地方太黑,直接影響QTI傳感器的讀取功能;等。因此有必要對智能小車硬件設備及軟件系統(tǒng)做進一步改進。
硬件設備的改進如下:①地圖的質量不能影響QTI傳感器讀取功能;②電量應充足,如果經(jīng)濟條件允許可以考慮更換新的電池;③QTI傳感器的安裝位置必須根據(jù)智能小車的工作需要,不得隨意安裝;④搬運物料前,須全面檢測硬件設備,以保證智能小車碼垛能正常進行。
軟件系統(tǒng)的改進如下:①燒錄程序之前,須對程序進行全面檢查,確保程序無誤后才能燒錄。②程序的語法可以考慮switch語句,以達到程序精簡效果。③程序應模塊化,以便于程序錯誤的檢查。④for,while,do while均為循環(huán)體結構,三者可以互換使用。 ⑤void T (int LeftSpeed,int RightSpeed,int time),timed值不宜過大,太大則小車可能沖出黑道,time值最好為2~5。⑥機械手動作的順序是:舵機5→舵機4→舵機3→舵機1和2。其目的是防止碰到物料,提高搬運物料效率,提高放物料精度。
金屬檢測主要利用超聲波來控制。設計中,金屬檢測功能并未附在智能小車搬運的場地圖中,而采用了單獨的形式,其原理非常簡單。在車的頭部安裝1條小管道,再安裝1塊電磁鐵,在小車行駛過程中通電。當小車行駛到有金屬的位置時,電磁鐵的位置發(fā)生變化,超聲波感應到電磁鐵位置的變化,則認為感應到金屬。金屬檢測實物設計如圖5所示。
圖5 金屬檢測實物設計Fig.5 Metal detection physical design
避障使用紅外避障法,而不是超聲波避障法。相對而言,后者的運用更廣泛,而且反應靈敏。在此設定避障的距離為30 cm。如果利用超聲波避障,由于距離和空間小而產(chǎn)生前后傳感器信號干擾[7],因而無法判斷出現(xiàn)障礙物的位置而發(fā)生程序紊亂,最終達不到要求。采用紅外傳感器來避障便可解決這些問題。
然而,當障礙物距離小車非常近的時候,紅外傳感器發(fā)出的信號容易遭受自然光的干擾。當檢測到障礙物的時,發(fā)射回來的紅外光被紅外光敏二極管接收,產(chǎn)生低電平,該信號被放大交由單片機分析之后做出動作,該左轉、右轉或者后退。
測距主要利用霍爾傳感器獲得信號來實現(xiàn)。在轉軸上粘一些磁鋼,使霍爾開關接近磁鋼,就可以產(chǎn)生信號[8]。當轉軸在不停轉動時,就會不斷地產(chǎn)生脈沖信號輸出。當在轉軸上的磁鋼達到可以讓轉軸轉一周時,就可產(chǎn)生多個脈沖。
在粘這些磁鋼時應注意,霍爾傳感器對磁場方向非常敏感。如果粘上的磁鋼靠近霍爾傳感器時沒有脈沖輸出,則應更換方向再做測試。
由于該傳感器可運用在重油污或有灰塵的環(huán)境中,因此在工業(yè)中被廣泛使用。在此測試中,小車的軸半徑r=3 cm,則小車轉n周的路程為S=2×3.14×3n。
多功能智能小車按照白色地圖上的黑線行駛。通常采用紅外探測法。主要利用不同顏色的物塊會產(chǎn)生不一樣的反射強度原理。在小車循跡行駛過程中,不斷地向地面反射紅外光,當小車行駛到白色區(qū)域時產(chǎn)生漫反射,則被小車接收管接收,小車停止前進;如果是黑線,則被紅外光吸收,不產(chǎn)生漫反射,故接受管接受不到信息,小車繼續(xù)前進。小車在循跡過程中主要依據(jù)該原理來判斷黑線或者白線。
電機驅動電路是主芯片發(fā)出信號控制電機從而控制小車運動,并通過控制OUT來控制小車電機的正、反轉,即控制小車的左、右轉向,同時也控制小車的前進、后退和停止。
在此使用Proteus對電路圖進行繪制和仿真。仿真均依據(jù)多功能小車運行的原理進行繪制,分別有循跡、驅動電機、金屬檢測、測距、避障等。在原理圖繪制中,未采用AVR的芯片,是因為在POTELS軟件中很難找到該芯片,采用的是日常單片機中最常用的芯片ATM89c52。型號不同,但演示的結果相同。
完成編程后對智能小車進行了搬運碼垛試驗。轉角主要依靠小車前面兩邊QTI傳感器掃黑道的方法進行,其好處是能保證轉角度到位,不受電量的影響。因為需要中轉物料,所以主要使用后面QTI傳感器掃描黑道的方法進行轉角。小車能準確停在線上放物料,主要靠后面3個QTI傳感器對白點進行定位停車。后退主要依靠后面的QTI傳感器循線。智能碼垛搬運物料時也是按照順時針掃描搬運物料,當物料與放終點位置一致時,機械手直接抓起物料前進到一定位置放下物料;當其他線被物料擋住時,則機械手抓起物料轉角到該線上,待前進到一定位置放下物料;其他情況則中轉到其他歸劃好的儲物區(qū)。搬運碼垛試驗中的智能小車如圖6所示。
編程主要利用數(shù)組作為編程的核心,將已知的物料顏色給數(shù)組賦值,智能小車就會將物料準確無誤地搬運到相應的位置。
先對智能搬運小車的硬件進行甄選,然后進行軟件編程并反復調試;對電路進行了繪制和仿真,模擬了在生產(chǎn)線上多功能小車依靠機械手完成上下料、物料儲存、擺放等一些物流活動;解決了智能小車在生產(chǎn)上遇到的比較常見的循跡、驅動電機、金屬檢測、測距、避障困難等問題;在制作和設計過程中較容易實現(xiàn),且具有高度的人性化、智能化。目前該多功能小車已經(jīng)投入使用,為企業(yè)創(chuàng)造了比較好的效益。
圖6 智能小車的搬運碼垛試驗Fig.6 Handling and palletizing test of intelligent trolley