丁佳莉
摘 要:獨(dú)立學(xué)院控制系統(tǒng)的教學(xué)具有一定的挑戰(zhàn)性。針對(duì)其課程教學(xué)中存在的問(wèn)題,本文通過(guò)樂(lè)高機(jī)器人與MATLAB軟件相結(jié)合,輔助控制系統(tǒng)在獨(dú)立學(xué)院中的實(shí)驗(yàn)課程教學(xué)。為了實(shí)現(xiàn)樂(lè)高機(jī)器人的線(xiàn)性跟蹤,在MATLAB軟件中對(duì)PID控制器的三個(gè)關(guān)鍵系數(shù)進(jìn)行了優(yōu)化控制。學(xué)生在對(duì)PID控制器進(jìn)行分析和測(cè)試的過(guò)程中,提高了控制系統(tǒng)課程的實(shí)驗(yàn)教學(xué)效果。
關(guān)鍵詞:獨(dú)立學(xué)院;樂(lè)高機(jī)器人;實(shí)驗(yàn)教學(xué)
控制系統(tǒng)是電氣等相關(guān)的本科專(zhuān)業(yè)必修的核心課程之一,在相關(guān)專(zhuān)業(yè)的人才培養(yǎng)過(guò)程中占有非常重要的地位。由于許多控制系統(tǒng)的概念是以數(shù)學(xué)形式表達(dá)的,如PID算法、拉普拉斯變換等,所以控制系統(tǒng)教學(xué)在獨(dú)立學(xué)院中一直具有一定的挑戰(zhàn)性。為了不讓學(xué)生對(duì)這些概念的數(shù)學(xué)形式感到困惑,學(xué)生需要在實(shí)踐中對(duì)此類(lèi)理論進(jìn)行驗(yàn)證,從而來(lái)提高他們的理解能力。
樂(lè)高機(jī)器人中的LEGO Mindstorms NXT系統(tǒng)滿(mǎn)足上述需求。它被廣泛應(yīng)用于編程語(yǔ)言、機(jī)器人以及嵌入式系統(tǒng)等教育領(lǐng)域。在獨(dú)立學(xué)院的本科實(shí)踐教育中使用樂(lè)高機(jī)器人是一個(gè)提高學(xué)生工程能力的好方法,也是一個(gè)使實(shí)踐教學(xué)能夠成功的重要方式。樂(lè)高機(jī)器人工具包含有三個(gè)伺服馬達(dá)和多種傳感器(如觸摸傳感器、聲音傳感器和紅外線(xiàn)傳感器等)。此外,該工具包有一個(gè)基本組件(即NXT模塊)用于樂(lè)高機(jī)器人的軟件開(kāi)發(fā)。通過(guò)一個(gè)叫nxtOSEK的軟件包,用戶(hù)可以在MATLAB的Simulink環(huán)境中設(shè)計(jì)控制程序圖表,并將編譯的圖表直接生成、上傳到NXT模塊中,從而使樂(lè)高機(jī)器人的電機(jī)獨(dú)立運(yùn)行。
本文結(jié)合樂(lè)高機(jī)器人工具包和MATLAB軟件來(lái)輔助PID控制器在獨(dú)立學(xué)院控制工程本科課程中的實(shí)踐教學(xué)。學(xué)生在MATLAB軟件中設(shè)計(jì)可視化的PID控制器,并利用樂(lè)高構(gòu)建的移動(dòng)機(jī)器人對(duì)PID控制器進(jìn)行驗(yàn)證。
一、實(shí)驗(yàn)介紹
本文實(shí)驗(yàn)的目的是開(kāi)發(fā)一個(gè)適用于樂(lè)高機(jī)器人的PID控制器,使其能夠沿著目標(biāo)軌跡移動(dòng)。并且,該機(jī)器人能以較快的速度行駛,從而使學(xué)生直觀(guān)地了解PID控制器的功能及各參數(shù)的設(shè)定。
本實(shí)驗(yàn)中構(gòu)建的樂(lè)高機(jī)器人包含兩個(gè)能夠測(cè)量車(chē)輪編碼器相對(duì)應(yīng)轉(zhuǎn)速的伺服馬達(dá),每個(gè)伺服馬達(dá)分別連接一個(gè)車(chē)輪。此外,還有一個(gè)紅外線(xiàn)傳感器,安裝在樂(lè)高機(jī)器人的前面,直接指向地面。該紅外線(xiàn)傳感器可以探測(cè)到地板或桌面上的黑色軌跡。在本次實(shí)驗(yàn)中,通過(guò)紅外光傳感器獲得的值稱(chēng)之為“光度”。
為了讓樂(lè)高機(jī)器人能夠沿著設(shè)定的黑線(xiàn)邊緣移動(dòng),利用紅外線(xiàn)傳感器采集樂(lè)高機(jī)器人四周的環(huán)境信息,從而改變樂(lè)高機(jī)器人的運(yùn)動(dòng)軌跡。實(shí)驗(yàn)中設(shè)定樂(lè)高機(jī)器人追蹤的是黑線(xiàn)的左邊緣,并稱(chēng)該種追蹤方式為左側(cè)線(xiàn)性追蹤。因此,當(dāng)紅外線(xiàn)傳感器“看到白色”,意味著樂(lè)高機(jī)器人位于黑線(xiàn)邊緣的左側(cè)。當(dāng)紅外光傳感器“看到黑色”時(shí),則位于黑線(xiàn)邊緣的右側(cè)。在紅外線(xiàn)傳感器的校準(zhǔn)實(shí)驗(yàn)環(huán)境中,當(dāng)采集的“光度”值低于55時(shí),我們判定為“白色”,當(dāng)“光度”值高于55時(shí),判定為“黑色”。由此得知,如果紅外線(xiàn)傳感器采集到的“光度”值小于55,樂(lè)高機(jī)器人左轉(zhuǎn)。如果“光度”值大于55,則樂(lè)高機(jī)器人右轉(zhuǎn)。否則,機(jī)器人直行。
二、PID控制器設(shè)計(jì)
PID控制器全稱(chēng)是比例-積分-微分控制器。PID控制器由比例單元P、積分單元I和微分單元D組成,通過(guò)KP,KI,KD 三個(gè)參數(shù)來(lái)設(shè)定。PID控制器可以計(jì)算出系統(tǒng)輸出值與初始設(shè)定值之間的差異,并通過(guò)調(diào)整系統(tǒng)的輸入值來(lái)減少這種差異。在控制系統(tǒng)的應(yīng)用中,PID控制器的公式是以離散形式表示的,如公式(1)所示。
其中,KP,KI,KD 分別為P、I和D參數(shù)。公式(1)在計(jì)算機(jī)上的實(shí)現(xiàn)相對(duì)簡(jiǎn)單,通常是使用浮點(diǎn)算法進(jìn)行計(jì)算,從而獲得較高的精度。
一般情況下,P參數(shù)依賴(lài)當(dāng)前誤差e(t)。I參數(shù)累計(jì)過(guò)去所有的誤差,并給出之前已經(jīng)被糾正的累計(jì)偏移量。而D參數(shù)則根據(jù)當(dāng)前變化率來(lái)預(yù)測(cè)未來(lái)誤差。在本次實(shí)驗(yàn)中,I參數(shù)將樂(lè)高機(jī)器人過(guò)去的運(yùn)動(dòng)結(jié)果進(jìn)行整合,消除了純比例控制器產(chǎn)生的殘留穩(wěn)態(tài)誤差。D參數(shù)則通過(guò)預(yù)測(cè)樂(lè)高機(jī)器人的行為,提高了PID控制器的穩(wěn)定性。換句話(huà)說(shuō),D參數(shù)可以通過(guò)假設(shè)誤差的下一個(gè)變化與上一個(gè)變化相同來(lái)預(yù)測(cè)未來(lái)。我們通過(guò)調(diào)整三個(gè)參數(shù)結(jié)果的加權(quán)過(guò)程來(lái)達(dá)到預(yù)期目標(biāo)。當(dāng)然,并不總是使用PID控制器中的所有參數(shù)來(lái)控制系統(tǒng)。有時(shí)候因?yàn)橐粋€(gè)或多個(gè)控制參數(shù)不會(huì)涉及到,會(huì)將一些參數(shù)設(shè)置為零,然后將控制器稱(chēng)為PI,PD,P或只是I控制器。
最后,樂(lè)高機(jī)器人的兩個(gè)電機(jī)的實(shí)際功率會(huì)由用戶(hù)分配的靜態(tài)功率和動(dòng)態(tài)傳輸功率組成,如公式(2所示):
P(k)=PZ±u(k) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (2)
其中 P(k)是兩個(gè)電機(jī)的實(shí)際功率,是使樂(lè)高機(jī)器人能夠保持直線(xiàn)前進(jìn)的靜態(tài)功率。當(dāng)樂(lè)高機(jī)器人不直行時(shí),是通過(guò) u(k)來(lái)改變兩個(gè)電機(jī)的功率的。一個(gè)電機(jī)的功率為P(k)=PZ+u(k) ?,另一個(gè)電機(jī)的功率為P(k)=PZ-u(k) ?,其中u(k)可以為正,也可以為負(fù)。結(jié)果表明,u(k)會(huì)加快其中一個(gè)電機(jī)的速度,并減慢另一個(gè)電機(jī)的速度,從而使樂(lè)高機(jī)器人改變運(yùn)動(dòng)方向。
三、實(shí)驗(yàn)及結(jié)果
本文利用MATLAB軟件來(lái)設(shè)計(jì)PID控制器,并且通過(guò)調(diào)節(jié)三個(gè)參數(shù)(KP,KI,KD)的數(shù)值來(lái)觀(guān)察對(duì)樂(lè)高機(jī)器人線(xiàn)性追蹤運(yùn)動(dòng)的影響。在PID控制器實(shí)現(xiàn)之前,需要適當(dāng)?shù)卦O(shè)置這三個(gè)關(guān)鍵系數(shù)。而調(diào)節(jié)參數(shù)的方法有很多種,本文使用的方法就是“齊格勒-尼科爾斯方法”??刂乒こ虒?zhuān)業(yè)的學(xué)生需要熟悉該理論以及PID調(diào)節(jié)方法的應(yīng)用。在該方法中,最終的增益Ku和相應(yīng)的振蕩周期Pu一起記錄,我們稱(chēng)為振蕩周期。
PID控制器參數(shù)的調(diào)節(jié)過(guò)程如下:
1.KI,KD設(shè)為零,即將PID控制器簡(jiǎn)化為一個(gè)比例控制器。將KP參數(shù)設(shè)置為一個(gè)“合理”的數(shù)值。例如KP=1(或0.1),然后觀(guān)察實(shí)驗(yàn)結(jié)果。
2.如果此時(shí)樂(lè)高機(jī)器人不能追蹤黑線(xiàn),偏離路線(xiàn),則逐漸增加KP的值。如果樂(lè)高機(jī)器人劇烈振蕩,則逐漸減小KP的值。KP參數(shù)需要不斷變化,直到找到某一個(gè)值,使樂(lè)高機(jī)器人即追蹤黑線(xiàn),又伴有明顯但不劇烈的振蕩。那么這個(gè)KP值就被稱(chēng)為最終實(shí)驗(yàn)需要的增益Ku,并且在此時(shí)確定震蕩周期Pu。
3.確定Ku和Pu的值后,通過(guò)“齊格勒-尼克爾斯方法”計(jì)算出KP,KI,KD和參數(shù)的數(shù)值。然后,通過(guò)不斷調(diào)整參數(shù)數(shù)值,獲得最佳的線(xiàn)性追蹤效果。
在本文的實(shí)驗(yàn)中,最終Ku調(diào)節(jié)為0.8,Pu調(diào)節(jié)為0.6。通過(guò)“齊格勒-尼克爾斯方法”計(jì)算出三個(gè)參數(shù)分別為KP=0.48,KI,=1.6,KD=0.036。再經(jīng)過(guò)不斷的重復(fù)實(shí)驗(yàn)和調(diào)整后,三個(gè)參數(shù)調(diào)節(jié)為KP=0.5,KI,=2,KD=0.05。在這種情況下,樂(lè)高機(jī)器人能夠避免外界干擾,沿著黑線(xiàn)平穩(wěn)的進(jìn)行移動(dòng)。在實(shí)驗(yàn)過(guò)程中,我們也設(shè)計(jì)了一些特定的軌跡(例如轉(zhuǎn)彎,交叉等),并在設(shè)計(jì)的軌跡上對(duì)PID控制器的性能進(jìn)行了驗(yàn)證。結(jié)果顯示,通過(guò)本次實(shí)驗(yàn)系統(tǒng)中幾個(gè)參數(shù)的調(diào)節(jié)過(guò)程,學(xué)生們可以計(jì)算出較為合適的KP,KI和KD值。
本文所述的實(shí)驗(yàn)方法可方便地應(yīng)用于其它控制系統(tǒng)的教學(xué)課程中。因此,本文可以作為一個(gè)完成PID控制概念實(shí)驗(yàn)教學(xué)的示例。本文的主要目標(biāo)是提高獨(dú)立學(xué)院的本科教學(xué)水平,并且?guī)椭鷮W(xué)生將理論應(yīng)用于實(shí)踐當(dāng)中。
本文實(shí)驗(yàn)課程共4節(jié),每節(jié)課程2小時(shí)。第一節(jié)課程給出理論內(nèi)容,包括PID控制算法的數(shù)學(xué)公式。第二節(jié)和第三節(jié)課程主要是進(jìn)行實(shí)踐模塊的教學(xué)和練習(xí),學(xué)生學(xué)習(xí)并且熟悉樂(lè)高機(jī)器人工具包和MATLAB的Simulink模擬軟件。在了解了PID控制算法并且熟悉樂(lè)高機(jī)器人的工具包后,再正式進(jìn)行實(shí)驗(yàn)。最后一節(jié)課,學(xué)生會(huì)按照課程中的方法來(lái)設(shè)定、調(diào)整PID控制器的三個(gè)參數(shù),從而完成樂(lè)高機(jī)器人的線(xiàn)性追蹤測(cè)試。
實(shí)驗(yàn)課程結(jié)束后,我們進(jìn)行了問(wèn)卷調(diào)查并對(duì)調(diào)查問(wèn)卷進(jìn)行統(tǒng)計(jì)和評(píng)估,結(jié)果顯示問(wèn)卷中大部分的回答都肯定了此門(mén)實(shí)驗(yàn)課程的效果。在學(xué)期結(jié)束時(shí),學(xué)生們完成了相關(guān)課程的期末考試。與前幾年的考試成績(jī)相比,在控制系統(tǒng)課程中,與本次實(shí)驗(yàn)相關(guān)題目的正確率有所提高。實(shí)驗(yàn)結(jié)果表明,新采取的控制系統(tǒng)實(shí)踐教學(xué)方法,大大提高了學(xué)生們的理解能力。這意味著獨(dú)立學(xué)院的學(xué)生可以通過(guò)此次實(shí)驗(yàn)教學(xué)更深層次的理解控制系統(tǒng)方面的理論概念。
四、結(jié)論
近幾十年來(lái),PID算法在許多機(jī)械工業(yè)過(guò)程中得到了廣泛應(yīng)用。這種趨勢(shì)觸發(fā)了控制系統(tǒng)課程教學(xué)在獨(dú)立學(xué)院等應(yīng)用型高校中的顯著可用性。本文提出了一個(gè)基于樂(lè)高機(jī)器人的簡(jiǎn)單教育平臺(tái)來(lái)幫助學(xué)生在本科工程教育課程中學(xué)習(xí)PID控制器,通過(guò)PID控制算法研究樂(lè)高機(jī)器人工具包的性能。樂(lè)高機(jī)器人一直被廣泛應(yīng)用于各類(lèi)的教育教學(xué)中,但僅僅局限于教授簡(jiǎn)單的基本概念。然而,本次提出的實(shí)驗(yàn)教學(xué)案例可以應(yīng)用于更為復(fù)雜的問(wèn)題當(dāng)中,如PID控制算法等。
在本文中,樂(lè)高機(jī)器人作為一個(gè)用于教授理論算法的機(jī)器人教學(xué)平臺(tái),學(xué)生只需在一個(gè)高級(jí)語(yǔ)言界面上進(jìn)行編程,就能夠?qū)崿F(xiàn)機(jī)器人的控制。實(shí)驗(yàn)結(jié)果表明,參加了樂(lè)高機(jī)器人實(shí)驗(yàn)教學(xué)的學(xué)生在學(xué)習(xí)PID算法時(shí),對(duì)其性能的理解能力增強(qiáng)。并且,對(duì)于已經(jīng)完成了PID實(shí)驗(yàn)教學(xué)的學(xué)生對(duì)控制理論方面的知識(shí)掌握的時(shí)間更長(zhǎng)。這些結(jié)果表明,通過(guò)理論和實(shí)踐相結(jié)合的方式,樂(lè)高機(jī)器人的實(shí)驗(yàn)教學(xué)激發(fā)了學(xué)生對(duì)PID算法的學(xué)習(xí)和理解,同時(shí)也對(duì)學(xué)生產(chǎn)生了更深、更持久的影響。
參考文獻(xiàn):
[1]沈靜、梁紅兵、趙偉華.獨(dú)立學(xué)院操作系統(tǒng)課程教學(xué)的改革與探索[J].福建電腦,2019.35(4):168-171
[2]M.P.Cuéllar and M.C.Pegalajar.Design and implementation of intelligent systems with LEGO Mindstorms for undergraduate computer engineers[J].Computer Applications in Engineering Education,2014.22(1):153-166
[3]D.Ibrahim and J.F.Abu Hasna.Teaching PID auto-tuning using a low-cost control kit[J].International Journal of Engineering Education,2013.29(1):239-248
[4]鄭清春、武剛、郝麗芳.基于樂(lè)高機(jī)器人系統(tǒng)的創(chuàng)新設(shè)計(jì)實(shí)驗(yàn)室開(kāi)放實(shí)踐探索[J].實(shí)驗(yàn)室研究與探索,2008.27(10):22-23.2