• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于Labview的PID算法在小型水下機器人中的應(yīng)用

    2008-04-24 02:22:20梁富琳,葉家瑋,伍成柏
    中國艦船研究 2008年1期
    關(guān)鍵詞:工具包圖形化航向

    1 引 言

    圖形化編程語言Labview在各種測試系統(tǒng)和控制儀器領(lǐng)域中,已經(jīng)得到很廣泛的應(yīng)用,推動儀器工業(yè)的飛速發(fā)展。Labview開發(fā)環(huán)境使用圖形化編程語言G語言編寫程序,產(chǎn)生的是框圖式程序,直觀形象,它通過交互式圖形化儀器面板提供豐富的控件,在后面板的圖形化編程中封裝了豐富的算法,如提供的數(shù)理統(tǒng)計、信號處理、仿真、IVI儀器驅(qū)動、網(wǎng)絡(luò)通信、數(shù)據(jù)庫管理等模塊,都為軟件開發(fā)帶來了極大的方便。同時,Labview還提供了強大的數(shù)據(jù)采集功能,例如DAQ采集卡可以高速、高精度地采集各種類型的模擬信號,并且還具備高精度的D/A輸出功能,通過計算機可很方便和迅速地對下位機儀器進行快速和高精度的數(shù)據(jù)采集。Labview封裝的PID工具包集成了全面的PID控制算法,可以適合各個領(lǐng)域的高精度控制。PID控制是工業(yè)控制中應(yīng)用最廣泛的控制策略,它算法簡單、魯棒性好、可靠性高,在很多高精度控制的領(lǐng)域下都能達到非常滿意的效果。本文主要是應(yīng)用Labview的PID工具包實現(xiàn)PID算法程序編程,對機器人的運動進行控制,主要的被控對象是航向角與深度。

    2 控制系統(tǒng)的組成及其控制原理

    2.1 小型水下機器人簡介

    本文中提到的水下機器人是一種比較簡樸的機器人,屬于ROV類型(帶電纜)。主要用于在靜水或緩流環(huán)境進行水中探測,包括船底探測、拍照、橋墩探測等。它具有體積小巧、控制靈敏、運動靈活等優(yōu)點。在組成上主要有螺旋槳,提供機器人的運動動力,包括推進和方向控制;其他組成有圖像掃描聲吶、水深定位掃描聲吶、CCD圖像拍攝等。機器人的所有數(shù)據(jù)通過RS 232方式轉(zhuǎn)換成CAN方式進行傳輸,再由CAN轉(zhuǎn)換成RS 232進入計算機,從而可以方便地在計算機上對機器人進行控制。

    2.2 PID控制原理

    PID(Proportional Integral Derivative)控制是從比例、積分和微分三個環(huán)節(jié)實現(xiàn)對對象的控制,它的控制原理[1]如圖1所示。

    PID控制的典型特點是將給定值r(t)與輸出c(t)進行比較得到系統(tǒng)偏差e(t),從而進行比例P、積分I、微分D計算得到輸出控制量u(t),其控制規(guī)律具體可以由下面方程描述:

    式中,Kp是系統(tǒng)增益系數(shù);e(t)是給定與輸出的偏差;Ti是積分時間;Td是微分時間。

    PID的比例P部分按線性規(guī)律反映控制系統(tǒng)偏差的變化,因為,在系統(tǒng)工作時給定與輸出的反饋是在不斷地進行比較,一旦出現(xiàn)偏差,該環(huán)節(jié)可以快速響應(yīng),對系統(tǒng)控制量做出補償,但會一直存在殘差。所以在PID控制中,為了達到較好的效果需引入積分環(huán)節(jié)。該環(huán)節(jié)是屬于無殘差控制,可以消除系統(tǒng)殘差,提高系統(tǒng)無差度,但是會造成系統(tǒng)響應(yīng)過沖,Ti積分時間越大,過沖就越大;而微分環(huán)節(jié)的加入則可以減少由于積分控制所造成的響應(yīng)振蕩,Td越大,效果就越好。微分環(huán)節(jié)起到反映系統(tǒng)誤差變化趨勢的作用,也就是可以預(yù)示誤差,在誤差即將出現(xiàn)時,就使得積分環(huán)節(jié)中能超前起作用,這樣就能有效地減少振蕩[2]。

    2.3 Labview中的PID工具包

    Labview作為一種圖形化的編程語言,可以非常方便用戶對各種算法及其控制方案進行編程。美國NI公司最新推出的Labview8.2開發(fā)環(huán)境中,附帶有豐富的PID子VI,例如:PID VI、PID Advanced VI等;同時還封裝了對偏差輸入的濾波功能VI,如PID Control Input Filter VI。用戶不需自己通過Labview的框圖程序具體編寫PID算法的每一個細節(jié),只要根據(jù)實際情況選擇適合參數(shù)的子VI,把控制系統(tǒng)的反饋量和控制給定量兩個關(guān)鍵參數(shù)連接到PID VI上,簡單地配置好比例、積分、微分等參數(shù),就可以對系統(tǒng)進行有效控制。

    3 控制方案的實現(xiàn)

    3.1 控制程序設(shè)計

    小型水下機器人自身帶有電子羅盤(指南針)和壓力傳感器,能夠?qū)崟r地反饋各自的數(shù)據(jù)。電子羅盤的數(shù)據(jù)為大地坐標(biāo)中指南針的角度,用于指向當(dāng)前機器人的運動方向,而壓力傳感器則是反映機器人在水中受到壓力的大小,可以根據(jù)標(biāo)定換算成其處于水中的深度。其控制原理[3]可以由圖2表示。

    圖2 螺旋槳PID控制

    把機器人反饋的電子羅盤數(shù)據(jù)與控制用戶給定的數(shù)據(jù)作為PID VI的輸入?yún)?shù),然后讓PID VI進行PID的算法計算從而得到控制量,再以指令形式傳輸給機器人。機器人中的CPU電路再把控制量指令通過驅(qū)動電路驅(qū)動螺旋槳,從而完成一個閉環(huán)的控制系統(tǒng)。機器人的運動方向和潛水深度分別是由水平方向上兩個螺旋槳的轉(zhuǎn)向和垂直方向的螺旋槳進行控制。對深度控制量輸出是把壓力傳感器反饋的數(shù)值按標(biāo)定換算成深度(Depth),然后作為PID VI的反饋量輸入,經(jīng)過PID算法進行比例、積分、微分計算后得到輸出控制量。所以,在本文的控制方案中需要通過兩路獨立的Labview框圖程序?qū)C器人進行全方位控制。其面板控制設(shè)計及后臺程序如圖3、圖4所示。

    圖3 面板控制設(shè)計

    圖4 后臺Labview PID程序

    本文中主要用到Labview8.2 PID工具包里面的convert PID parameters VI;PID Advanced VI和PID Setpoint Profile VI等。通過convert PID parameters VI把用戶設(shè)定的PID控制參數(shù)包括系統(tǒng)增益、線性環(huán)節(jié)比例系數(shù)、積分時間、微分時間作為PID Advanced VI的PID gain參數(shù)輸入,從而構(gòu)成完整的PID程序[4,5]。

    3.2 給定與反饋的電子羅盤校正

    PID控制算法的控制量是一個直線型變化的輸出,也就說通過PID計算后的控制量u(t)是一個一維方向上的數(shù)值,從負數(shù)到正數(shù)或者從正數(shù)到負數(shù)的來回變化,理論上可以向數(shù)軸兩端無限變化,不出現(xiàn)周期性的規(guī)律,如圖5所示。

    圖6 航向角變化規(guī)律

    圖5 PID輸出常規(guī)變化規(guī)律

    但機器人的航向角是周期性變化的,如圖6所示,在0°~359°可以認為符合PID輸出的常規(guī)變化規(guī)律。在這個范圍內(nèi),如果給定的Compass-反饋的Compass> 0,則u(t)輸出負數(shù),偏差越大u(t)輸出越大。如果給定Compass-反饋Compass< 0,則u(t)輸出正值,偏差越大輸出越大。如果僅在這個范圍內(nèi)Compass不做任何校正就可以得到有效的控制結(jié)果。但是,機器人的Compass除了在0°~359°內(nèi)變化外,還存在從359°~0°或從0°~359°的躍變過程,稱之為越零變化,這是因為航向角是周期性的。在這種情況下,如果Compass不做校正處理,直接作為PID的輸入,就會得到嚴重錯誤的控制量,從而引起被控對象振蕩。

    為了解決上述航向角周期性變化引起的PID控制不穩(wěn)定情況,本文需要先對反饋的Compass數(shù)值進行校正后再作為PID反饋參數(shù)輸入。如果機器人在PID調(diào)整過程中從順時針方向出現(xiàn)越零點躍變,那么,對反饋的Compass進行加360°處理,使得輸入的反饋參數(shù)是大于360°的數(shù)值;如果機器人的Compass從逆時針方向越零跳變,那就對反饋的Compass進行減360°處理,使輸入反饋參數(shù)是一個小于0的數(shù)值,這樣從PID的角度看,航向角就不呈現(xiàn)周期性。

    另一方面,在深度控制上因為深度Depth的數(shù)值是呈直線型變化,所以只需要直接作為反饋參數(shù)輸入,就能使用PID控制算法。

    4 實驗測試

    對Compass的控制中主要設(shè)定的參數(shù)包括給定值SetPoint、反饋值 Feedback Point、總增益 Proportional、線性環(huán)節(jié)系數(shù)比 Linearity等。當(dāng)增大Proportional時(線性系數(shù)、積分時間、微分時間也隨之增大),機器人的響應(yīng)速度隨之增大,但是整個調(diào)整過程包括每次擺動范圍也都明顯增大,機器人最終穩(wěn)定的時間也隨之延長。如果單獨調(diào)整參數(shù)Linearity時,則每次改變SetPoint時,最初會有比較大的過沖,造成機器人比較大的擺動。但由于PID積分環(huán)節(jié)的作用,所以經(jīng)過幾次比較劇烈的擺動后,機器人會很快地穩(wěn)定下來。通過調(diào)整各個PID參數(shù),可以很直觀觀察到各個參數(shù)對控制效果的影響。圖8所示是在一個約0.6 m/s人工水流的水池里完成試驗的試驗結(jié)果,曲線反映了航向角在某一次調(diào)整時的變化過程,是控制機器人從153°調(diào)整到180°的過程。在本次試驗中,設(shè)定的參數(shù)有Proportion=5,linearity=3,integral=0.05,derivative=0.04。

    圖8 航向角向180°調(diào)整過程

    5 結(jié)束語

    利用Labview進行控制軟件開發(fā)具有很大的靈活性,并且易學(xué)易懂,其軟件界面形象生動。無論是控制領(lǐng)域軟件開發(fā),或者計算機網(wǎng)絡(luò)軟件,甚至數(shù)字信號處理上都極具方便,特別是PID工具包的應(yīng)用,大大縮短了整個控制系統(tǒng)的開發(fā)周期。本文通過其PID工具包,尤其是Labview新版中集成的PID子VI的應(yīng)用,大大簡化了編程的復(fù)雜度。總之,利用Labview進行編程可以非常有效地避免了通過文本語言編寫程序和調(diào)試系統(tǒng)的繁瑣過程。

    [1] 金志強,包啟亮.一種基于LABVIEW的PID控制器設(shè)計的方法[J].微計算機信息,2005(6S):1-2,71.

    [2] 陳積文.一種基于Labview圖形化編程的PID控制算法及其應(yīng)用[J].自動化技術(shù)與應(yīng)用,2007(5):42-45.

    [3] 朱利輝,鄒軒,徐新華.基于Labview的直流電機速度控制系統(tǒng)[J].儀器登記表用戶,2006(1):14-15.

    [4] 陳東,姚成法.基于LABVIEW步進電機PID控制系統(tǒng)的設(shè)計[J].工業(yè)儀表與自動化裝置,2005(1):48-49.

    [5] 唐進元,黃云飛.基于LABVIEW的數(shù)字PID控制器的設(shè)計研究[J].測控技術(shù),2000(4):35-37.

    猜你喜歡
    工具包圖形化航向
    Epigallocatechin-3-gallate exerts antihypertensive effects and improves endothelial function in spontaneously hypertensive rats
    知坐標(biāo),明航向
    考慮幾何限制的航向道模式設(shè)計
    谷歌云與Digital Asset合作推出區(qū)塊鏈工具包
    LKJ自動化測試系統(tǒng)圖形化技術(shù)研究
    基于干擾觀測器的船舶系統(tǒng)航向Backstepping 控制
    電子制作(2017年24期)2017-02-02 07:14:16
    運用MATLAB軟件求解高中數(shù)學(xué)中的線性和非線性規(guī)劃問題
    科技視界(2016年21期)2016-10-17 19:09:05
    運用圖形化聽寫式復(fù)習(xí),構(gòu)建高效地理課堂
    圖形化地區(qū)電網(wǎng)無功優(yōu)化軟件開發(fā)與應(yīng)用
    使命:引領(lǐng)航向與保持穩(wěn)定
    法大研究生(2015年2期)2015-02-27 10:13:55
    邹平县| 普定县| 松桃| 泗洪县| 鹤峰县| 宁远县| 阿克陶县| 林州市| 本溪市| 牙克石市| 金寨县| 固原市| 青龙| 西平县| 大姚县| 仁布县| 仙桃市| 西和县| 呼图壁县| 娄底市| 许昌市| 辽阳县| 天全县| 揭东县| 兴仁县| 德格县| 新巴尔虎左旗| 阿鲁科尔沁旗| 岗巴县| 舟曲县| 弋阳县| 清徐县| 克山县| 宁城县| 房产| 朔州市| 白水县| 万州区| 吴桥县| 弥渡县| 公主岭市|