新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于16位單片機MC9S12DG128的智能車 控制系統設計與實現

        基于16位單片機MC9S12DG128的智能車 控制系統設計與實現

        作者: 時間:2009-12-09 來源:網絡 收藏

        3 軟件設計
        本智能車系統的程序結構如圖5所示。這是一個兩層的分級系統。底層包括“轉向控制系統”和“車速控制系統”,上層主控程序則可通過改變底層控制系統的設定值、控制參數和約束條件,來對整個控制系統進行調度。設計這種分層結構的控制系統是參照了集散控制系統DCS的結構特點,程序各部分功能明確、結構清晰,便于調試和維護。為了調試方便,同時在主控程序中添加了無線信道的MODBUS通訊協議,因而對智能車行駛參數的監視和調整提供了很大的便利。

        本文引用地址:http://www.104case.com/article/173539.htm

        本系統軟件所實現的功能主要是初始化、數據采集和濾波處理、道路識別、電機控制和舵機控制等。其中初始化主要是設置系統默認參數。其次是數據采集及濾波處理。為了盡量減少引入的純滯后時間,本文提出了一種獨具創新性的視頻信號采集方法。即用提供的SPI口直接讀取經過二值化處理的視頻信號。由于大賽規則中指定了賽道上黑色引導線的寬度為2.5厘米,故攝像頭中采集到的引導線寬度在正常情況下也應當落在一定范圍內。設計時可以用實驗的方法測得引導線對應的像素寬度,然后在濾波程序中對采集到的引導線線寬進行控制,如果超出正常范圍即認為是無效數據。
        實驗證明,這種方法可以有效地濾除干擾。智能車分層控制系統的核心是賽道的識別。實際測試發現,由于CMOS攝像頭的可視范圍比較小而且視野范圍呈梯形,且在快速運動中經常發生賽道部分可能全部脫離視野范圍的情況,給賽道識別帶來很大的困難,因此,完整賽道識別模式幾乎是不可能的。為了簡化問題,本方案只識別賽道中的直線段,并根據直線段的數量和長度將賽道分割成不同的區域,然后在一個區域中對控制參數進行優化。
        至于電機控制。本系統是用通過接收旋轉編碼器來檢測智能車后輪轉動所產生的脈沖數,然后采用位置式PID控制算法的遞推形式對直流電機的轉速進行快速準確地控制。位置式PID控制算法的遞推形式如下:
        △u(k)=Kp[e(k)-e(k-1)]+Kixe(k)+Kd[e(k)-2e(k-1)+e(k-2)],u(k)=u(k-1)+△u(k)
        式中:u(k)為k時刻控制器的輸出;e(k)為k時刻的偏差;Kp、Ki、Kd分別為位置式PID控制算法的比例系數、積分常數和微分常數。舵機控制也是用通過CMOS攝像頭來檢測路徑信息,然后采用不完全微分PD控制算法來控制舵機的轉角,從而實現路徑跟蹤。


        4 結束語
        本文介紹了一種智能車控制系統的設計與實現方法。通過大量實驗測試證明,該智能車能快速平穩地在制作的賽道上跟蹤黑色引導線并行駛,而且尋跡效果良好,控制響應速度快,動態性能良好,穩態誤差小,系統的穩定性和抗干擾能力強。用本設計制作的智能車在2008年舉辦的全國大學生“飛思卡爾杯”智能汽車競賽中取得了華北賽區二等獎,充分證明了該設計方案的有效性和穩定性。


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 乐东| 承德市| 扶绥县| 黎城县| 灵武市| 蚌埠市| 酒泉市| 山东| 无为县| 冷水江市| 高台县| 易门县| 遵义市| 德庆县| 十堰市| 涡阳县| 牙克石市| 永康市| 新安县| 竹山县| 鄂托克前旗| 乌拉特后旗| 连南| 遂川县| 房产| 黑河市| 平安县| 抚松县| 漯河市| 阿合奇县| 穆棱市| 修文县| 武定县| 娱乐| 屏东市| 呼玛县| 桐庐县| 杭锦旗| 翁牛特旗| 榆社县| 襄垣县|