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