




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第一屆 “飛思卡爾” 杯全國大學(xué)生智矣w汽車邀請賽技術(shù)報告附錄b基于ccd圖像的模型小車轉(zhuǎn)向模糊控制關(guān)于技術(shù)報告和研究論文使用授權(quán)的說明本人完全了解第一屆“飛思卡爾”杯全國大學(xué)生智能汽車邀請賽關(guān)保留、 使用技術(shù)報告和研究論文的規(guī)定,hp:參賽作品著作權(quán)歸參賽者本人,比賽組 委會和飛思卡爾半導(dǎo)體公司可以在相關(guān)主頁上收錄并公開參賽作品的設(shè)計方 案、技術(shù)報告以及參賽模型車的視頻、圖像資料,并將相關(guān)內(nèi)容編纂收錄在組 委會出版論文集中。參賽隊員簽名:帶隊教師簽名:日期:目錄第一章引言1第二章模型車系統(tǒng)方案概述12. 1總體思路12.2設(shè)計方案2第三章模型車系統(tǒng)的電路設(shè)計53. 1系統(tǒng)便件電路的基本組成部
2、分53.2主要單元電路的設(shè)計63.2.1電源部分的單元電路設(shè)計63.2.2傳感器檢測部分的單元電路設(shè)計73.2.3智能控制部分的單元電路設(shè)計7第四章 模型車的安裝及改裝制作94. 1模型車的安裝94. 2模型車的改裝9第五章模型車系統(tǒng)的軟件設(shè)計105. 1 軟件主流程105.2小車的狀態(tài)信息檢測115. 3轉(zhuǎn)向控制算法13第六章模型車系統(tǒng)的調(diào)試14第七章結(jié)論16參考文獻16附錄a部分程序源代碼17附錄b基于ccd圖像的模型小車轉(zhuǎn)向模糊控制24第一章引言在第一屆“飛思卡爾”杯全國大學(xué)生智能車比賽屮,需要制作一個以 mc9s12dg128單片機(下文簡稱s12)為核心控制單元并可以自主識別路徑的模
3、 型賽車進行比賽。賽道底色為片色,標有黑色中心線。如何準確識別道路屮心 線參數(shù)(位置、角度、曲率等),計算出賽車與道路中心線的相對位置與相對角 度,是整個控制系統(tǒng)屮的關(guān)鍵。為此,本系統(tǒng)選用面陣ccd作為路面信息檢 測的傳感器,通過對ccd圖像傳感器所攝取的路面圖像進行信息處理獲得路徑 參數(shù)??刂撇呗圆扇×四:刂?,充分利用s12單片機內(nèi)部的模糊指令。第二章模型車系統(tǒng)方案概述2.1總體思路使用面陣ccd進行賽道參數(shù)檢測的方案,充分利用s12單片機內(nèi)部硬件資 源ad模塊,直接采集ccd輸出的模擬信號,可以獲得滿足參數(shù)檢測需要的圖 像,計算出賽道參數(shù),進而完成路面信息檢測。利用電位器測得舵機轉(zhuǎn)向,編
4、 碼器測得車速,為s12單片機控制提供有效的小車狀態(tài)量:轉(zhuǎn)向與車速;控制 策略采用了兩種控制方法:基于路徑偏差、車模姿態(tài)的比例微分+預(yù)瞄控制;多 維模糊控制。并充分利用s12單片機內(nèi)部的模糊指令,簡化了軟件設(shè)計,提高 了運行速度。根據(jù)設(shè)計要求,系統(tǒng)可總體分為電源管理部分、控制部分、信號檢測部分 和通訊及調(diào)試部分。其屮控制部分包括:控制器模塊、驅(qū)動電機模塊、舵機轉(zhuǎn) 向模塊。信號檢測部分包括:道路信息檢測模塊、方向角檢測模塊、速度檢測 模塊。各模塊的功能關(guān)系、邏輯關(guān)系如下:道路信息檢測模塊為控制器模塊獲取 路徑參數(shù),提供小車與跑道的位置信息;控制器模塊則根據(jù)控制策略對驅(qū)動電 機模塊和舵機轉(zhuǎn)向模塊輸
5、出合適的控制信號;而方向角檢測模塊與速度檢測模 塊測得描述小車運行的狀態(tài)量:舵機轉(zhuǎn)動的方向與角度、小車后輪的轉(zhuǎn)速,并 反饋給控制器模塊;通訊及調(diào)試部分用于在線與控制器通訊并調(diào)整控制器的有 關(guān)參數(shù);電源管理模塊為各模供電。系統(tǒng)的方框圖如圖1.1所示。圖2.1系統(tǒng)方框圖2.2設(shè)計方案各模塊的設(shè)計如下:1)控制器模塊控制器主要用于各個傳感器信號的接收和處理、控制小車舵機轉(zhuǎn)向與驅(qū)動 電機速度等。該模塊的核心是s12單片機。2)驅(qū)動電機及轉(zhuǎn)向舵機驅(qū)動模塊驅(qū)動電機及舵機控制均采用s12單片機的pwm驅(qū)動方式。其中,直流驅(qū)動 電機采用飛思卡爾公司的電機驅(qū)動芯片mc33886o3)路面信息檢測模塊路面信息檢測
6、模塊要能夠?qū)崿F(xiàn)檢測路徑參數(shù)。檢測路徑傳感器采用ccd圖 像傳感器。普通ccd傳感器圖像分辨率都在300線z上,遠大于光電管陣列。 通過鏡頭,可以將車模前方很遠的道路圖像映射到ccd器件屮,從而得到車模 前方很大范圍內(nèi)的道路信息。對圖像屮的道路參數(shù)進行檢測,不僅可以識別道 路的中心位置,同時還可以獲得道路的方向、曲率等信息。利用ccd器件,通 過圖像信息處理的方式得到道路信息,可以有效進行車模運動控制,提高路徑 跟蹤精度和車模運行速度。4)方向角檢測模塊采用電位器檢測舵機的轉(zhuǎn)角與轉(zhuǎn)向。電位器選用了口本sakae精密單圈線 繞電位器,該電位器主要的有關(guān)參數(shù)如表1.1所示。表2. 1電位器的主要參數(shù)
7、封裝阻值功率機械行程重量壽命軸套安裝200 q0. 5w360° (連續(xù)旋轉(zhuǎn))30g1, 000, 000 轉(zhuǎn)電路連接簡單,使用方便。通過電位器把舵機的轉(zhuǎn)角與轉(zhuǎn)向變成模擬的電壓 信號,經(jīng)單片機內(nèi)的adc采集,可以得出較精確的數(shù)值。5)速度檢測模塊該模塊釆用編碼器檢測小車的速度。編碼器選用了日本ses-17編碼器。該 編碼器的主要參數(shù)如表1.2所示。表2.2編碼器的主要參數(shù)電源電壓電流消耗輸出脈沖數(shù)輸出相輸出波形最大允許旋轉(zhuǎn)速度許可載荷起動扭矩相位差重量dc5v±30ma200a,b相近似a、b相60001.90.3 x20g10%(led:正弦差90。/minn103nm2
8、0ma)波該編碼器為增量式編碼器,輸出波形為近似正弦波,但通過比較器方便獲得 脈沖信號,輸入單片機的增強型捕捉功能的定時器端口即可以算得脈沖數(shù)。6)通訊及調(diào)試部分為了方便在線調(diào)試智能小車,在組委會提供的嵌入式單片機開發(fā)調(diào)試接口 模塊bdm、codewarrior基礎(chǔ)乞上,該部分增加了無線串口通訊模塊,并利用vb 軟件在pc機進行相關(guān)的串口編程。7)電源管理部分電源管理主要穩(wěn)壓與升壓兩部分。智能車系統(tǒng)根據(jù)各部件正常工作的需要, 對配發(fā)的標準車模用7.2v 2000mah ni-cd蓄電池進行電壓調(diào)節(jié)。其屮,單片機 系統(tǒng)、方向角檢測模塊、速度檢測模塊需要5v電壓,路面信息檢測的視頻分離 芯片lm1
9、881工作電壓范圍5v到12v, ccd攝像頭工作電壓為12v。伺服驅(qū)動 電機工作電壓范圍4.8v到6v,直流驅(qū)動屯機可以使用7.2v 2000mah ni-cd蓄 電池直接供電。所以系統(tǒng)的電壓調(diào)節(jié)如圖所示。圖2. 2系統(tǒng)電壓調(diào)節(jié)圖第三章模型車系統(tǒng)的電路設(shè)計3.1系統(tǒng)硬件電路的組成基于設(shè)計方案的分析,系統(tǒng)硬件上可分為電源管理、傳感器檢測、智能控 制三大部分。圖3.1系統(tǒng)電路的碩件結(jié)構(gòu)電源管理部分:系統(tǒng)采用了芯片lm25755.0、lm2575-adj> max632分別 進行5v、6v、12v的電壓調(diào)節(jié)。電源管理部分包括3個單元電路:5v穩(wěn)壓電 路、6v穩(wěn)壓電路、12v升壓電路。傳感器檢
10、測部分:系統(tǒng)采用了 ccd圖像傳感器、電位器、增量式編碼器等 三種類型的傳感器,這些傳感器將檢測到的一系列信息(例如路面狀況、舵機 的轉(zhuǎn)向、車速的大?。┺D(zhuǎn)變?yōu)閱纹瑱C可辨認的電信號。傳感器數(shù)量為:3個傳感 器,其中包括ccd圖像傳感器1個,電位器1個,編碼器1個。傳感器檢測部 分主要包括3個單元電路:ccd視頻信號分離電路、方向角檢測電路、速度檢 測電路智能控制部分:系統(tǒng)中單片機根據(jù)由傳感器交換輸出的信號,進行處理、 邏輯判斷,控制小車的驅(qū)動電機及伺服驅(qū)動電機,從而完成對小車自動尋跡進 行智能控制任務(wù)。智能控制部分包括3個單元電路:單片機端口資源配置、電 池輸出電壓檢測電路、驅(qū)動電機電路3.2主
11、要單元電路的設(shè)計3. 2.1電源部分的單元電路設(shè)計以下為電源部分的電路圖:1) 5v穩(wěn)壓電路u5lm2575 5.0v圖3.2 5v穩(wěn)壓電路圖2) 6v穩(wěn)壓電路3) 12v升壓電路330uh37680k100uf "t*c18_0 1ufgnd圖3.412v升壓電路圖3. 2.2傳感器檢測部分的單元電路設(shè)計以下為傳感器檢測部分的電路圖1)ccd視頻分離電路12vc200.1uf圖3.5 ccd視頻分離電路圖3)方向角檢測電路vccan1j8servo_te$tgnd方向角檢測電路圖4)速度檢測電路圖3.6圖3.7速度檢測電路圖3. 2.3智能控制部分的單元電路設(shè)計1)本設(shè)計采用組委會
12、提供的s12電路板,單片機端口資源配置如下: ad輸入端口: ano輸入視頻模擬信號video;an1輸入電位器模擬電壓信號;外部屮斷口 irq :輸入視頻行同步信號cs;數(shù)字i/o 口:portao輸入奇偶場信號0/e;porta 1 輸入 mc33886 的 fs (見圖 3. 9);porta3輸入電池輸出屯壓檢測模塊lm311的output (見圖3.8);p0rta6 輸出 mc33886 的 d1 端口;porta7 輸出 mc33886 的 d2 端口;portto輸入速度檢測模塊lm311的output (見圖3. 7)pwm輸出端口:pwm2輸出電機控制信號;pwm5輸出伺服
13、電機控制信號。2)電池輸出電壓檢測電路rk48rft50qzo1cokgmd圖3.8電池輸出電壓檢測電路圖3)電機驅(qū)動電路與dv* 齊out) ovt1 dnc pgwd pqid16chijp3pa720亙 i?j2uotofj41315it2)圖3.9驅(qū)動電機電路圖第四章 模型車的安裝及改裝制作4.1模型車的安裝按照使用說明書所述步驟,模型車的安裝主要有安裝舵機、調(diào)整連桿的機械 結(jié)構(gòu)及改善驅(qū)動電機與后輪減速齒的嚙合。4. 2模型車的改裝制作改裝制作包括傳感器檢測部分中傳感器的設(shè)計安裝、主電路的定位。其中, 傳感器的安裝包括4部分安裝環(huán)節(jié):ccd攝像頭、光電管、檢測舵機轉(zhuǎn)向電位 器和檢測驅(qū)動
14、電機編碼器的固定安裝。ccd攝像頭的固定安裝主要是設(shè)計與制作一個基座架與移件架相配合的支架。 ccd支架具體安裝分別如圖4.1所示;電位器安裝則在底盤加鉆一個3mm的定 位孔。固定于模型車的前部,通過齒輪嚙合將電位器與舵機連接關(guān)系。具體安 裝如圖4.2所示。圖4.1 ccd支架安裝圖圖4.2電位器具體安裝圖編碼器安裝則在編碼器的連軸固定一個與小車差速輪相配合的小齒輪,固定于 模型車的后部。具體安裝如圖4.3所示;主電路的定位則在制作pcb板時設(shè)計 四個定位孔,用于安裝在模型車的支架上。具體定位如圖4.4所示。圖4.3編碼器具體安裝圖4.4電路板的固定圖第五章模型車系統(tǒng)的軟件設(shè)計系統(tǒng)的軟件設(shè)計包
15、括小車的狀態(tài)信息檢測、控制算法和執(zhí)行控制三人部分。 其屮,狀態(tài)信息檢測部分包括道路信息檢測、速度檢測、方向角檢測和電池輸 出電壓檢測。道路信息檢測由ccd攝像頭視頻信號采集和處理兩部分組成。涉 及mc9s12dg128的atd模塊、ect模塊、pwm模塊、外部屮斷等的使用。開發(fā)工 具是mctrowerks的code warrior ide v3. 1編譯器,主要用c語言進行代碼的 編寫,模糊控制算法用匯編語言編寫。調(diào)試工具使用清華大學(xué)摩托羅拉mcu應(yīng) 用開發(fā)中心的dbm調(diào)試模塊。5. 1軟件主流程軟件的運行主流程是:采集程序在外部屮斷服務(wù)程序屮交替對ccd攝像頭的 奇偶場視頻信號進行采集,主程
16、序交替的對數(shù)據(jù)進行處理和計算、給出控制量, 控制周期為20毫秒。主程序檢測到完成一場采集數(shù)據(jù)準備好標志后,對相應(yīng)的數(shù)據(jù)進行處理并計 算控制量,控制舵機和驅(qū)動電機動作,然后清除數(shù)據(jù)準備好標志,同時等待下 一場數(shù)據(jù)的到來。圖5. 1軟件主流程5. 2小車的狀態(tài)信息檢測1) ccd攝像頭視頻信號采集視頻信號經(jīng)lm1881芯片分離出同步信號后,其行同步信號接到 mc9s12dg128的外部中斷,故在外部中斷服務(wù)程序中需要啟動ad進行信號采集。 視頻信號相對一般的單片機來說是頻率很高的信號,一行視頻信號的吋間僅為 64微秒,在ad超頻的情況下mc9s12dg128對一行視頻信號可以采集到二十多個 點,為
17、了增加路徑的橫向檢測精度,木方案將ccd攝像頭的位置順時針旋轉(zhuǎn)了 90度,這樣需要對一場的數(shù)據(jù)進行保存,且完成一場的采樣時間需要20毫秒?yún)?間,在橫向方向上間隔取一場的64個行信號,即約每4行只采集一行的信號組 成一場數(shù)據(jù),1/4的時間用于對視頻信號進行采集,另外3/4的時間留給主程序 使用。為了提高采集速度,在需要進行采集的行的中斷服務(wù)程序采用等待方式連續(xù) 對視頻信號進行采集。完成一場采集后,設(shè)置一場采集數(shù)據(jù)準備好標志,然后 進入下一場的釆集,根據(jù)奇偶場的不同,下一場采集的數(shù)據(jù)放在另一存儲空間。 外部中斷服務(wù)程序的流程圖如圖2所示,其中流程略去中斷現(xiàn)場保存和恢復(fù)環(huán) 節(jié),因為這些工作編譯器的p
18、rocessor expert b經(jīng)做了。返回進入外部中斷圖5.2外部中斷服務(wù)程序2)圖像信息提取經(jīng)ccd采集到的圖像是一幅21x64的灰度圖像,其中包含車與跑道的偏距、 偏角和跑道曲率等信息。圖像的灰度與閾值比較判斷像素的黑白,采用重心法 計算21個縱向位置的橫向偏差。因為縱向位置可能出現(xiàn)全白的情況,所以在保 存偏差的同時保存縱向位置的行號。取黑線上兩點可以求得跑道和小車正向的大致斜率,取黑線上三點可以求得 跑道的大致曲率。3)速度檢測速度的檢測采用增量式編碼器,小車后輪每轉(zhuǎn)動一圈,編碼器輸出400個脈 沖。利用ect模塊的脈沖累加寄存器pa01和定時中斷每隔20毫秒將脈沖記數(shù)鎖存在脈沖累鎖
19、存器pa01h,由于速度是一個相對較慢變的量,故在每個控制 周期期間將pa01h的值看成是該20個毫秒小車前進的路程,此值與該20毫秒內(nèi)平均速度的關(guān)系是:pao1h400x7txd20/ns,(其中d為車輪直徑,約為5.4cmo)公式14)方向角檢測方向角的測量采用一低起動扭矩的電位器與舵機的轉(zhuǎn)軸經(jīng)齒輪嚙合進行檢 測,根據(jù)電位的輸出電壓判斷當(dāng)前舵機的轉(zhuǎn)角位置,電壓的測量用atd模塊的 通道an1,在沒采集完ccd圖像的一場后啟動ad對其進行一次檢測。5)電池輸出電壓檢測電池的輸出電壓進電位器分壓后和參考電壓比較,比較器lm311的輸出接 到porta3管腳,在每一控制周期對porta3 口狀態(tài)
20、進行判斷,當(dāng)其為低電平 時,說明電壓低于電池輸出電壓低于6v,程序通過控制led的閃爍進行提示。5. 3轉(zhuǎn)向控制算法模型小車系統(tǒng)是一個多數(shù)入多輸出的隨動控制系統(tǒng),若以地面為參考坐標, 小車的輸入為跑道位置和形狀,輸出是小車的位置和速度,其動力學(xué)模型比較 復(fù)雜,對小車建立精確的模型比較困難。為了簡化問題和進行有效的控制,以小車作為參考系,采用模糊控制方法, 將人駕駛車輛的經(jīng)驗與策略融進模糊算法當(dāng)中。模糊控制是建立在模糊集合論基礎(chǔ)上的一種基于語言規(guī)則與模糊推理的控 制理論,它避免了精密模型的建造過程,同時避免了精密地估計模型中各種參 數(shù)的過程,對于多變量、非線性、時變的系統(tǒng),模糊控制方法可能會獲得
21、令人 意外的良好效果??刂品桨敢唬阂宰钸h的黑點偏差和偏差變化率作為模糊控制的輸入,考慮到小車在直道和 彎道的不同,舵機的控制量由下式的三項組成。u二 1500+wx+wl+wr公式 2u為控制舵機的pwm脈寬,單位是mso 1500ms對應(yīng)舵機打到正中方向。wx為以最遠黑點的橫向偏差和偏差變化率為輸入的模糊輸出,主要作用于 直道情況。wl為以最遠黑點的縱向位置和變化率為輸入的模糊輸出,主要作用于彎道 情況。wr與曲率有關(guān),主要作用于彎道情況。詳見附錄b??刂品桨付河捎赾cd攝像頭的圖像是經(jīng)過視頻信號采集到的,得到的圖像數(shù)據(jù)是20ms 以前的圖像,如果只按20ms以前的圖像計算控制量,小車速度
22、越快,20ms內(nèi) 小車走過的路程就越遠,計算誤差就會越大。這就限制了小車速度的提高。為 了解決這個問題,將20ms以前圖像、20ms走過的路程和舵機方向作為模糊輸 入,計算控制量。方案一中的模糊控制算法都是兩維的,規(guī)則容易確定。方案二屮的輸入較多, 規(guī)則的總結(jié)較為困難,目前尚在嘗試當(dāng)屮。3.驅(qū)動電機的控制電機的控制目的是要獲得需要的小車速度,主要包括加、減速和保速三種情 況。為了簡化速度控制,可以設(shè)定大、屮、小三檔pwm控制輸入的平均電壓, 采用開環(huán)速度控制,在啟動時先用小檔,啟動后轉(zhuǎn)入中檔或大檔。在直道需要 加速的時候用大檔,進入彎到前該屮檔,適當(dāng)減速。第六章模型車系統(tǒng)的調(diào)試在硬件實現(xiàn)的基礎(chǔ)
23、上,根據(jù)該系統(tǒng)的軟件設(shè)計,模型車的調(diào)試包括:ccd 攝像頭視頻信號采集和處理調(diào)試、小車的轉(zhuǎn)向與速度控制調(diào)試兩大部分。調(diào)試 所用的模擬跑道形狀、大小依照韓國2004年智能車比賽跑道而設(shè)計。為了方便調(diào)試,在碩件上增加了無線串口通訊模塊,利用vb開發(fā)平臺在pc 機開發(fā)基于windows的實驗調(diào)試軟件,可以在pc機上獲得單片機采集到的ccd 圖像數(shù)據(jù),直觀地顯示出來,同時可以方便的對圖像進行必要的分析。小車的 轉(zhuǎn)向與速度控制的實時數(shù)據(jù)也可以傳到pc機,方便對小車的性能進行分析。vb 調(diào)試軟件主要界而如圖6.1、圖6.2所示。圖6.1 ccd攝像頭視頻信號采集界面小車動態(tài)轉(zhuǎn)性測試設(shè)定值:罰 習(xí)開始停止測
24、傭差|測曲率測速度圖6.2小車動態(tài)測試界面第七章結(jié)論小車改裝后的基本參數(shù)如下表所示:表7.1小車改裝后的基本參數(shù)總體長度寬度高度電路功耗電容傳感器傳感器伺服電機重量l/mmw/mmh/mm(屯機部容量種類個數(shù)數(shù)(車模的m/g分除外)c/ uf/種/個電機及舵p/w機除外)/個11143301602085.761790.7330模型車系統(tǒng)經(jīng)硬件電路的制作、單片機程序的編寫、用軟件仿真和控制算 法以指導(dǎo)實驗,再通過長時間的實驗、調(diào)試,實現(xiàn)了智能小車的自動尋跡行駛。 模型小車在模擬賽道上行駛平穩(wěn),轉(zhuǎn)彎平滑。對ccd傳感器釆用順時針旋轉(zhuǎn)90度的安裝方法,可以釆集點數(shù)為64x21的ccd灰度圖像。小車的
25、路面信息檢測精度可達到2ii叫 控制周期為20mso存在問題是:道路信息檢測速率受到限制,檢測圖像的獲得有20ms延時。 為了解決這個問題,可根據(jù)獲得的有20ms時延的圖像、20ms走過的路程和舵 機方向估計當(dāng)前小車的狀態(tài),然后在根據(jù)小車當(dāng)前的狀態(tài)給出控制量,但是這 樣增加了問題的復(fù)雜性,有待進一步研究。參考文獻1 卓晴,王b2,王磊 基于面陣ccd路徑參數(shù)檢測方法2006 3月2 第一屆“飛思卡爾”杯全國大學(xué)生智能車邀請賽比賽規(guī)則,2005mc92s12dg128技術(shù)手冊;4 黃開勝金華民蔣狄南韓國智能模型車技術(shù)方案分析電子產(chǎn)品世界2006 3月5 邵貝貝.單片機嵌入式應(yīng)用的在線開發(fā)方法.清
26、華大學(xué)出版社。2004.10(日)安部正人著.陳辛波譯.汽車的運動和操縱.機械工業(yè)出版社。1998.107 伍曉宇.辛勇.c/c+ +語言與研究開發(fā)實踐.航空工業(yè)出版社。19998 龔建偉 熊光明.visual c+/turbo 0串口通信編程實踐.電子工業(yè)出版社。2005.69 楊素行模擬電子技術(shù)基礎(chǔ)簡明教程.高等教育出版社。1998.10附錄a部分程序源代碼主程序:文件ccd.ctrl. c#i nciude#include#inciude #inelude #i nciude#inelude#inciude #inelude #i nciude#inelude#inciude #inel
27、ude“cpu. h“ "events. h" "pwm8. hn hbit1. h" ”bit2. h“ “as1.h“ “pulsl.h“ nbit3.h" hpwm9. h" ,elnt1.hh “ad2. h“ hbit4. h" hti1.hh#inciude /* inciude shared moduies, wh i ch are used for who ie project */ #inciude#inelude#inciude“pe_types. h“ npe_error. h" “pe_co
28、nst. h" hio_map. h”#i nciude#i nciude#i nciude"ccd.h""test_speed.h"extern void fuzzy (void);extern byte current,ins1, current,ins2, c0g_0ut; void ma i n(void)pe_i ow_i eve l_i n i t ();status=wait;image_ready 二 false;first_int二true; row_cur=0;del_x_bu仁27;elnt1_enable() ;/允許外
29、部中斷runing二false;speed二5;measure_mode = measure_speed;bit1_putval (1); / stop the motor , pa6=1 w二1500;/v_set=125;v_e1=0;v_e2二0;eio;/開中斷ut二80;for (:;)whi ie(!image_ready);if (status!=wait)elnt1_disable() ;/關(guān)閉外部中斷if (status二二sample) status=wait;i f (status=stop) if (status=start)i f (status i f (statu
30、s i f (status i f (status i f (status i f (statussend)measure measure measure measuremeasurestop ();send data ();/傳采樣數(shù)據(jù)stop (); start ();關(guān)閉電機/啟動電機send ();speed) measure_mode 二 measure_speed;dx)measure_mode=measure_dx;dl)measure_mode=measure_dl;dq)measure_mode二measure_dq;dr)measure_mode=measure_dr;im
31、age_ready 二 false;firstnt二true;elnt1_enable (); cont i nue;bit4_putval (1); control ();speed_ctri ();/ as1_sendchar(byte)v_cur); b i t4_putvai (0);imageready = false;) "外部中斷服務(wù)程序:vo i d ei nt1_0ni nterrupt (vo i d) "/* pi ace your elntl interrupt procedure body here */ if (firstnt)first_int
32、=false;row_started=false;pre_odd_even=bit3_getvai ();return;eise i f (row_started)if (row_x<3)row_x +=1;return;row_x=0;i f (pre_odd_even=o) atd0ctl5 = 144;for(co i_cur=-col_start;co i_cur<c0l;co i_cur+)while(!atdostato_scf);atd0ctl5 = 144;i f (col_cur<0) cont inue;datalrow_curcol_cur= atdod
33、rol;atd0ctl5 = 144;for(co i_cur=-col_start;col_cur<c0l;col_cur+) -while(!atdostato_scf);atd0ctl5 = 144;i f (col_cur0) cont inue;data2row_curcol_cur= atdodrol;row_cur+=1;if (row_curr0w)odd_even_fiag = pre_odd_even; firstnt二true;image_ready=true;atd0ctl5 二 145;while(!atdostato_scf);angle=atd0dr0l;r
34、eturn;else if (pre_odd_even!=bit3_getvai() row_started=true; pre_odd_even=b i t3_getvai ();row x=0;row_cur=0; _控制算法程序:ccd.cvoid control (void)n 二0;i f (odd_even_fiag二二0)for(x=0;x<valid_c0l;x+)rx=0;nx=0;for(y=row_start;y<valid_r0w+r0w_start;y+) if (datal y x<level)rx=rx+y;nx +=1;if (nx!=0)dx
35、n二rx/nx;dln=x+1;n+=1 ;e i sefor(x二0;x<valid_c0l;x+)rx=0;nx 二0;for(y二rovlstart;y<valid_r0w+r0w_start;y+) i f (data2 y x <level)rx=rx+y; nx +=1;if (nx!=o)dxn二rx/nx; dln二x+1; n+=;if (n=0) return;de i_x=dx0-r0w.start+1;v_cur=puis1_gethoidvaiue ();current.ins1二(byte)de i_x;current_ins2=(byte)(de
36、 i_x+valid_r0w-dei_x_buf); fuzzy ();wx=c0g_0ut-128;de i x buf=dei x;current,ins12= (byte)dl 0;current,ins22=(byte)(di0+valid_c0l-dei_i_buf); fuzzy2();wi二cog 0ut2;if (dxo<mid) wl=-wl;del_l_buf=dl 0;wr=30* (dx 0 -dx n/2 *2+dx n-1 ) / (d i 0 -d i n/2) /5;w=1500+wx+wl+wr;if (w<1150) w=1150;if (w&g
37、t;1850)w=850;pwm9_setdutyus (w);switch (measure_mode) case measure_dx: case measure_dl: case measure_dq: case measure_dr:if (measure二二on && measure_mode!二measure_speed )speed_datanum=dei_x;break;speed_data num=din-1-di0; break;speed_datanum二del_i+300;break;speed_datanum二del_r+200;break;num+;
38、if (num=1000)measure二off;模糊控制算法一:xdefxdefxdefxdeffuzzy.asm fuzzycurrent_ins1current,ins2cog_outinclude ,mc9s12dg128. inc1my extended ram: sect i onfuzins fu 乙 outcurrent,ins1 current_ins2 cog_out mycode: input mfsds. b 10ds. bds. b 1ds. b 1ds. bsectiondc. b0, 25, 255dc. b15,31,51,42dc. b2& 37, 6
39、4, 64dc. b34, 50, 42, 51dc. b40, 65, 36, 2551dc. b0, 48, 255, 45dc. b3& 63, 25, 36dc. b60, 68, 64, 64dc. b65, 90, 36, 25dc. b80, 12& 45, 255rule_start dc. bdc. bdc. bdc. bdc. bdc. bdc. bdc. bdc. bdc. bdc. bdc. bdc. bdc. bdc. b0,5,$fe, 10, $fe0, 6, $fe, 10, $fe0. 7, $fe,11,$fe0,8, $fe, 12, $f
40、e0,9, $fe, 13,$fe1.5, $fe, 10, $fe1.6, $fe,11,$fe1.7, $fe, 12, $fe1.8, $fe, 13,$fe1.9, $fe, 14, $fe2.5, $fe, 11,$fe2.6, $fe, 12, $fe2.7, $fe, 13,$fe2.8, $fe, 14, $fe2.9, $fe, 15,$fedc. b dc. bdc. bdc. bdc. bdc. bdc. bdc. bdc. bdc. b3.5, $fe, 12, $fe3.6, $fe,13,$fe3.7, $fe, 14, $fe3.8, $fe, 15,$fe3.9
41、, $fe, 16, $fe 4,5,$fe, 13,$fe 4, 6, $fe, 14, $fe 4, 7, $fe, 15,$fe4.8, $fe, 16, $fe4.9, $fe, 16,$ffsgltn_posfuzzy:grad_loopgrad_l00p1rule_evaldefuzdc. b0,43, 121, 128, 135,213,255ldx #input_mfsldy #fuz_insldaa current_ins1ldab #5memdbne b,grad_l00pldaa current_ins2ldab #5memdbne b,grad_l00p1ldab #7
42、clr 1,y+dbne b, rule_evalldx #rule_startldy #fuz_insldaa #$ffrevldy #fuz_0utldx #sgltn_p0sldab #7wavedivtfr y, dstab c0g_0utrtc附錄b基于ccd圖像的模型小車轉(zhuǎn)向模糊控制邱建劉文權(quán)深圳大學(xué)工程技術(shù)學(xué)院,深圳518060qiujian摘要:本文對基于ccd圖像的模型小車轉(zhuǎn)向模糊控制器的設(shè)計進行了探討。論述了 ccd圖 像的采集和跑道信息提取,模糊控制器結(jié)構(gòu)的選擇,模糊輸入呈、輸出雖以及模糊控制規(guī) 則的確定。依據(jù)該方法設(shè)計的模糊控制器較好的完成了模型車的轉(zhuǎn)向控制。關(guān)鍵詞:c
43、cd、轉(zhuǎn)向控制、模糊算法a lateral controller for model car using fuzzy logic base on ccd imageqiu jian liu wenquanshenzhen university, shenzhen 518060qiujianabstract: this paper presents a way to design a lateral controller for model car using fuzzy logic base on ccd image. the discussion in eludes the acquisit
44、i on of ccd image information of raceway, the choice of the fuzzy controller's block diagram, the fuzzy in put value, fuzzy output value and the rules base on this method, a lateral controller has been designed and used to a model car, and good performanee had been shown in the test.key words: c
45、cd, lateral control, fuzzy logic1引言模型小車的轉(zhuǎn)向控制是一個較為復(fù)雜的隨動控制問題。如果按照建立系統(tǒng)精密的動力 學(xué)模型的思路來解決該問題的話,不僅模型的建立困難,而且模型的參數(shù)難以精密測算和 估計?;谌四芎芎玫鸟{駛車輛,采用模糊控制算法,根據(jù)實驗現(xiàn)象反復(fù)調(diào)整模糊量的隸 屬函數(shù)和規(guī)則,設(shè)計模糊控制器來解決模型小車轉(zhuǎn)向控制問題是一種可行的辦法。釆用ccd攝像頭對道路信息的進行檢測,可以從圖像中提取較多的有用信息,其中包 括前視橫向偏差、小車前視方向與道路方向的斜率和道路的曲率等。但是如何利用ccd的 有效信息設(shè)計岀使小車能很好的跟隨跑道黑線的轉(zhuǎn)向模糊控制器是一個
46、需要研究的問題。本文對基于ccd圖像的模型小車轉(zhuǎn)向模糊控制器的設(shè)計方法進行探討。2 ccd圖像的釆集和特征提取ccd攝像頭的輸出是標準的視頻復(fù)合信號,利用同步信號分離芯片lm1881和單片機 的ad轉(zhuǎn)換器可以對視頻信號進行采集,從而得到ccd的灰度圖像數(shù)據(jù),經(jīng)二值化處理可 以得到跑道黑線的軌跡在圖像上的點陣。限于采集速度的限制并結(jié)合模世小車的實際需要, 采用順時針旋轉(zhuǎn)90度的安裝方法,可以采集大致橫向70個點,縱向20個點的圖像,并滿 足小車控制精度的要求。圖1、圖2分別是直道和彎道上點數(shù)為64x21的ccd灰度圖像。圖1直道圖像圖2彎道圖像為討論和編程方便,取右上角像素坐標為(1 1),左下
47、角坐標為(21, 64)。ccd圖像黑線小心坐標的提取采用重心法,這樣可以減少噪點的影響,其求取公式為:64八164 茲 戶1牙是第i行的黑線中心橫向坐標,兒是第i行第丿列像素的橫向坐標,是像素亮度的函數(shù)e寸=1,亮度少于閾值,即頭黑時0,亮度大于閾值,即頭白時任ccd圖像屮,前視距離最遠的黑線中心位置和黑線斜率對轉(zhuǎn)向控制具有指向性,前 視距離最近的黑線屮心位置和黑線斜率代表了 ccd感光時刻小車與跑道的姿態(tài)關(guān)系,在圖像特征提取中首先要找到前視距離最遠和最近兩點的位置,即它們在圖像中的橫向坐標yf 和兒兒,兒u(l 64),縱向坐標勺和百xf,e(1 21)o同時為了知道它們各自的斜率,求取前
48、視距離位于最遠和最近處中間的黑線中心位置的橫向坐標兒和縱向坐標 兀。以上工作可以通過c語言編程很方便的實現(xiàn)。為了看遠一點,ccd攝像頭的安裝不與地面垂直,從而導(dǎo)致圖像存在變形,圖像和垂 直位置看到的情況具有非線性的關(guān)系,但是圖像屮黑線的趨勢和垂直位置看到的是一致的。 所以,暫且先不考慮其具體對應(yīng)關(guān)系,由模糊控制算法的參數(shù)調(diào)整進行處理。3模糊控制輸入、輸出量的確定模糊控制器設(shè)計的首要問題是確定輸入、輸出的維數(shù)及它們的論域。本次設(shè)計只考慮 小車在勻速情況下的轉(zhuǎn)向控制問題。從ccd圖像提取的三處黑線中心坐標:最遠處坐標&/,/)、中間處坐標(兀,兒), 最近處坐標(£,兒),包含了小車姿態(tài)和跑道形狀的信息。但是以它們的坐標和坐標變化作 為輸入的話,維數(shù)太多,控制規(guī)則難以確定。為了簡化問題,只取黑線最遠處中心位置的橫向坐標和變化率,以及縱向坐標和變化 率為模糊控制的輸入量,因為該處對小車的轉(zhuǎn)向控制最具決定
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度供暖供氣設(shè)施施工安全協(xié)議
- 二零二五年度鋼材現(xiàn)貨交易居間服務(wù)協(xié)議
- 2025年度電子商務(wù)合伙拆伙協(xié)議終止協(xié)議
- 2025年度離職解除勞動合同模板:傳媒廣告行業(yè)員工離職流程
- 會計財務(wù)審計作業(yè)指導(dǎo)書
- 公司股權(quán)購買協(xié)議詳細版
- 金融服務(wù)個人風(fēng)險免責(zé)聲明
- 《數(shù)學(xué)思維訓(xùn)練課程:數(shù)形結(jié)合學(xué)習(xí)指導(dǎo)》
- 肉類銷售代理合同
- 關(guān)于項目進度管理的解決方案
- 儲能站施工組織設(shè)計施工技術(shù)方案(技術(shù)標)
- 2025部編版小學(xué)道德與法治一年級下冊教學(xué)計劃
- 女職工權(quán)益保護法律知識競賽題庫(293題附答案)
- 樓梯 欄桿 欄板(一)22J403-1
- 2024湖北省聯(lián)合發(fā)展投資集團限公司招聘221人高頻難、易錯點500題模擬試題附帶答案詳解
- 03S702鋼筋混凝土化糞池-標準圖集
- 《思想道德修養(yǎng)與法律基礎(chǔ)》說課(獲獎版)課件
- 幼兒園中班居家安全教案
- 國網(wǎng)直流電源系統(tǒng)技術(shù)監(jiān)督規(guī)定
- 香港雇傭合同協(xié)議書
- 部編版四年級語文下冊第二單元《習(xí)作:我的奇思妙想》課件PPT
評論
0/150
提交評論