岑文廣,李俊賢,張志明,趙文瑞,歐 銳
(同濟大學(xué) 電子與信息工程學(xué)院,上海 200092)
高等院校工程教育專業(yè)認證要求工科類專業(yè)培養(yǎng)學(xué)生具備解決復(fù)雜工程問題的能力[1],工程人才培養(yǎng)需要學(xué)生在理論知識支持下完成大量的動手實驗操作。目前新工科實踐教學(xué)面臨諸多挑戰(zhàn),以自動化類專業(yè)為例,其課程同時具備較強的專業(yè)理論性和工程實用性[2-3],一方面需要通過教學(xué)使學(xué)生理解和掌握基本理論和基本方法;另一方面也需要在實踐過程中加深對知識點的理解,熟悉其在工程實際中的應(yīng)用[2-4],提高學(xué)生的創(chuàng)新意識和實踐能力。
現(xiàn)實教學(xué)中,傳統(tǒng)的實驗實踐教學(xué)方式要求指定時間在固定地點實驗室中進行,普遍存在實驗資源短缺(儀器設(shè)備不足、時空利用率低)、設(shè)備維護成本高、現(xiàn)有實驗內(nèi)容單一空洞、綜合性、創(chuàng)新性不足等問題。解決此問題的可行方法是引入當前生產(chǎn)生活中的實際工程問題,與相關(guān)聯(lián)的專業(yè)課程教學(xué)需求相結(jié)合,設(shè)計新的實驗案例,多門專業(yè)課程融合[5-7],理論聯(lián)系實踐,開設(shè)綜合設(shè)計性實驗和自主創(chuàng)新性實驗。
隨著現(xiàn)代工業(yè)信息化、自動化、智能化程度的需求提高,自動導(dǎo)引車(AGV)由于具有無需駕駛員、可靠性強、成本低、操作便利性高等特點,在制造生產(chǎn)業(yè)、工業(yè)運輸業(yè)等輔助搬運領(lǐng)域得到了廣泛應(yīng)用[8-9]。AGV的設(shè)計與實現(xiàn)是一個復(fù)雜的工程問題,也是一個典型的負反饋控制系統(tǒng),涉及傳感器的定位和避障、控制算法運算、電機運動控制等一系列的專業(yè)課程知識和實訓(xùn)實踐工作?,F(xiàn)有的綜合性實驗實踐中,通常是將 AGV簡化為循跡小車,利用嵌入式微控制器MCU來實現(xiàn)設(shè)計、制作、裝配、調(diào)試到成品等流程的學(xué)習(xí)[10-11],由于 MCU的種類繁多,開發(fā)環(huán)境各不兼容,編程學(xué)習(xí)會占用學(xué)生大量的精力和時間,影響學(xué)生對理論知識的掌握。
本文依托自動控制原理、傳感器與檢測技術(shù)、計算機控制系統(tǒng)等自動化類專業(yè)課程的理論教學(xué)內(nèi)容,提出將NI學(xué)生隨身創(chuàng)新設(shè)備myDAQ結(jié)合LabVIEW測試開發(fā)軟件應(yīng)用于綜合創(chuàng)新性實驗設(shè)計,引導(dǎo)學(xué)生在高效集成的實驗環(huán)境下提高工作效率,基礎(chǔ)理論知識與專業(yè)理論知識相銜接,將核心工作集中到算法的理論仿真與物理實現(xiàn)上。與常規(guī)循跡小車單車實驗相比,雙車循線導(dǎo)航及跟隨運動的實驗內(nèi)容進一步擴展與提高,試驗場景更加復(fù)雜,并需要學(xué)生自主完成。
虛擬儀器技術(shù)的引入使得計算機在硬件平臺的支持下可以由軟件實現(xiàn)常規(guī)儀器測量功能和控制信號輸出功能,豐富了實驗手段[12-13]。myDAQ是NI公司推出的一款便攜式 USB接口虛擬儀器口袋實驗室[14],外觀和接口如圖1所示。與本次實驗相關(guān)的硬件資源包括:2個差分模擬輸入通道、2個模擬輸出通道、8個數(shù)字量輸入/輸出接口等;軟件支持圖形化系統(tǒng)設(shè)計環(huán)境LabVIEW二次開發(fā)功能。myDAQ與虛擬儀器技術(shù)相結(jié)合,配合軟件開發(fā)平臺LabVIEW,可快速綜合多個課程的知識并專注于核心問題付諸實踐,從理論無縫過渡到仿真和實驗,在較短時間內(nèi)獨立開發(fā)完成一個完整的自動化專業(yè)實體類工程項目應(yīng)用[15-16]。
圖1 虛擬儀器口袋實驗室myDAQ外觀及接口[14]
實驗采用myDAQ作為系統(tǒng)主控制器,使用myDAQ的模擬輸入、模擬輸出通道和數(shù)字輸入/輸出通道代替常規(guī)實驗中MCU的類似功能I/O接口,以LabVIEW為開發(fā)工具[17],通過簡潔易用的圖形化界面操作,完成雙車實驗系統(tǒng)的傳感器數(shù)據(jù)采集、控制器算法運算和驅(qū)動信號輸出,實時獲取實驗動態(tài)過程參數(shù),繪制和顯示數(shù)據(jù)和曲線,并提供實驗數(shù)據(jù)及實驗結(jié)果記錄功能。
為簡化設(shè)計,兩輛實驗車模選用同一型號的博思公司F型三輪車,為車模選配的電子電路和功能模塊也相同,其中配套專用直流有刷電機型號為RS-380,動力控制采用雙后輪驅(qū)動方案,方向控制通過后輪電機的差速實現(xiàn)(前輪為萬向?qū)л啠?。組裝好的實驗車模如圖2所示。驅(qū)動電路電源采用標準7.2 V/2 000 mAh Ni-cd電池供電。myDAQ及循跡傳感器的+5 V工作電源由計算機USB數(shù)據(jù)線提供。myDAQ自身不帶操作系統(tǒng),整個實驗過程需要連接計算機,編寫LabVIEW終端程序完成控制。
圖2 實驗對象車模
3.2.1 循跡傳感器
紅外對光管模塊循跡傳感器采用定制的高靈敏度一體式光敏對管,能對顏色變化不明顯的灰度值進行識別,對管下方的顏色如果偏向于黑色,則返回低電平(“0”);如果偏向于白色,則返回高電平(“1”)。僅使用單個對管時,測量效果不佳,故實驗選用的傳感器模塊由8路紅外傳感器組成,內(nèi)部集成采集電路和處理程序,能較為精準地區(qū)分背景和軌跡的顏色,確保能返回正確的數(shù)字量,再由車載控制器程序控制myDAQ多路數(shù)字采集端口讀取并依此判斷識別引導(dǎo)線賽道。
3.2.2 測距傳感器
雙車跟隨實驗過程中,需要對后車和前車之間的距離進行實時測量,完成車距閉環(huán)控制。本次實驗中選用 GP2Y0A21YK0F紅外距離傳感器作為測距傳感器,標稱有效測量范圍為20~150 cm,輸出模擬電壓信號。實驗中通過myDAQ的模擬通道對傳感器的輸出信號進行采集,再經(jīng)過內(nèi)部標度變換運算獲得探測距離。
在專業(yè)課程知識點基礎(chǔ)上,針對實踐中傳感器的使用要求,學(xué)生需要對測距傳感器實際輸出信號進行標定方能正確使用[18]。實測發(fā)現(xiàn),該傳感器在檢測距離14≤d≤60 cm時,輸出電壓數(shù)值U與距離d之間基本上呈線性關(guān)系,函數(shù)表達式可擬合為:d=–22.515U+75.134;當 d<14 cm,信號電壓與距離之間的關(guān)系發(fā)生突變,且不再保持線性。綜合考慮傳感器適用范圍和小車實際運動狀態(tài),實驗中雙車之間的距離設(shè)定值定為30 cm。
車模配套的 RS-380直流電機的驅(qū)動電路采用帶死區(qū)的 H橋結(jié)構(gòu)[19],每個 H橋電路驅(qū)動一個直流電機,用于控制調(diào)速和換向,含4個功率 MOS管和 2個IR2184S芯片,結(jié)構(gòu)簡單、可靠性強,其電路原理如圖3所示,直流電機接入到MO1+和 MO1–端子之間。實驗所設(shè)計的雙極性PWM全橋驅(qū)動電路需要提供兩路開關(guān)脈沖 PWM1+和 PWM1–,控制功率 MOS管按時序?qū)?關(guān)斷,實現(xiàn)電機的正轉(zhuǎn)/反轉(zhuǎn)功能,調(diào)整電機轉(zhuǎn)速則通過改變PWM信號占空比來實現(xiàn)。
圖3 電機驅(qū)動輸出控制電路原理圖
實踐中發(fā)現(xiàn),如果采用常規(guī)設(shè)計,需要產(chǎn)生4路獨立可控的PWM波形,但由于myDAQ本身只有1路PWM輸出,同時模擬輸出也只有2路端口,因此實驗中使用軟件生成2路模擬PWM波形分別控制左/右輪電機,此時電機只能正轉(zhuǎn)不能反轉(zhuǎn),在差速轉(zhuǎn)向時只能進行加法而不能進行減法運算。實驗對象小車一般在低速狀態(tài)下運行,因此上述方法不會影響電機驅(qū)動功能的正常實現(xiàn),從而在理論仿真設(shè)計和有限硬件資源之間取得平衡和適應(yīng)。
循跡雙車跟隨實驗要求后車跟隨前車,雙車編隊按一定距離間隔巡線運行,車載控制器需要在控制車體運行同時完成賽道循跡和跟隨距離控制功能。雙車閉環(huán)負反饋控制系統(tǒng)框圖如圖4所示。對于先導(dǎo)前車,實驗中方向閉環(huán)控制循跡為主,速度開環(huán)控制。跟隨后車除了循跡閉環(huán)控制之外,還需要根據(jù)車間距信息計算構(gòu)成速度/定距閉環(huán)控制,故存在方向和速度/定距雙閉環(huán)控制。實驗要求學(xué)生先對車模建立合適的二階或三階線性數(shù)學(xué)模型,在 MATLAB環(huán)境中仿真實現(xiàn)基于速度PID算法[20]的小車自動巡線行駛和雙車定距跟隨,并在實車實驗過程中以 LabVIEW 軟件和 C語言結(jié)合編程的方式加以驗證和修正,以獲得滿意的響應(yīng)輸出。
3.4.1 循跡算法
巡線循跡是小車運動的基本要求,根據(jù)循跡傳感器的8路信號采集結(jié)果感知賽道信息,計算方向偏差,輸入到加權(quán) PD閉環(huán)控制器,計算得到控制量后輸出驅(qū)動雙電機,實現(xiàn)基本的閉環(huán)方向控制,即保障小車正常循跡行駛。為提高巡線效果,將數(shù)字量輸入值近似為模擬量,越遠離賽道中心在偏差計算上的權(quán)重越大;引入微分環(huán)節(jié)減少循跡超調(diào)量,使小車運行更平穩(wěn);記錄小車實時轉(zhuǎn)向,當小車丟失車道信息(駛出車道)時,按照歷史記錄繼續(xù)運行,直到重新采集到車道信息,再繼續(xù)正常運行。
圖4 雙車閉環(huán)負反饋控制系統(tǒng)框圖
3.4.2 雙車間距控制
在設(shè)計原型實驗系統(tǒng)時,雙車間距控制器采用比例環(huán)節(jié)調(diào)節(jié),將距離信號與設(shè)置的定距數(shù)值之差作為控制器的輸入量偏差,通過取用合適的反饋增益即可使得后車在車距較小時減速,車距較大時加速,實現(xiàn)車距的控制。在比例調(diào)節(jié)器作用下,系統(tǒng)一旦出現(xiàn)偏差,比例調(diào)節(jié)立即產(chǎn)生調(diào)節(jié)作用以減少該偏差。比例作用大,可以加快調(diào)節(jié),減少誤差,但是過大的比例,會使系統(tǒng)的穩(wěn)定性下降,甚至造成系統(tǒng)的不穩(wěn)定。此外,考慮到距離過近時,傳感器測量非線性化嚴重的因素,故將允許期望距離設(shè)置在合適范圍之內(nèi)。
實驗中的軟件基于統(tǒng)一的 LabVIEW 平臺進行設(shè)計和開發(fā),采用數(shù)據(jù)流方法驅(qū)動圖形化編程語法,將主要精力用于專業(yè)領(lǐng)域內(nèi)的算法和功能實現(xiàn),同時與C文本編程源語言進行互操作,復(fù)用其代碼或程序庫,從而降低軟件編程的復(fù)雜性,及時把所設(shè)計的控制算法轉(zhuǎn)換為執(zhí)行代碼,簡化系統(tǒng)設(shè)計和調(diào)試工作[17]。核心主程序的前面板(GUI人機交互界面)和后面板(源代碼)分別如圖5(a)和5(b)所示。
3.5.1 LabVIEW人機交互前面板
主程序前面板(GUI人機交互界面)中,主要由兩部分數(shù)據(jù)區(qū)域組成。上部區(qū)域為小車運行時重要參數(shù)的顯示部分,用于調(diào)試與記錄當前運行狀態(tài),包括實際輸出控制量(小車驅(qū)動板的電壓信號、PWM 波占空比、兩側(cè)車輪的驅(qū)動偏置電壓、小車當前運動方向等)、雙車跟隨距離狀態(tài)(速度/定距控制器的輸出控制量-左/右輪驅(qū)動電壓初值)、循線傳感器狀態(tài)(8路數(shù)字信號、相關(guān)處理算法的計算中間值和最后結(jié)果)。下部區(qū)域用于控制參數(shù)的顯示和輸入,用于調(diào)試時方向和速度/定距雙閉環(huán)控制器參數(shù)的在線實時調(diào)整,包括占空比參數(shù)調(diào)節(jié)(左/右輪驅(qū)動PWM波占空比)、驅(qū)動電壓參數(shù)調(diào)節(jié)(PD控制器的比例環(huán)節(jié)系數(shù)Kp、微分環(huán)節(jié)系數(shù) Kd、左/右兩輪的驅(qū)動電壓初值設(shè)置)、距離反饋參數(shù)調(diào)節(jié)(控制器的增益系數(shù)、兩車間距期望值、小車速度上限)。
圖5 循跡雙車跟隨實驗核心主程序
雙車實驗中的前車和后車兩輛車模的機械和電路結(jié)構(gòu)相同,故控制程序可同時部署在兩輛車上,無需單獨開發(fā)。對于先導(dǎo)前車,實驗中只進行循跡方向閉環(huán)控制,速度開環(huán)控制,故在程序中無需讀取距離傳感器,且距離反饋環(huán)節(jié)增益為零。此外,由于雙車結(jié)構(gòu)和組件對象存在細節(jié)差異,在實驗中需要根據(jù)實際情況在其初始化模塊中分別調(diào)整對應(yīng)的初始參數(shù)。
3.5.2 LabVIEW源代碼后面板
后面板(LabVIEW源代碼)中,主要實現(xiàn)傳感器數(shù)據(jù)讀取和運算、數(shù)字控制器、控制量驅(qū)動輸出等功能。為優(yōu)化程序結(jié)構(gòu),學(xué)生在實踐編程中將傳感器信號采集、控制量驅(qū)動輸出(運算后輸出驅(qū)動參數(shù))這兩部分和硬件密切相關(guān)的程序在調(diào)試成功后封裝為子VI,再放置于主程序中調(diào)用子 VI進行運算,從而提高程序可讀性,整體布局更加整潔直觀。在程序拓撲上,基于生產(chǎn)者/消費者設(shè)計模式,設(shè)計信號處理(傳感器的數(shù)據(jù)讀取處理、控制器內(nèi)部運算,負責生成數(shù)據(jù))和驅(qū)動輸出(運算后輸出驅(qū)動參數(shù),負責處理數(shù)據(jù))兩個循環(huán)獨立的架構(gòu),并行處理,使得小車運動控制周期合理取值,運行速度得以提升,從而改善當程序運行周期較長時引起的控制滯后,導(dǎo)致行駛時車身抖動等問題。
3.5.3 基于myDAQ的數(shù)據(jù)采集與信號生成
根據(jù)實驗要求,程序設(shè)計需要注重數(shù)據(jù)的準確性和實時性,myDAQ需要完成的任務(wù)包括:采集灰度傳感器的8路數(shù)字信號、采集紅外測距傳感器的1路模擬信號、生成 2路脈寬和幅值均可調(diào)的模擬 PWM信號,各子VI的程序框圖如圖6所示。
循線傳感器數(shù)據(jù)采集子 VI創(chuàng)建數(shù)字輸入采集通道,物理通道為 myDAQ2/port0/line7:0,對應(yīng)硬件設(shè)計中傳感器的8路數(shù)字量輸出,配置讀取模式為N通道單采樣,采集得到的8位bool型數(shù)據(jù)轉(zhuǎn)換為一維整型數(shù)組,輸出提供給后續(xù)環(huán)節(jié)進行數(shù)據(jù)處理。
紅外測距傳感器數(shù)據(jù)采集子 VI創(chuàng)建模擬輸入采集通道,物理通道為 myDAQ2/ai0,配置讀取模式為單通道單采樣,采集模擬電壓信號后換算成雙車間距。為確定較為精確的電壓-距離標定關(guān)系公式,學(xué)生先采集到足夠的傳感器數(shù)據(jù)并保存,再離線采用標定擬合的方法計算得到電壓-距離的關(guān)系,最后在線編程變換,獲得浮點型數(shù)據(jù)“距離”作為輸出。
實驗中采用軟件模擬的方式同時生成2路電機驅(qū)動信號,輸出PWM信號是脈寬調(diào)制和幅值調(diào)控二者結(jié)合下的產(chǎn)物,以滿足 0~100%變化區(qū)間內(nèi)的轉(zhuǎn)速控制要求。模擬信號生成子 VI創(chuàng)建模擬輸出通道,物理通道為myDAQ2/ao0:1,采樣模式配置為N通道、N采樣。選用硬件定時的方式,根據(jù) Nyquist采樣定理合理配置采樣頻率及輸出信號頻率。使用“任意信號發(fā)生器”函數(shù),模式選擇“方波”,給定可調(diào)的信號占空比和電壓幅值作為輸入?yún)?shù),生成連續(xù)模擬PWM信號波形,再將波形數(shù)據(jù)合成為數(shù)組形式寫入myDAQ設(shè)備輸出。
3.5.4 數(shù)字控制器程序設(shè)計
實踐中發(fā)現(xiàn),數(shù)字控制器設(shè)計比較復(fù)雜,如果繼續(xù)使用圖形和線條來描述數(shù)學(xué)公式和算法過程,會顯得比較煩瑣。在自動控制原理、計算機控制系統(tǒng)、嵌入式系統(tǒng)等專業(yè)課程的綜合性實驗中,針對直流電機對象的閉環(huán)控制器的設(shè)計已有相應(yīng)工作基礎(chǔ),但其代碼一般以C語言形式完成。故在編程設(shè)計和調(diào)試時,調(diào)用 LabVIEW 集成內(nèi)置的公式節(jié)點,將圖形化編程與文本編程相結(jié)合,使用 C++相似的語法結(jié)構(gòu)和元素,直接利用已有文本代碼,移植到程序框圖中,執(zhí)行復(fù)雜數(shù)學(xué)運算。循線方向和定距運動雙閉環(huán)控制器的公式節(jié)點架構(gòu)如圖 5(b)所示,具體代碼不再贅述。學(xué)生可將主要精力集中于控制算法和功能的實現(xiàn)及調(diào)試工作,無需再糾結(jié)于編程和語法細節(jié),從而提高實驗效率。
圖6 基于myDAQ的數(shù)據(jù)采集與信號生成程序
在實驗室地面上鋪設(shè)白線賽道,如圖7所示,包括十字交叉、圓弧形和S形曲線等基本要素,按照擴展實驗要求還可以加入路障、其他車輛等更復(fù)雜的要素。為驗證本文中實驗方法的有效性,在組裝好雙車后,按照理論分析和數(shù)據(jù)仿真結(jié)果,依次調(diào)試前車和后車的程序參數(shù),先進行循跡實驗測試,達到實驗要求后再進行雙車跟隨實驗調(diào)試,調(diào)試結(jié)果和數(shù)據(jù)保存為實驗記錄文件,供后續(xù)分析使用。
圖7 基于虛擬儀器口袋實驗室的循跡雙車跟隨實驗現(xiàn)場
實驗開始時設(shè)定預(yù)期雙車間距離為定值,前車循線前進(速度開環(huán)控制),后車控制本身運行速度從而在一定范圍內(nèi)保持與前車的距離。實驗示例結(jié)果表明:前車和后車均能正常循線運行。其中5次循跡雙車跟隨實驗實測數(shù)據(jù)(雙車間距)如圖8所示,數(shù)據(jù)采樣率為15 Hz,雙車間距離要求在運行時保持30 cm,5次實驗起始時的雙車間距初始值分別為20、25、35、40、45 cm。其中原始數(shù)據(jù)如圖8(a)所示,曲線存在比較多的毛刺干擾,誤差較大,經(jīng)過數(shù)字濾波處理后的修正數(shù)據(jù)則如圖 8(b)所示,誤差減少,能較好地反映實際情況。
數(shù)據(jù)曲線能反映雙車的行駛情況:當距離超出預(yù)期值并且繼續(xù)增大時,前車較后車速度快,此時后車需要在正常循線的同時加速追趕,縮短雙車間距;當距離小于預(yù)期值并且繼續(xù)減小時,后車速度更快,此時后車需要減速行駛拉大雙車間距以免與前車追尾;如果距離數(shù)值曲線在預(yù)期值附近做小幅度的振蕩波動,表明雙車的跟隨情況良好,其車距基本能夠維持在所設(shè)定的預(yù)期值30 cm左右,符合實驗要求,如第1、4、5次實驗數(shù)據(jù)后半程所示,波動較小,無明顯過高的峰值或過低的波谷,雙車實際運行中循線穩(wěn)定、車距控制合理,實驗較為成功。
圖8 循跡雙車跟隨實驗實測數(shù)據(jù)處理
雙車間距實測數(shù)據(jù)經(jīng)過分析后可以反饋改進實驗控制方案,結(jié)果表明:雙車循跡跟隨的距離控制基本滿足實驗要求,即能保證兩車的間距不會太小或太大。但是兩輛車之間的距離變化并不穩(wěn)定,實驗數(shù)據(jù)存在較為陡峭的曲線部分,表明后車的加速/減速動態(tài)性能不能滿足理論指標,可考慮在控制器中加入積分環(huán)節(jié)和微分環(huán)節(jié),進一步優(yōu)化控制算法。原始數(shù)據(jù)中有超過實際車距的過大峰值和持續(xù)較長時間的大數(shù)值距離數(shù)據(jù),是由于初始設(shè)計時未考慮到后車在循跡過程中與前車并不能一直保持在同一軸向上,距離增大超過一定范圍后,紅外測距傳感器會因為安裝位置、車模方向、復(fù)雜場地路線、車體機械振動等因素出現(xiàn)比較大的動態(tài)偏差(采集的數(shù)據(jù)會比實際雙車間距更大),不能真實反映實際距離。在實驗的后續(xù)改進中,如因成本因素仍使用本類型傳感器,需要在調(diào)試數(shù)據(jù)處理的過程中實時濾波修正,方能更好地分析實驗數(shù)據(jù)后對實際運行參數(shù)進行修改,提高循線跟隨雙車實驗效果。
以循跡雙車跟隨綜合創(chuàng)新性實驗的設(shè)計為例,引入基于虛擬儀器技術(shù)的學(xué)生便攜式口袋儀器實驗室,軟件和硬件結(jié)合,為專業(yè)課程提供效費比高的工程實踐平臺。在此實驗平臺基礎(chǔ)上,可繼續(xù)深入結(jié)合更多的專業(yè)課程理論知識,拓展實驗內(nèi)容,豐富實驗手段,完成各項綜合性和創(chuàng)新性自主實驗。學(xué)生在理論指導(dǎo)下,經(jīng)過實驗的設(shè)計、仿真、調(diào)試和測量等動手實踐后,分層次實現(xiàn)實驗要求,從而提高學(xué)習(xí)興趣和實踐效率,激發(fā)自主學(xué)習(xí)的積極性,培養(yǎng)創(chuàng)新思維和工程能力,達到“具備解決復(fù)雜工程問題”的高等院校工程教育專業(yè)認證要求。