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