• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      關(guān)于多旋翼式飛行器系統(tǒng)的研究

      2016-07-12 09:16:47周小瑩劉向東周湘淇
      科技視界 2016年6期
      關(guān)鍵詞:PID控制數(shù)據(jù)處理

      周小瑩 劉向東 周湘淇

      【摘 要】本文設(shè)計(jì)的多旋翼式飛行器是基于單片機(jī)控制下,具有一定功能的自主飛行器。重點(diǎn)討論多旋翼飛行器的定高實(shí)現(xiàn)過(guò)程。通過(guò)的對(duì)機(jī)身高度的數(shù)據(jù)采集處理分析,及多旋翼式飛行器的定高算法的設(shè)計(jì),結(jié)合實(shí)際,進(jìn)行研究。

      【關(guān)鍵詞】定高;PID控制;數(shù)據(jù)處理;多旋翼飛行器

      0 引言

      多旋翼飛行器是一種有多個(gè)螺旋槳的飛行器。四旋翼飛行器是其中最常見(jiàn)的一種。主要用于航拍、橋梁和電力線路檢測(cè)、定點(diǎn)巡航、娛樂(lè)等。在大學(xué)生電子設(shè)計(jì)競(jìng)賽中出現(xiàn)了三次關(guān)于自主飛行器的命題,本文就簡(jiǎn)要圍繞自主飛行中的定高飛行展開(kāi)研究。

      由于前人[1]的研究我們也將飛行器分析為一個(gè)非線性高耦合欠控制的系統(tǒng),在建模時(shí)常常忽略外界不穩(wěn)定因素。飛行器的多個(gè)直流無(wú)刷電機(jī)提供機(jī)身的整體升力,由于忽略了多個(gè)旋翼之間的耦合,認(rèn)為整體的升力可以表示為每個(gè)旋翼提供升力之和。并提出了下列模型(圖1):

      1 濾波算法

      在研究定高技術(shù)時(shí),對(duì)高度的采集尤為重要。理論上講單片機(jī)從A/D芯片上采集的信號(hào)就是需要的量化信號(hào),但是由于存在電路的干擾、電源噪聲干擾和電磁干擾,在A/D芯片的模擬輸入信號(hào)上會(huì)疊加干擾信號(hào),為了避免干擾,我們采用軟件濾波的方法,對(duì)超聲波采集的數(shù)據(jù)進(jìn)行處理。

      每50毫秒超聲波模塊采集到的數(shù)據(jù)為inputHig,設(shè)定一個(gè)長(zhǎng)度為10的數(shù)組highall。把每次測(cè)得的數(shù)據(jù)存入數(shù)組,最后輸出的數(shù)值是前十次的測(cè)量值的平均值。主要的濾波算法簡(jiǎn)單易懂,且實(shí)用,滿足我們控制需求。

      ms = millis();

      if (ms > t1) {

      t1 = ms + 50; //service period 50ms

      if (pt.cnt[HIGH]) {

      inputHigh = pt.dt_us[HIGH] * 17e-3;

      hsum=0;

      for(i=0;i<9;i++)

      { hsum+=highall[i+1];

      highall[i]=highall[i+1];

      }

      highall[9]= inputHigh;

      hsum+=inputHigh;

      inputHigh=hsum/10;

      }

      }

      2 定高PI算法

      采用增量式pid算法,具有①算式中不需要累加??刂圃隽喀(k)的確定僅與最近3次的采樣值有關(guān),容易通過(guò)加權(quán)處理獲得比較好的控制效果;②計(jì)算機(jī)每次只輸出控制增量,即對(duì)應(yīng)執(zhí)行機(jī)構(gòu)位置的變化量,故機(jī)器發(fā)生故障時(shí)影響范圍小、不會(huì)嚴(yán)重影響生產(chǎn)過(guò)程的優(yōu)點(diǎn)。p項(xiàng)是的公式是前一次的誤差減去這一次的誤差,由于測(cè)量高度是具有相同的時(shí)間間隔,根據(jù)速度公式v=s/t,可以得出機(jī)體在豎直位置的移動(dòng)速度,我們I項(xiàng)是誤差項(xiàng),重點(diǎn)矯正機(jī)體豎直位置。建立的這樣的數(shù)學(xué)模型,有較好的控制性能。

      herror =SetHigh - inputHigh;

      hvelocity = herror - last1herror;

      last1herror = herror;

      hpidoutput += hp * hvelocity + hi * herror;

      3 定高PID算法

      該算法與上述算法相似,對(duì)微分環(huán)節(jié)做了極大的改進(jìn),具有很強(qiáng)的穩(wěn)定性。算法中BaroAlt是測(cè)得實(shí)際的高度,建立一個(gè)長(zhǎng)度為40的數(shù)組,對(duì)比計(jì)算前20組的高度和后20組的高度的差,反應(yīng)了系統(tǒng)的變化率,能預(yù)見(jiàn)偏差的變化趨勢(shì),因此能超前控制在偏差未形成前進(jìn)行消除。而且算法中設(shè)定了死區(qū),使機(jī)體更趨于平穩(wěn)。

      #define UPDATE_INTERVAL 25000 // 40hz update rate (20hz LPF on acc)

      #define INIT_DELAY 4000000 // 4 sec initialization delay

      #define BARO_TAB_SIZE 40

      if (currentTime < deadLine) return;

      deadLine = currentTime + UPDATE_INTERVAL;

      last = BaroHistTab[BaroHistIdx];

      BaroHistTab[BaroHistIdx] = BaroAlt/10;

      BaroHigh += BaroHistTab[BaroHistIdx];

      index=(BaroHistIdx + (BARO_TAB_SIZE/2))%BARO_TAB_SIZE;

      BaroHigh -= BaroHistTab[index];

      BaroLow += BaroHistTab[index];

      BaroLow -= last;

      BaroHistIdx++;

      if (BaroHistIdx == BARO_TAB_SIZE) BaroHistIdx = 0;

      BaroPID = 0;

      //D

      temp32 = hd*(BaroHigh - BaroLow) / 40;

      BaroPID-=temp32;

      EstAlt = BaroHigh*10/(BARO_TAB_SIZE/2);

      temp32 = AltHold - EstAlt;

      if (abs(temp32) < 10 && abs(BaroPID) < 10) BaroPID = 0;

      //P

      BaroPID += hp*constrain(temp32,(-2)*hp,2*hp)/100;

      BaroPID = constrain(BaroPID,-150,+150); //sum of P and D should be in range 150

      //I

      errorAltitudeI += temp32*hi/50;

      errorAltitudeI = constrain(errorAltitudeI,-30000,30000);

      temp32 = errorAltitudeI / 500; //I in range +/-60

      BaroPID+=temp32;

      4 總結(jié)

      本文主要研究了多旋翼飛行器的定高控制的方法,建立模型,設(shè)計(jì)算法,結(jié)合前人經(jīng)驗(yàn),對(duì)其方法進(jìn)行改進(jìn),完善了多旋翼飛行器的設(shè)計(jì),實(shí)現(xiàn)了定高飛行。

      【參考文獻(xiàn)】

      [1]周湘淇,劉向東.四旋翼飛行器懸??刂频难芯縖J].科技視界,2015-6-15.

      [2]李飛.四旋翼飛行器姿態(tài)自平衡控制系統(tǒng)的研究[J].2013.

      [3]劉麗麗.四旋翼飛行仿真器的建模及控制方法的研究[D].長(zhǎng)沙:中南大學(xué),2009.

      [4]吳中杰.四旋翼飛行器設(shè)計(jì)及其姿態(tài)控制[J].2012.

      [責(zé)任編輯:楊玉潔]

      猜你喜歡
      PID控制數(shù)據(jù)處理
      認(rèn)知診斷缺失數(shù)據(jù)處理方法的比較:零替換、多重插補(bǔ)與極大似然估計(jì)法*
      ILWT-EEMD數(shù)據(jù)處理的ELM滾動(dòng)軸承故障診斷
      內(nèi)??刂圃诨痣姀S主汽溫系統(tǒng)中的應(yīng)用
      《計(jì)算機(jī)測(cè)控技術(shù)》課程中PID控制部分的教學(xué)探討
      常規(guī)PID控制和常規(guī)模糊控制的比較
      一種基于SPWM的逆變電源并聯(lián)運(yùn)行參數(shù)設(shè)計(jì)及控制策略仿真
      鍋爐汽包水位自適應(yīng)模糊控制與仿真
      新型試驗(yàn)電源直流降壓斬波系統(tǒng)的PID控制仿真研究
      科技視界(2016年12期)2016-05-25 12:01:14
      MATLAB在化學(xué)工程與工藝實(shí)驗(yàn)數(shù)據(jù)處理中的應(yīng)用
      Matlab在密立根油滴實(shí)驗(yàn)數(shù)據(jù)處理中的應(yīng)用
      轮台县| 石河子市| 五台县| 肥西县| 安新县| 巴林左旗| 鄂尔多斯市| 昌江| 澎湖县| 巴马| 漳平市| 罗山县| 庆安县| 乌拉特中旗| 咸宁市| 东兰县| 行唐县| 柏乡县| 武威市| 江安县| 陈巴尔虎旗| 城固县| 叙永县| 四会市| 观塘区| 宁河县| 略阳县| 锡林浩特市| 西林县| 洞口县| 乐安县| 精河县| 大埔县| 灵宝市| 永定县| 班戈县| 抚州市| 仁化县| 宁阳县| 赤峰市| 青阳县|