• 
    

    
    

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

      ?

      自適應智能循跡車的控制算法研究與實現(xiàn)

      2018-09-12 11:17王喜喜郭俊李雅琴熊倩
      科技創(chuàng)新與應用 2018年22期

      王喜喜 郭俊 李雅琴 熊倩

      摘 要:為了克服傳統(tǒng)循跡車控制算法中參數(shù)固定以及環(huán)境適應性不強的問題,提出了一種基于嵌入式CPU的自適應智能循跡車控制算法。該方法將參數(shù)列表引入到傳統(tǒng)PID控制理論中,在車輛的運行過程中,CPU周期性的讀取外圍傳感器數(shù)據(jù)并計算誤差信息,同時根據(jù)車輛運行狀態(tài),遍歷列表中的PID參數(shù),選取環(huán)境適應性最好的一組作為當前控制參數(shù)。實驗表明,該方法具有較強的環(huán)境適應性,同時大大降低了算法調(diào)試的工作量。

      關鍵詞:STM32;PID算法;差速控制;串行通訊

      中圖分類號:TP391.4 文獻標志碼:A 文章編號:2095-2945(2018)22-0019-03

      Abstract: In order to overcome the problem of fixed parameters and weak environmental adaptability in traditional tracking vehicle control algorithms, an adaptive intelligent tracking vehicle control algorithm based on embedded CPU is proposed. The method introduces the parameter list into the traditional PID control theory. During the running of the vehicle, the CPU periodically reads out the peripheral sensor data and calculates the error information. At the same time, according to the running status of the vehicle, it traverses the PID parameters in the list and select the best environmental adaptability group as the current control parameters. Experiments show that this method has strong environmental adaptability and greatly reduces the workload of algorithm debugging.

      Keywords: STM32; PID algorithm; differential control; serial communication

      1 概述

      近年來,由于國內(nèi)的許多企業(yè)紛紛醞釀建立自動化物流系統(tǒng),作為柔性運輸?shù)睦硐牍ぞ吆蜔o人生產(chǎn)的典型代表,自動導引車得到了越來越多的重視和推廣應用。其研究不斷深入,涉及的領域不斷擴展,其中對導引與定位等運動控制技術的研究一直是導引車研究領域的重點。當前,低成本、小型化的自動導引車研究得到了越來越多的重視,尤其是智能化的導引運動控制,已經(jīng)成為研究領域的熱點。因此對自動導引車的運動控制進行深入研究具有重要的理論和實際意義。南寧職業(yè)技術學院的周文軍在其雙輪驅(qū)動智能小車循跡算法研究中采用PID控制算法讓機器人小車對白條循跡穩(wěn)定,糾偏能力強。但這種算法的PID參數(shù)不易整定,當機器人小車平臺改變后,需要重新整定PID參數(shù)。為了克服傳統(tǒng)循跡車控制算法中參數(shù)固定以及環(huán)境適應性不強的問題,本文提出了一種基于嵌入式CPU的自適應智能循跡車控制算法。該方法將參數(shù)列表引入到傳統(tǒng)PID控制理論中,在車輛的運行過程中,CPU周期性的讀取外圍傳感器數(shù)據(jù)并計算誤差信息,同時根據(jù)車輛運行狀態(tài),遍歷列表中的PID參數(shù),選取環(huán)境適應性最好的一組作為當前控制參數(shù)。

      2 系統(tǒng)描述

      本次設計的智能循跡小車采用四輪驅(qū)動的工作方式,以左右輪差速控制的方式實現(xiàn)轉(zhuǎn)向的智能小車;小車的左側(cè)后輪和右側(cè)后輪分別安裝了編碼器用來實時獲取左右輪的速度,小車前端安裝有用于探測黑色線路的循跡傳感器。

      3 算法設計

      本設計的整個程序大致可分為四大模塊:主程序模塊,定時中斷服務程序模塊,外部中斷服務程序模塊和USART3接收中斷服務程序模塊。其中主程序以及定時中斷服務程序?qū)崿F(xiàn)流程如圖1所示,程序一開始進行初始化,設置時鐘,配置GPIO口,綁定中斷服務程序,然后主程序等待中斷;整個程序的實際工作流程是,每1ms執(zhí)行一次定時中斷服務程序,與此同時,編碼器產(chǎn)生的外部中斷使得外部中斷服務程序被調(diào)用,兩個外部中斷服務程序?qū)蓚€編碼器的中斷進行計數(shù);定時中斷服務程序被調(diào)用時,第1ms給傳感器發(fā)送請求數(shù)據(jù)幀;第2ms根據(jù)兩個編碼器中斷的計數(shù)值計算小車左右輪的實際速度,并將兩個計數(shù)值清零,與此同時,傳感器回傳的數(shù)值給控制器,將產(chǎn)生串口接收中斷,串口接收中斷服務程序?qū)⒈徽{(diào)用來處理接收到的數(shù)據(jù)幀,并提取出數(shù)據(jù)幀中傳感器的狀態(tài)值;第3ms分析接收到的傳感器的狀態(tài)值,并對數(shù)值進行分類處理;第4ms處理分類后的數(shù)值,得到小車偏離黑線的距離,并應用PID算法計算出所有調(diào)整的左右輪的目標速度。第5ms根據(jù)實際速度與目標速度,應用PID算法計算出回傳給電機驅(qū)動的數(shù)值,并通過串口發(fā)送數(shù)據(jù)幀。因此,整個過程總的來說就是控制器每5ms獲得一次傳感器處置和小車左右輪速度,并通過計算來調(diào)整一次左右輪速度。

      3.1 PID算法實現(xiàn)

      循跡小車運動控制屬于剛體運動控制,對控制實時性和穩(wěn)定性要求較高,可以采用PID控制實現(xiàn)較高的控制質(zhì)量。離散化的位置型PID算法的偏差值量化了循跡小車在行駛過程中偏離路線的程度,便于程序?qū)崿F(xiàn)。循跡小車方向的PID控制如圖2虛線上半部分,通過PID算法,改變左右兩側(cè)驅(qū)動輪的速度來修正方向。循跡小車速度的PID控制如圖2下半部分,根據(jù)兩輪實際速度與給定速度,通過PID算法,使速度穩(wěn)定。如圖2所示,將上述兩個PID控制算法串聯(lián)在一起,將主PID的輸出量TargetSpeed作為副PID算法的速度給定量。同步采樣控制調(diào)節(jié)小車方向和小車行駛的速度,使小車在彎曲的線路上既穩(wěn)定又保持高速地行駛。通過實時的位置與速度反饋,提高系統(tǒng)的工作頻率,使振蕩周期減小,調(diào)節(jié)時間縮短,系統(tǒng)的快速性、穩(wěn)定性增強。為了克服傳統(tǒng)PID算法環(huán)境適應性差的問題,本系統(tǒng)在設計與調(diào)試中分別選取了不同的環(huán)境。根據(jù)不同環(huán)境以及不同PID參數(shù)控制下車輛表現(xiàn)出來的性能,記錄得到不同的PID控制參數(shù),并將其制成表格,寫入CPU內(nèi)存中。當車輛進入新的環(huán)境中時,CPU遍歷表中的控制參數(shù),選取環(huán)境適應性最好的一組作為當前控制參數(shù)。

      3.2 循跡模塊的數(shù)據(jù)處理

      循跡模塊以數(shù)字信號輸出,探測到黑線時輸出高電平,對應指示燈亮;反之輸出低電平,對應指示燈滅。7個傳感器感應范圍r=3mm,測得黑線寬度D=17mm,傳感器的間距分別為15mm、17.5mm、15mm、15mm、17.5mm、15mm。對于此次7個傳感器組的布置方式,剔除一些不符和實際的信號組合(例如010 1010 、101 1011等)。得到有效的信號組合16個。其中有14種直線或近似直線行駛的信號組合以及大角度轉(zhuǎn)彎時的兩種情況(1111000和0001111)。如圖3所示(di的長度表示對應第i種情況的移動位置范圍,其中i=1,2,…,13,且di的長度可以實際測量和計算),14種直線或近似直線行駛的信號組合:僅一個指示燈亮(L1,L2,L3,L4,L5,L6,L7),僅兩個相鄰的指示燈亮(L1L2,L2L3,L3L4,L4L5,L5L6,L6L7)以及全滅。小車的實際位置不是一個精確值,可以是某個區(qū)間內(nèi)的任意位置。由小車偏移趨勢決定此刻實際位置,可降低位置波動,使數(shù)據(jù)相對穩(wěn)定,有利于進一步的速度以及方向調(diào)節(jié)系統(tǒng)更加穩(wěn)定。相對上一時刻,小車向右移動,實際位置=此刻區(qū)間的最遠位置,小車向左移動,實際位置=此刻區(qū)間的最近位置,小車保持方向,實際位置=此刻區(qū)間的平均位置(最遠和最近是實際位置波動區(qū)間相對于循跡板正中間位置而言的)。

      對于第14,15,16種情況,即000 0000,111100和0001111的情況,實際位置的確定方法如下:第15種(111 1000)近似于第1種,實際位置=第1種(100 0000)的最遠位置-X;第16種(000 1111)近似于第13種,實際位置=第13種(000 0001)的最遠位置+X;第14種(000 0000),若上一時刻小車偏右,實際位置=等同于第15種的實際值,若上一時刻小車偏左,實際位置=等同于第16種的實際值(參數(shù)X的值很小,可以根據(jù)實際情況調(diào)整)。

      4 硬件設計

      小車整體設計如圖4所示,智能循跡小車由STM32F103控制器核心模塊、傳感器模塊、電機模塊、電機驅(qū)動模塊、測速模塊和電源模塊六大模塊組成。循跡傳感器模塊采用一個7路光電傳感器探測黑色線路,電機模塊采用4個14.5V直流減速電機,PWM方式驅(qū)動控制,電機驅(qū)動模塊采用兩個電機驅(qū)動分別控制智能車左側(cè)兩個輪子的速度和右側(cè)兩個輪子的速度,測速模塊采用兩個334線AB相編碼器,分別測量智能小車左側(cè)后輪的實時速度和右側(cè)后輪的實時速度;電源模塊采用一個7.4V鋰電池給控制器以及傳感器供電,一個14.5V鋰電池驅(qū)動四個電機。

      4.1 主控模塊

      主控模塊使用的是基于 STM32F103的微控制器,智能小車各個模塊與STM32微控制器的具體接線如圖5所示,STM32上的PC0與PC1引腳設置為外部中斷,分別用來響應兩個編碼器A相的中斷信號;PC2與PC3引腳設置為輸入模式,用來接收兩個編碼器B相的電平信號;PB10,PB11,PE14,PE15則分別設置為USART3的接收與發(fā)送端口以及USART3接收使能信號和發(fā)送使能信號;這四個引腳的信號經(jīng)過圖中Digital Servo模塊將發(fā)送信號和接受的信號分時送到串行總線BUS UART上;循跡傳感器以及兩個電機驅(qū)動都掛載到串行總線上與STM32微控制器通訊。

      4.2 循跡模塊與電機驅(qū)動模塊

      循跡模塊由七個紅外反射式傳感器組成,每個傳感器都對應一個電位器,通過調(diào)節(jié)電位器的阻值對循跡板上的七個傳感器的靈敏度進行調(diào)節(jié)。經(jīng)過對電位器多次調(diào)節(jié),使得傳感器距離地面的距離大約6mm時,每個傳感器感應周圍3mm以內(nèi)的黑色膠帶。電機驅(qū)動模塊根據(jù)STM32微控制器傳來的數(shù)據(jù)(-1023~1023)來調(diào)節(jié)PWM占空比,從而來調(diào)整電機的速度,數(shù)據(jù)的正負分別表示電機正轉(zhuǎn)和反轉(zhuǎn)。另外循跡板與電機驅(qū)動都采用串行的方式與STM32微控制器通訊,循跡板的通訊協(xié)議格式與電機驅(qū)動通訊協(xié)議格式相同,都是字頭(0XFF 0XFF)+ID+有效數(shù)據(jù)長度+指令+參數(shù)+校驗和,循跡板的 ID 地址固定為0x00,兩個電機驅(qū)動的ID地址通過軟件分別設置為0x01和0x02,波特率都為 1000000,因此循跡板通過固定一條固定的協(xié)議即可請求 7 個傳感器的狀態(tài),通訊協(xié)議格式具體為FF FF 00 04 02 32 01 C6(請求返回7個傳感器狀態(tài)指令),檢驗 0xC6=~(0x00+0x04+0x02+0x32+0x01);返回協(xié)議為:FF FF 00 03 00 1C D0,校驗 0xD0=~(0x00+0x03+0x00+0x1C),返回值中0X30即為循跡板7個傳感器的狀態(tài)(低7位為有效),0x1C轉(zhuǎn)為二進制為1110000(最高位無效)即傳感器1、2、3、4檢測的白色(從循跡板上方看傳感器從左到右為1~7,分別對應返回值的1~7位)。電機驅(qū)動的協(xié)議相對于循跡板只是指令部分與參數(shù)部分不同,其參數(shù)部分即為-1023~1023之間的16進制數(shù)值。

      4.3 測速模塊

      測速模塊采用兩個334線AB相編碼器,AB相共輸出兩路正交(相位相差90°)脈沖信號。當A相有脈沖產(chǎn)生時,通過檢測B相的電平信號即可判斷電機是正轉(zhuǎn)還是反轉(zhuǎn),另外334線指電機每轉(zhuǎn)一圈,AB相將能分別產(chǎn)生334個脈沖信號,精度高,足夠滿足智能循跡小車的測速要求。

      5 實驗結(jié)果

      經(jīng)測試表明,小車在不同的環(huán)境下,通過遍歷列表中的PID參數(shù),選取環(huán)境適應性最好的一組作為當前控制參數(shù),實現(xiàn)預期循跡功能,沿設定路徑快速穩(wěn)定的完成循跡任務。主要有以下幾個方面的優(yōu)點:左側(cè)兩個輪和右側(cè)兩個輪分別驅(qū)動,以左右輪差速控制的方式實現(xiàn)轉(zhuǎn)向的智能小車;小車的左側(cè)后輪和右側(cè)后輪分別安裝了編碼器用來實時獲取左右輪的速度。將七個光電傳感器的數(shù)字量組合起來將以前只能確定小車偏離黑色線的7個位置增加到14個位置,將傳感器由原來離散性很大的數(shù)據(jù)處理為離散性小的數(shù)據(jù),即將小車的位置偏離黑線的距離應用軟件的方法得到了更加精確更多的數(shù)據(jù)。另外,我們獲得了小車距離黑線的距離后,采用自適應PID串級閉環(huán)控制方式,增加了系統(tǒng)的穩(wěn)定性,增強了小車適應不同環(huán)境的能力;小車自動控制自己的運動狀態(tài),實現(xiàn)了快速穩(wěn)定自動循跡的目的。為了使小車更加智能化,還可為小車擴展避障、復雜線路選擇、自動制動等功能。

      參考文獻:

      [1]盧杉.基于單片機的差速驅(qū)動導引小車運動控制[D].西安理工大學,2010.

      [2]張猛,丁愛國,陳欣歡.基于單片機的智能循跡小車設計[J].山東工業(yè)技術,2017(08):281.

      [3]趙涓涓,杜麒麟,屈明月,等.智能小車的無支路循跡算法設計[J].計算機應用與軟件,2013,30(06):147-149+201.

      [4]STM3210x參考手冊[Z].

      西华县| 广南县| 禄劝| 三江| 勃利县| 喀什市| 平泉县| 陕西省| 酒泉市| 西宁市| 玉门市| 安多县| 兴文县| 乌审旗| 闽清县| 吴忠市| 萝北县| 仪征市| 泰顺县| 泗洪县| 大渡口区| 淮北市| 绥芬河市| 阿荣旗| 鄂尔多斯市| 蒙自县| 铜陵市| 吉首市| 随州市| 伊宁市| 富裕县| 随州市| 承德市| 秦皇岛市| 太和县| 金坛市| 祁连县| 阳东县| 都江堰市| 临泉县| 加查县|