梁西昌,萬熠,侯嘉瑞,辛倩倩
1山東大學(xué)機(jī)械工程學(xué)院;2高效潔凈機(jī)械制造教育部重點(diǎn)實(shí)驗(yàn)室;3機(jī)械工程國家級(jí)實(shí)驗(yàn)教學(xué)示范中心;4山東大學(xué)工程訓(xùn)練中心
機(jī)器人工程是典型的“新工科”專業(yè),涉及到機(jī)械、控制、通訊和信息等諸多專業(yè)[1,2]。機(jī)器人運(yùn)動(dòng)控制是機(jī)器人工程中的關(guān)鍵技術(shù),融合了機(jī)構(gòu)設(shè)計(jì)、運(yùn)動(dòng)學(xué)、動(dòng)力學(xué)和控制方法等方面的內(nèi)容[3,4]。在教學(xué)中加入機(jī)器人運(yùn)動(dòng)控制實(shí)驗(yàn)將提高學(xué)生學(xué)習(xí)的興趣,加深學(xué)生對(duì)機(jī)器人理論知識(shí)的理解。
目前,高校主要使用兩種方式開展機(jī)器人運(yùn)動(dòng)控制實(shí)驗(yàn)教學(xué)。一種是采用實(shí)物開展實(shí)驗(yàn)教學(xué),運(yùn)動(dòng)控制平臺(tái)一般基于單片機(jī)或嵌入式系統(tǒng)研發(fā)[5,6]。這種開發(fā)方式便于學(xué)生了解機(jī)器人底層設(shè)計(jì),但同時(shí)也需要學(xué)生具有扎實(shí)的嵌入式系統(tǒng)和C語言編程知識(shí)儲(chǔ)備。對(duì)于沒有該方面基礎(chǔ)的學(xué)生,則較難參與到相關(guān)實(shí)驗(yàn)中,不利于學(xué)生理解機(jī)器人運(yùn)動(dòng)學(xué)、軌跡規(guī)劃、動(dòng)力學(xué)和控制等抽象復(fù)雜的理論知識(shí)。另一種方式是采用仿真系統(tǒng)開展實(shí)驗(yàn)教學(xué),對(duì)機(jī)器人控制算法進(jìn)行單純的仿真驗(yàn)證[7,8],學(xué)生無法直觀感受整體的機(jī)器運(yùn)動(dòng)控制過程。
Simulink是一種基于MATLAB軟件的框圖化設(shè)計(jì)環(huán)境,可完成機(jī)器人系統(tǒng)的建模、仿真和分析等工作。RTW(real-time workshop)是在Simulink環(huán)境中的功能模塊,提供了實(shí)時(shí)的開發(fā)環(huán)境。通過RTW可實(shí)現(xiàn)機(jī)器人的實(shí)時(shí)運(yùn)動(dòng)控制,進(jìn)而可將不同的控制方法例如PID、神經(jīng)網(wǎng)絡(luò)和模糊控制等應(yīng)用于實(shí)時(shí)操作[9,10]。
鑒于此,本文開發(fā)了基于Simulink的機(jī)器人運(yùn)動(dòng)控制實(shí)驗(yàn)教學(xué)平臺(tái)。選擇Simulink作為編程環(huán)境,開發(fā)包含目標(biāo)機(jī)和宿主機(jī)的控制平臺(tái),選擇機(jī)器人為被控對(duì)象。在此基礎(chǔ)上,采用常規(guī)PID和模糊PID作為控制算法,開展機(jī)器人實(shí)時(shí)運(yùn)動(dòng)控制實(shí)驗(yàn),驗(yàn)證所開發(fā)平臺(tái)的有效性。
RTW工具箱中有單機(jī)和雙機(jī)兩種方案。機(jī)器人實(shí)時(shí)運(yùn)動(dòng)控制需要確保信息傳輸?shù)姆€(wěn)定性和實(shí)時(shí)性,而雙機(jī)方案相比單機(jī)方案具有更高實(shí)時(shí)性和穩(wěn)定性,因此選擇在雙機(jī)方案基礎(chǔ)上搭建機(jī)器人實(shí)時(shí)運(yùn)動(dòng)控制平臺(tái)?;陔p機(jī)方案的運(yùn)動(dòng)控制平臺(tái)包括宿主機(jī)和目標(biāo)機(jī)兩臺(tái)計(jì)算機(jī),在宿主機(jī)中安裝Simulink,在目標(biāo)機(jī)中使用xPC Target作為實(shí)時(shí)內(nèi)核,通過以太網(wǎng)建立宿主機(jī)和目標(biāo)機(jī)之間的通信。
機(jī)器人實(shí)時(shí)運(yùn)動(dòng)控制實(shí)驗(yàn)教學(xué)平臺(tái)設(shè)計(jì)方案包括硬件系統(tǒng)和軟件系統(tǒng)兩大部分(見圖1)。硬件系統(tǒng)包括控制系統(tǒng)、數(shù)據(jù)采集通信系統(tǒng)和被控對(duì)象,其中,控制系統(tǒng)由宿主機(jī)和目標(biāo)機(jī)構(gòu)成,數(shù)據(jù)采集通信系統(tǒng)為帶有總線接口的板卡,連接目標(biāo)機(jī)和被控對(duì)象,被控對(duì)象為機(jī)器人;軟件系統(tǒng)通過Simulink編寫的相關(guān)程序,依托宿主機(jī)編寫Simulink控制程序后修改相關(guān)參數(shù),然后將程序編譯為可執(zhí)行代碼,通過以太網(wǎng)下載到目標(biāo)機(jī)中。
圖1 平臺(tái)設(shè)計(jì)方案
根據(jù)上述方案搭建硬件系統(tǒng)(見圖2)。宿主機(jī)和目標(biāo)機(jī)通過網(wǎng)線連接,并匹配IP地址。選擇的機(jī)器人具有4個(gè)自由度,可通過CAN總線通訊,臂展1200mm,負(fù)載為5kg。
圖2 硬件系統(tǒng)
為實(shí)現(xiàn)平臺(tái)中目標(biāo)機(jī)與機(jī)器人之間的正常通訊,數(shù)據(jù)采集系統(tǒng)選擇CAN-AC2-PCI型號(hào)數(shù)采集板卡,該板卡有2個(gè)CAN總線接口,可與機(jī)器人進(jìn)行實(shí)時(shí)通訊,板卡帶有PCI接口,能插到目標(biāo)機(jī)的PCI卡槽中。CAN-AC2-PCI板卡及實(shí)物安裝見圖3。
圖3 CAN-AC2-PCI板卡及實(shí)物安裝
實(shí)時(shí)運(yùn)動(dòng)控制平臺(tái)搭建完成后,編寫控制程序。在使用該平臺(tái)時(shí),可選擇Simulink編程環(huán)境,編寫多種控制算法并驗(yàn)證其運(yùn)動(dòng)控制性能。本文選擇常規(guī)PID方法和模糊PID方法作為運(yùn)動(dòng)控制算法。通過對(duì)比兩者之間的控制效果,直觀了解兩種運(yùn)動(dòng)控制方法的差別。
常規(guī)PID的表達(dá)公式為
(1)
式中,u(t)為輸出的控制量;Kp,Ti,Td為固定常系數(shù),由人工調(diào)節(jié)確定最優(yōu)的一組參數(shù),其中,Kp為比例增益系數(shù);Ti為積分時(shí)間常數(shù);Td為微分時(shí)間常數(shù);e(t)為期望值與測(cè)量值之差。
模糊PID方法是在常規(guī)PID方法的基礎(chǔ)上加入模糊控制器,用于解決常規(guī)PID中固定常系數(shù)無法根據(jù)誤差實(shí)時(shí)調(diào)整的問題,其原理見圖4。
圖4 模糊PID控制方法原理
在PID控制器中,初始設(shè)置了3個(gè)固定參數(shù)Kp,Ti和Td。圖中加入的模糊控制器可根據(jù)反饋的實(shí)時(shí)誤差輸出3個(gè)實(shí)時(shí)變化的補(bǔ)償參數(shù)Kpf,Kif和Kdf。借助實(shí)時(shí)變化的補(bǔ)償參數(shù)調(diào)節(jié)PID的系統(tǒng)參數(shù)Kpm,Tim和Tdm。上述參數(shù)之間的關(guān)系可表示為
(2)
由此,基于模糊控制器實(shí)現(xiàn)了PID的參數(shù)自調(diào)整。
根據(jù)上述理論,基于Simulink編寫的控制程序見圖5。圖中包含輸入期望值、數(shù)據(jù)轉(zhuǎn)換模塊、PID控制器、模糊控制器、數(shù)據(jù)發(fā)送單元和數(shù)據(jù)接收單元,其中,輸入期望值為設(shè)定值,數(shù)據(jù)發(fā)送和接收單元需與CAN-AC2-PCI板卡進(jìn)行相關(guān)的CAN通訊信息參數(shù)匹配。
圖5 基于Simulink編寫的控制程序
搭建好硬件和軟件系統(tǒng)后開展機(jī)器人實(shí)時(shí)運(yùn)動(dòng)控制實(shí)驗(yàn)。選擇機(jī)器人的第一關(guān)節(jié)為實(shí)驗(yàn)對(duì)象,機(jī)器人初始角度為0°。選擇正弦階躍信號(hào)作為輸入期望值,期望階躍值為10°。采樣周期設(shè)置為0.01s。選擇常規(guī)PID和模糊PID方法作為運(yùn)動(dòng)控制方法,開展兩種控制方法的性能對(duì)比實(shí)驗(yàn)。
圖6為實(shí)驗(yàn)結(jié)果??梢?,常規(guī)PID和模糊PID均能控制機(jī)器人關(guān)節(jié)到達(dá)期望值。常規(guī)PID使用的時(shí)間約為3.5s,而模糊PID使用的時(shí)間約為3.2s,模糊PID較常規(guī)PID使用時(shí)間縮短了0.3s。兩種控制方法均存在超調(diào)現(xiàn)象,常規(guī)PID的超調(diào)量約為1.1°,模糊PID的超調(diào)量約為0.78°,模糊PID較常規(guī)PID的超調(diào)量減少0.32°。通過上述結(jié)果比較可得,模糊PID方法控制效果優(yōu)于常規(guī)PID方法。
圖6 實(shí)驗(yàn)結(jié)果對(duì)比
基于所開發(fā)的機(jī)器人實(shí)時(shí)運(yùn)動(dòng)控制平臺(tái)采用Simulink編程環(huán)境,可拓展編寫多種機(jī)器人運(yùn)動(dòng)控制程序,并具有編程界面友好、便于快速理解不同控制方法對(duì)機(jī)器人控制性能的影響。
本文開發(fā)了基于Simulink的機(jī)器人實(shí)時(shí)運(yùn)動(dòng)控制平臺(tái),包括硬件系統(tǒng)和軟件系統(tǒng)。選擇PID和模糊PID控制方法,實(shí)現(xiàn)了機(jī)器人關(guān)節(jié)對(duì)期望階躍信號(hào)的軌跡跟蹤運(yùn)動(dòng)控制。結(jié)果表明,模糊PID方法具有更快達(dá)到期望值和更小超調(diào)量的優(yōu)勢(shì),并通過實(shí)驗(yàn)驗(yàn)證了所開發(fā)平臺(tái)的有效性。