“雙創(chuàng)”教育背景下的“電腦鼠”迷宮機(jī)器人在高校專業(yè)人才培養(yǎng)的設(shè)計(jì)與應(yīng)用*
*基金項(xiàng)目:河南省大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計(jì)劃項(xiàng)目,項(xiàng)目編號(hào):s202213507002
本文引用地址:http://cafeforensic.com/article/202305/447046.htm1 基于電腦鼠的教學(xué)應(yīng)用
1.1 電腦鼠簡(jiǎn)介
電腦鼠的概念起源于1977 年在美國(guó)舉行的第1屆電腦鼠的比賽,至此電腦鼠的概念便迅速的在世界范圍內(nèi)流行開來。電腦鼠比賽場(chǎng)地是由16×16 個(gè)18 cm×18 cm 的方格組成的迷宮,電腦鼠首先需要完成對(duì)迷宮的探索,在已探明的迷宮結(jié)構(gòu)中找出從起點(diǎn)到達(dá)終點(diǎn)的最短路徑,并在返回起點(diǎn)后進(jìn)行沖刺。最終的比賽成績(jī)與電腦鼠完成這一過程的時(shí)間有關(guān)。
圖1 電腦鼠教學(xué)涉及的能力培養(yǎng)方向
1.2 電腦鼠應(yīng)用于教學(xué)的作用
電腦鼠作為智能移動(dòng)機(jī)器人的一個(gè)分支,它的設(shè)計(jì)過程包含了電子信息、程序設(shè)計(jì)、自動(dòng)控制、傳感器、測(cè)試、機(jī)械工程等技術(shù)領(lǐng)域,且電腦鼠的設(shè)計(jì)制作過程有較為完整的工程體系。因此,在教學(xué)上有著多方面的作用,如圖1所示。
1)硬件設(shè)計(jì)上的教學(xué)作用
在進(jìn)行電腦鼠硬件電路的教學(xué)時(shí),學(xué)生可以在學(xué)習(xí)的過程中,學(xué)習(xí)到各種元器件在電路中的作用、實(shí)際項(xiàng)目中常見的功能電路、元器件的參數(shù)選定以及PCB 的設(shè)計(jì)規(guī)則與標(biāo)準(zhǔn)。
2)軟件編程上的教學(xué)作用
電腦鼠在完成硬件設(shè)計(jì)后,就需要對(duì)電腦鼠的硬件進(jìn)行編程。這一過程中,需要去讀取傳感器獲得的數(shù)據(jù)、完成對(duì)電機(jī)的控制、完成電源電壓的實(shí)時(shí)檢測(cè)等程序需求,通過完成電腦鼠程序編寫實(shí)現(xiàn)功能的這一過程中,學(xué)生可以在真正的工程實(shí)踐中獲得一定的項(xiàng)目開發(fā)經(jīng)驗(yàn)。
3)算法上的教學(xué)作用
電腦鼠在走迷宮的比賽中需要自主完成迷宮的探索以及用時(shí)最短路徑的選擇,而實(shí)現(xiàn)這樣功能離不開算法的研究。電腦鼠的迷宮探索算法以及路徑選擇算法具有深入研究的價(jià)值,因此在教學(xué)中,通過對(duì)電腦鼠目前常見算法的講解,去引導(dǎo)學(xué)生思考如何改進(jìn)算法來優(yōu)化電腦鼠的成績(jī)。并在這一過程中讓學(xué)生積累一定的實(shí)際應(yīng)用經(jīng)驗(yàn)。
4)控制上的教學(xué)作用
電腦鼠的控制主要體現(xiàn)在對(duì)電腦鼠兩側(cè)電機(jī)的控制上。而電腦鼠在迷宮中移動(dòng)需要對(duì)電機(jī)進(jìn)行精確的控制,通過對(duì)電機(jī)控制這一過程的教學(xué),可以使學(xué)生在實(shí)踐中去學(xué)習(xí)PID 控制、電機(jī)閉環(huán)控制等。
5)調(diào)試上的教學(xué)作用
在一個(gè)完整的工程中,調(diào)試是最后一個(gè)環(huán)節(jié)。而這一環(huán)節(jié)也直接影響著工程設(shè)計(jì)的實(shí)際效果。因此,讓學(xué)生實(shí)際動(dòng)手去完成電腦鼠的調(diào)試環(huán)節(jié)可以培養(yǎng)學(xué)生的調(diào)試能力,讓學(xué)生在實(shí)踐的過程中學(xué)會(huì)常用的調(diào)試手段與問題查找的方法,增強(qiáng)學(xué)生的問題解決能力,并讓學(xué)生擁有一定的實(shí)際項(xiàng)目調(diào)試的經(jīng)驗(yàn)。
圖2 電機(jī)驅(qū)動(dòng)電路原理圖
2 適用于教學(xué)的電腦鼠設(shè)計(jì)
2.1 電腦鼠硬件的設(shè)計(jì)
電腦鼠硬件的選擇主要在兩個(gè)方面:電機(jī)種類的選擇和傳感器種類的選擇。而本設(shè)計(jì)中則是采用直流電機(jī)方案以及紅外傳感器方案,并針對(duì)以教學(xué)為目的的適用場(chǎng)景對(duì)原有比賽的電腦鼠設(shè)計(jì)做出了改進(jìn)。
電機(jī)的選擇是電腦鼠可以實(shí)現(xiàn)高精度閉環(huán)控制的關(guān)鍵,而目前電腦鼠電機(jī)的選擇主要是在普通直流電機(jī)以及步進(jìn)電機(jī)兩者之間。在直流電機(jī)的方案中,由于直流電機(jī)的功耗較小、速度較快,而且由于直流電機(jī)出現(xiàn)較早,其控制相對(duì)其它電機(jī)較為成熟。因此使用直流電機(jī)可以使電腦鼠在實(shí)現(xiàn)較高速度的同時(shí)滿足較高的精度要求,同時(shí),使學(xué)生可以在實(shí)踐中學(xué)習(xí)到電機(jī)的閉環(huán)控制等內(nèi)容。電機(jī)驅(qū)動(dòng)電路原理圖如圖2 所示。
傳感器作為將外界環(huán)境信息轉(zhuǎn)換成數(shù)字信息的重要媒介,也是學(xué)生在工程實(shí)踐中不可或缺的部分。目前較為合適的傳感器主要有3 種:超聲波傳感器、紅外傳感器、視覺傳感器。紅外線是一種波長(zhǎng)介于可見光與微波之間的一種電磁波,因此它具有可見光的特性以及微波的某些特性。目前使用較多的是紅外光電開關(guān)。
適用于近距離的障礙物識(shí)別,且識(shí)別精度較高、結(jié)構(gòu)簡(jiǎn)單、成本低、靈敏度高。在工業(yè)生產(chǎn)及機(jī)器人上有著廣泛的應(yīng)用,適合學(xué)生進(jìn)行學(xué)習(xí)。因此本設(shè)計(jì)采用紅外傳感器方案用來進(jìn)行傳感器方面的教學(xué)。針對(duì)上文提及的適用于教學(xué)需求的改進(jìn),本設(shè)計(jì)中的硬件部分最終效果如圖3 所示。
圖3 電腦鼠迷宮機(jī)器人PCB效果圖
2.2 電腦鼠算法的設(shè)計(jì)
本設(shè)計(jì)根據(jù)比賽規(guī)則中是否將探索時(shí)間計(jì)入總時(shí)間將電腦鼠的探索策略分成兩種不同的情況,在實(shí)際的教學(xué)中也可以更好的引導(dǎo)學(xué)生對(duì)算法的設(shè)計(jì)與改進(jìn)進(jìn)行思考。
1)在沒有將探索時(shí)間計(jì)入總成績(jī)的規(guī)則下,電腦鼠可以對(duì)迷宮進(jìn)行全局探索,將迷宮每個(gè)單位的位置以及與鄰近單位的通斷關(guān)系保存記錄,在探索結(jié)束后使用蟻群算法找出用時(shí)最短的路線。
2)蟻群算法原理與教學(xué)意義
蟻群算法用來規(guī)劃最優(yōu)路徑在近些年越來越成熟,它的運(yùn)行原理可以通過圖4 進(jìn)行解釋。圖4(a)中有一條螞蟻活動(dòng)的路徑(從A 到E,假設(shè)A 為螞蟻的巢穴E 為食物),假設(shè)障礙物出現(xiàn)在A 和E 之間切斷了原有的路徑,螞蟻在B 點(diǎn)以及D 點(diǎn)時(shí)就必須選擇前進(jìn)的方向是向左還是向右,在初始階段兩點(diǎn)螞蟻向左和向右的概率是相同的,但隨著螞蟻從B 點(diǎn)到達(dá)D 點(diǎn)(或者從D 點(diǎn)到達(dá)B 點(diǎn)),路徑BCD 上的外激素濃度將大于路徑BHD 上的外激素濃度,在下一個(gè)螞蟻進(jìn)行選擇時(shí)將會(huì)大概率選擇外激素濃度高的BCD 路徑,而這會(huì)進(jìn)一步增加兩條路徑上外激素的濃度差,從而使螞蟻選擇BCD 路徑的概率不斷增加,最終在正反饋的作用下,螞蟻的路徑會(huì)固定在距離最短的BCD 路徑上[1]。
圖4 蟻群算法圖示
蟻群算法是近幾年優(yōu)化領(lǐng)域中新出現(xiàn)的一種啟發(fā)式仿生類并行智能進(jìn)化系統(tǒng) 該算法采用分布式并行計(jì)算和正反饋機(jī)制, 易于與其他方法結(jié)合, 是一種很有前途的仿生優(yōu)化算法。隨著人類認(rèn)識(shí)的進(jìn)步和社會(huì)發(fā)展的加速仿生智能及最優(yōu)化系統(tǒng)理論將越來越成為科學(xué)認(rèn)識(shí)和工程實(shí)踐的有力工具蟻群算法理論及其應(yīng)用的研究必將是一個(gè)長(zhǎng)期的研究課題。蟻群算法這一新興的仿生優(yōu)化算法必將展現(xiàn)出更加廣闊、更加引人注目的發(fā)展前景。因此,加入蟻群算法的教學(xué)具有較高的實(shí)用價(jià)值[2]。
電腦鼠將探索出兩條路徑:從起點(diǎn)到達(dá)終點(diǎn)時(shí)探明的第一條道路;從終點(diǎn)返回起點(diǎn)時(shí)再探明出另外一條新的道路。在探索結(jié)束后,利用兩次探明的迷宮信息,使用DFS 算法找出用時(shí)最短的路徑作為最后沖刺的路徑。
DFS 是一種用于遍歷或搜索樹或圖的算法, 沿著樹的深度遍歷樹的節(jié)點(diǎn), 盡可能深地搜索樹的分支。而在電腦鼠到達(dá)終點(diǎn)時(shí), 電腦鼠在探索過程中的迷宮信息都將保留下來, 將電腦鼠走過的軌跡創(chuàng)建為1 個(gè)新的迷宮,將迷宮的數(shù)據(jù)導(dǎo)入到DFS 算法中,DFS 的本質(zhì)就是窮舉法,DFS 開始遍歷迷宮的各分支找出1 個(gè)最短的分支。并將分支的位置信息保存在Flash 中, 用于電腦鼠返回的導(dǎo)航數(shù)據(jù)以及再次沖刺時(shí)的數(shù)據(jù)導(dǎo)航[3]。
2.3 電腦鼠配套內(nèi)容的設(shè)計(jì)
為了使電腦鼠可以更好地應(yīng)用于實(shí)踐教學(xué)中,本設(shè)計(jì)對(duì)配套資料與軟件進(jìn)行了針對(duì)教學(xué)應(yīng)用的優(yōu)化。
由于學(xué)生間的基礎(chǔ)不同且相差較大,本項(xiàng)目的初始教學(xué)資料并不適用于部分基礎(chǔ)較差的同學(xué),由于沒有一定的基礎(chǔ),這些同學(xué)在教學(xué)中普遍較難理解不同功能的硬件電路,以及實(shí)現(xiàn)不同功能的基本代碼。因此本項(xiàng)目對(duì)教學(xué)材料進(jìn)行了改進(jìn),增加了基礎(chǔ)的硬件電路知識(shí)的講解以及完善了代碼的注釋,增加了對(duì)電路和程序的視頻講解教程,并對(duì)教學(xué)的順序進(jìn)行調(diào)整,使學(xué)生可以在循序漸進(jìn)中較為輕松的掌握所教學(xué)的內(nèi)容。
在教學(xué)中完成元器件焊接以及代碼編寫的教學(xué)后,走迷宮小車需在迷宮中進(jìn)行參數(shù)的調(diào)節(jié),原參數(shù)調(diào)整的過程往往較為費(fèi)時(shí)費(fèi)力,本設(shè)計(jì)采用藍(lán)牙發(fā)送數(shù)據(jù)的方式,將電腦鼠運(yùn)行過程中的傳感器讀數(shù)實(shí)時(shí)讀取并顯示在電腦的終端上,實(shí)現(xiàn)了數(shù)據(jù)的實(shí)時(shí)可視化,使參數(shù)調(diào)節(jié)難度大幅下降。
在走迷宮小車進(jìn)行有關(guān)參數(shù)的調(diào)節(jié)時(shí),學(xué)生頻繁進(jìn)行實(shí)驗(yàn)、參數(shù)改寫、程序燒錄的過程,而程序燒錄這一步驟較為繁瑣,每一次的燒錄都需要將電腦鼠從跑道上取出,使用數(shù)據(jù)線連接進(jìn)行燒錄。為了簡(jiǎn)化這一過程,因此本設(shè)計(jì)采用藍(lán)牙的方式進(jìn)行程序燒錄,在實(shí)現(xiàn)這一功能的改進(jìn)后,極大地簡(jiǎn)化了小車調(diào)試的過程。
在教學(xué)結(jié)束后,學(xué)生經(jīng)常有進(jìn)行二次開發(fā)改進(jìn)的想法。對(duì)此,本設(shè)計(jì)對(duì)原電腦鼠的PCB 進(jìn)行了重新設(shè)計(jì),預(yù)留了常用的傳感器接口,以及部分閑置的IO 口,用于電腦鼠的二次開發(fā),滿足學(xué)生二次開發(fā)的需求。
3 結(jié)束語(yǔ)
在如今高校人才培養(yǎng)的環(huán)境下,傳統(tǒng)實(shí)踐課程內(nèi)容較難滿足當(dāng)前對(duì)人才培養(yǎng)的新要求。同時(shí)當(dāng)前多學(xué)科融合教學(xué)以及實(shí)踐教學(xué)上的課程較少。本項(xiàng)目設(shè)計(jì)通過對(duì)電腦鼠進(jìn)行針對(duì)教學(xué)的改進(jìn)、完善電腦鼠的教學(xué)材料、以及在高校教學(xué)試點(diǎn)中針對(duì)教學(xué)實(shí)際情況進(jìn)行改進(jìn),最終形成了一套較為成熟的教學(xué)內(nèi)容。使學(xué)生可以在項(xiàng)目實(shí)踐課程中對(duì)硬件設(shè)計(jì)、程序編寫、算法研究、項(xiàng)目調(diào)試等內(nèi)容進(jìn)行學(xué)習(xí)與實(shí)踐,真正做到學(xué)科的融合實(shí)踐。通過收集試點(diǎn)教學(xué)后的反饋,發(fā)現(xiàn)學(xué)生可以在這一過程中積累一定的項(xiàng)目經(jīng)驗(yàn),且工程實(shí)踐能力也也有較為實(shí)質(zhì)性的提升。符合本項(xiàng)目實(shí)踐教學(xué)的預(yù)期。
參考文獻(xiàn):
[1] 溫文波,杜 維.蟻群算法概述[J].石油化工自動(dòng)化,2002(1):32-36.
[2] 段海濱,王 道波,于秀芬.蟻群算法的研究現(xiàn)狀及其展望[J].中國(guó)工程科學(xué),2007(2):17-23.
[3] 祝朝坤,韓 彥凈,谷會(huì)斌.基于STM32與DFS算法的電腦鼠的研究與設(shè)計(jì)[J].電子產(chǎn)品世界,2022,29(6):64-68.
(本文來源于《電子產(chǎn)品世界》雜志2023年5月期)
評(píng)論