范迪 薛宏飛 高達(dá)理 張玉萍 呂常智
摘 ?要:應(yīng)用型、創(chuàng)新型人才的培養(yǎng)是高校的重要目標(biāo)。導(dǎo)師制非常有利于學(xué)生進(jìn)行實(shí)戰(zhàn)型項(xiàng)目的訓(xùn)練。文章給出一個(gè)以科研項(xiàng)目為藍(lán)本的綜合實(shí)訓(xùn)項(xiàng)目案例“基于機(jī)器視覺的龍門吊模型行進(jìn)控制”,在介紹案例實(shí)現(xiàn)的基礎(chǔ)上,從中反映了學(xué)生運(yùn)用嵌入式、通信、圖像處理等方面知識(shí)解決實(shí)際問題的過程;通過方案確定、器件選型、系統(tǒng)搭建、算法應(yīng)用等項(xiàng)目的規(guī)劃和實(shí)施,學(xué)生在科研問題抽象、分析問題、解決問題及獨(dú)立科研等方面受到了強(qiáng)化訓(xùn)練,其實(shí)踐創(chuàng)新能力得到了質(zhì)的提升。項(xiàng)目起到了很好的教學(xué)效果。
關(guān)鍵詞:龍門吊模型;機(jī)器視覺;行進(jìn)控制;樹莓派;道路檢測
中圖分類號(hào):G640 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):2096-000X(2019)03-0049-03
Abstract: The cultivation of applied and innovative talents is an important goal of colleges and universities. The mentoring system is very beneficial for students to train in practical projects. This paper presents a case study of a comprehensive training project based on scientific research projects, "Rotor control based on machine vision for gantry crane model". Based on the introduction of the case, it reflects the students' knowledge of embedded, communication and image processing. The process of practical problems; through the planning and implementation of project determination, device selection, system construction, algorithm application, etc., students have been intensively trained in scientific research issues abstraction, analysis of problems, problem solving and independent scientific research, and their practical innovation ability. Got a qualitative improvement. The project has played a very good teaching effect.
Keywords: gantry crane model; machine vision; travel control; raspberry pie; road detection
引言
目前,高等教育向著“強(qiáng)能力、重創(chuàng)新”的方向發(fā)展,尤其是《國家創(chuàng)新驅(qū)動(dòng)發(fā)展戰(zhàn)略綱要》的提出、《國家教育事業(yè)發(fā)展“十三五”計(jì)劃》的全面實(shí)施,掀起了“大眾創(chuàng)業(yè),萬眾創(chuàng)新”熱潮。實(shí)戰(zhàn)型教學(xué)環(huán)節(jié)對(duì)培養(yǎng)學(xué)生創(chuàng)新能力的積極作用受到高度認(rèn)可,得到師生的廣泛重視[1,2]。導(dǎo)師制有利于學(xué)生參與導(dǎo)師的科研項(xiàng)目,使學(xué)生更早進(jìn)入實(shí)戰(zhàn)性訓(xùn)練的培養(yǎng)方式[3,4]。我校的電子信息工程專業(yè)較早地開展了導(dǎo)師制方面的探索,讓學(xué)生(低年級(jí)甚至大一的學(xué)生)和教師雙向選擇,結(jié)成對(duì)子,結(jié)對(duì)子教師即導(dǎo)師將對(duì)學(xué)生進(jìn)行長時(shí)效的、針對(duì)性的專門指導(dǎo)和幫助,尤其在專業(yè)學(xué)習(xí)和實(shí)踐動(dòng)手能力培養(yǎng)方面,收到良好的效果。
本文給出的綜合實(shí)訓(xùn)項(xiàng)目案例[5]即是導(dǎo)師科研項(xiàng)目的縮減版,導(dǎo)師把項(xiàng)目精簡成為一個(gè)實(shí)訓(xùn)項(xiàng)目,學(xué)生根據(jù)項(xiàng)目的要求和任務(wù)在導(dǎo)師的指導(dǎo)下完成設(shè)計(jì)任務(wù)。本項(xiàng)目要求學(xué)生做出一個(gè)龍門吊行進(jìn)控制的縮減模型,綜合嵌入式、機(jī)器視覺、圖像處理、電機(jī)控制等技術(shù),實(shí)現(xiàn)模型的道路檢測和行進(jìn)控制。學(xué)生在比較短的時(shí)間內(nèi)很好地完成了本項(xiàng)目,對(duì)科研問題的抽象、方案的設(shè)計(jì)、系統(tǒng)集成有了較為深入的認(rèn)識(shí),其分析問題、解決問題及獨(dú)立科研等方面的能力得到較大提升。
一、系統(tǒng)設(shè)計(jì)
港口轉(zhuǎn)運(yùn)集裝箱常使用輪胎龍門吊裝卸、轉(zhuǎn)移貨物,設(shè)備起吊維修等[6]。電行走式無軌小型龍門吊一般是在人的操控下實(shí)現(xiàn)起吊、卸荷、移動(dòng)等,效率低,精度差。教師與某港口的合作研發(fā)項(xiàng)目是基于機(jī)器視覺實(shí)現(xiàn)龍門吊道路檢測和行進(jìn)的自動(dòng)控制。教師以此項(xiàng)目為依托,要求學(xué)生做出一個(gè)龍門吊的模型,并在模型上實(shí)現(xiàn)項(xiàng)目的基本任務(wù)。項(xiàng)目涉及的任務(wù)流程如下:
1. 對(duì)龍門吊進(jìn)行抽象、縮減,形成模型并制作出來:
2. 根據(jù)項(xiàng)目要求,分析并確定了系統(tǒng)總體方案;
3. 對(duì)方案中的模塊進(jìn)行選型;
4. 進(jìn)行軟件配置搭建起開發(fā)平臺(tái);
5. 基于機(jī)器視覺和圖像處理,研究道路檢測算法,并編程實(shí)現(xiàn);
6. 根據(jù)偏差,求解調(diào)節(jié)量,驅(qū)動(dòng)電機(jī)完成行進(jìn)控制;
7. 手機(jī)端應(yīng)用程序開發(fā),并與行進(jìn)控制子系統(tǒng)通信,實(shí)現(xiàn)基于智能終端的手動(dòng)控制;
8. 整機(jī)系統(tǒng)安裝調(diào)試,并進(jìn)行最終測試。
(一)系統(tǒng)模型及總體方案
根據(jù)龍門吊的實(shí)物,抽象并制作出的模型如圖1所示。同時(shí),結(jié)果研究、分析和對(duì)比,確定系統(tǒng)的總體方案如圖2所示。系統(tǒng)分為道路檢測子系統(tǒng)、行進(jìn)控制子系統(tǒng)和手機(jī)控制模塊。道路檢測模塊安裝在橫梁上,其中兩個(gè)攝像頭安裝在橫梁兩端,實(shí)時(shí)采集地面道路信息;處理器完成圖像讀取和處理,并由通信接口把道路檢測誤差發(fā)送給行進(jìn)控制子系統(tǒng)。行進(jìn)控制子系統(tǒng)中處理器接收道路檢測誤差,并計(jì)算運(yùn)行調(diào)節(jié)量,驅(qū)動(dòng)電機(jī)以控制龍門吊模型行進(jìn)。
(二)硬件選型
處理器需要完成圖像采集、處理、顯示及對(duì)外通信等任務(wù),選用樹莓派3代B型,其CPU為博通公司生產(chǎn)的1.2GHz四核64位處理器BCM2837,內(nèi)存為三星生產(chǎn)的容量為1GB 的DDR2內(nèi)存,在有限的功耗與面積內(nèi),實(shí)現(xiàn)了超高性能。
攝像頭的選擇主要考慮兩方面:傳感元件類型、數(shù)據(jù)接口類型。CMOS攝像頭多應(yīng)用于對(duì)性能要求不高的領(lǐng)域,成像質(zhì)量一般但是價(jià)格便宜,樹莓派USB接口比較多,因此綜合考慮,系統(tǒng)選擇支持UVC協(xié)議的USB接口CMOS攝像頭,降低系統(tǒng)成本的同時(shí),降低開發(fā)難度。
電機(jī)的選擇,考慮到成本和控制的方便性,系統(tǒng)選用了兩相四線步進(jìn)電機(jī),一方面它是通過脈沖頻率來調(diào)速,比較貼近實(shí)際情況;另一方面,它在無信號(hào)輸入時(shí),保持轉(zhuǎn)矩較大,無需剎車機(jī)構(gòu),降低了行進(jìn)控制的難度,還可有效制動(dòng)。
(三)系統(tǒng)軟件配置
軟件配置包括道路檢測子系統(tǒng)的嵌入式平臺(tái)配置以及行進(jìn)控制子系統(tǒng)的驅(qū)動(dòng)函數(shù)構(gòu)建。具體如下:
1. 系統(tǒng)燒寫:下載Raspbian鏡像后并將其燒寫在樹莓派的SD上,啟動(dòng)系統(tǒng)。
2. 開機(jī)配置: Raspbian提供了raspi-config工具,在控制臺(tái)中以圖形菜單方式完成開機(jī)配置。
3. 配置網(wǎng)絡(luò):使用樹莓派的無線網(wǎng)卡連接特定的路由器,并把無線網(wǎng)絡(luò)配置為靜態(tài)IP。
4. SSH協(xié)議:利用SSH方式遠(yuǎn)程登陸樹莓派,并使用命令行實(shí)現(xiàn)調(diào)試和運(yùn)行,該方式可防止信息泄露。
5. 安裝字符界面的文本編輯器vim并下載Samba實(shí)現(xiàn)Windows PC機(jī)和樹莓派之間文件的共享。
6. 安裝配置圖像處理庫OpenCv以及GPIO處理庫。
7. 設(shè)置UART時(shí)鐘,采用wiringPi操縱樹莓派的GPIO硬件接口,通過main函數(shù)的參數(shù)提供命令行傳遞參數(shù)。
8. 初始化定時(shí)器PWM與UART,完成行進(jìn)控制系統(tǒng)的速度控制與通信接口。
二、道路檢測及行進(jìn)控制算法
(一)道路檢測
在搭建好的平臺(tái)上,基于OpenCv編程,對(duì)系統(tǒng)采集的圖像進(jìn)行裁剪、濾波、邊緣檢測等預(yù)處理;繼而從邊緣檢測得到的二值圖像中利用Hough變換檢測出圖像中的直線,最后對(duì)檢測到直線進(jìn)行濾波,確定并提取出道路線。
圖像裁剪:設(shè)置好Range類對(duì)象的起點(diǎn)和終點(diǎn),對(duì)原始圖像進(jìn)行裁剪,去掉視野中包含的支架部分。
邊緣檢測:基于Canny算子檢測圖像邊緣,其中包含道路線。
Hough變換檢測直線:利用Hough變換把邊緣圖中的直線檢測出來,完成濾波及直線的接續(xù)。
提取道路線:檢測出的直線中可能會(huì)存在虛假道路線,通過設(shè)置一個(gè)夾角閾值,把與理想道路線夾角大于閾值的直線剔除;另外,檢測出的道路線具有一定寬度,系統(tǒng)把角度和距離都相近的直線整合為一條線作為最終道路線。
(二)遙控行進(jìn)控制
系統(tǒng)設(shè)計(jì)了基于手機(jī)等智能終端的遙控功能,可使龍門吊需要特殊操作時(shí),由人工無線操控。具體實(shí)現(xiàn)是:樹莓派和遙控發(fā)射端都連接到網(wǎng)絡(luò),二者通過互聯(lián)網(wǎng)進(jìn)行通信,這樣通信效果將不受距離影響。系統(tǒng)采用MARSIOT平臺(tái)實(shí)現(xiàn)遙控行進(jìn)。步驟如下:
1. 下載 marsiot.jar 到樹莓派;
2. 運(yùn)行 marsiot.jar,得到分配的ID-COUDE和PASS-CODE;
3. 在手機(jī)上安裝和運(yùn)行 marsiot.apk,并認(rèn)領(lǐng)上線設(shè)備;
4. 手機(jī)控制樹莓派的IO端口,根據(jù)IO狀態(tài),行進(jìn)控制子系統(tǒng)將執(zhí)行不同的行徑程序。
(三)自動(dòng)糾偏控制
在系統(tǒng)的控制下,龍門吊模型可自動(dòng)完成姿態(tài)估計(jì)和糾偏,實(shí)現(xiàn)循線運(yùn)行。
姿態(tài)估計(jì)的原理是:攝像頭安裝在龍門吊模型上,且攝像頭的列像素與模型底盤中心軸平行。只要測出模型底盤中間標(biāo)志點(diǎn)到道路線的距離,即可得到模型偏離道路線情況。
自動(dòng)糾偏控制原理是:實(shí)時(shí)獲取龍門吊模型與道路線的偏差角度及標(biāo)志點(diǎn)與道路線的偏差距離,以偏差角度和偏差距離共同作為控制量進(jìn)行調(diào)節(jié),最終使兩個(gè)控制量同時(shí)達(dá)到預(yù)期。基于此,系統(tǒng)采用了一個(gè)簡單有效的方法實(shí)現(xiàn)了該控制目的,即將某一行的道路點(diǎn)作為控制量,控制模型使該點(diǎn)向中間靠攏,該做法與控制模型標(biāo)志點(diǎn)向兩道路中線靠攏等同。該方法不能原地調(diào)整,只能邊運(yùn)動(dòng)邊向中間靠攏,完成自動(dòng)尋跡行走。
三、系統(tǒng)測試
(一)手動(dòng)模式測試
1. 在樹莓派運(yùn)行marsiot.jar,打開手機(jī)APP查看設(shè)備狀態(tài),狀態(tài)為“online”;
2. 打開手機(jī)端按鈕并與樹莓派IO狀態(tài)對(duì)應(yīng);
3. 通過手機(jī)按鈕遙控模型運(yùn)動(dòng)。
(二)自動(dòng)模式測試
自動(dòng)模式下,龍門吊模型根據(jù)道路誤差自動(dòng)控制模型沿到路線行進(jìn)。道路誤差圖輸出道路線與攝像頭中心線在控制信息采集行上相差的像素點(diǎn)個(gè)數(shù),也即需要調(diào)節(jié)的偏差數(shù)。根據(jù)此偏差,系統(tǒng)分別控制兩側(cè)的步進(jìn)電機(jī)速度,在前進(jìn)的同時(shí)實(shí)現(xiàn)角度糾正,最終平穩(wěn)地沿道路線行走。
四、結(jié)束語
電子信息工程專業(yè)一直注重應(yīng)用型、創(chuàng)新型人才的培養(yǎng),積極鼓勵(lì)、引導(dǎo)學(xué)生拓展思維并將專業(yè)知識(shí)與實(shí)踐應(yīng)用相結(jié)合,達(dá)到學(xué)以致用的效果。本文把導(dǎo)師科研項(xiàng)目進(jìn)行縮減形成了一個(gè)綜合實(shí)訓(xùn)項(xiàng)目。通過努力,在導(dǎo)師的指導(dǎo)下,學(xué)生自主完成了龍門吊模型設(shè)計(jì)制作、系統(tǒng)方案的確定、嵌入式開發(fā)平臺(tái)搭建、圖像處理機(jī)器視覺算法應(yīng)用等工作,最終實(shí)現(xiàn)了模型的道路檢測、手動(dòng)控制和自動(dòng)控制等功能。通過這種實(shí)戰(zhàn)型項(xiàng)目,不僅使學(xué)生在實(shí)踐中加深了對(duì)專業(yè)知識(shí)的理解,有效地促進(jìn)了教學(xué),也使學(xué)生的分析問題、解決問題等方面的實(shí)踐創(chuàng)新能力有了質(zhì)的提高。
參考文獻(xiàn):
[1]姜文波,楊秋黎,龍軍.電子信息類應(yīng)用型本科實(shí)踐教學(xué)體系的改革與探索[J].中國信息技術(shù)教育,2014(10):29-30.
[2]陳穎琪,袁眾.電子信息類本科生創(chuàng)新實(shí)驗(yàn)教學(xué)實(shí)踐與思考[J].實(shí)驗(yàn)室研究與探索,2015,34(06):200-203.
[3]石榮傳.本科生導(dǎo)師制:類型、實(shí)施現(xiàn)狀及完善對(duì)策[J].大學(xué)教育研究,2016,3:70-73.
[4]王穎,王笑宇.本科新生導(dǎo)師制對(duì)大學(xué)生的影響路徑及實(shí)施效果研究[J].教育研究,2016,1:26-34.
[5]盧艷軍.項(xiàng)目式專業(yè)實(shí)踐教學(xué)模式改革探索[J].計(jì)算機(jī)教育,2016(01):67-70.
[6]張連鋼,韓新林,李雅東,等.淺談青島港集裝箱碼頭輪胎吊自動(dòng)糾偏技術(shù)[J].港口科技,2008,06:14-16.