freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

智能小車課程設(shè)計-資料下載頁

2025-06-29 04:00本頁面
  

【正文】 計算從中央傳感器到檢測到黑線的傳感器坐標與MAP表中的數(shù)字相比較打通位置和指導MAP表相對應(yīng)的PWM脈沖結(jié)束圖7.彎曲軌跡控制策略當智能車正沿著S型軌跡運行時,如果不能有效地控制他的速度,它有可能沖出跑道。圖8和圖9顯示了S型控制策略。智能車系統(tǒng)記錄了AD模塊中的數(shù)字信號的值并且與數(shù)255進行比較,如果右側(cè)傳感器的值小于255,設(shè)置A1=1;如果中間傳感器的值小于255,設(shè)置A2=1;如果左側(cè)傳感器的值小于255,設(shè)置A3=1。如果A1,A2和A3都是1,可以得知傳感器檢測到的是S型軌跡。3)可能的情況及其相應(yīng)的算法:由于智能車是后輪驅(qū)動,如果智能車加速穿過一條彎曲軌跡時,它有可能出現(xiàn)過度轉(zhuǎn)向的現(xiàn)象。智能車系統(tǒng)需要精確控制舵機。如果10個光電傳感器都無法檢測到黑色軌跡,這意味著智能車沖出跑道。在這種情況下,智能車系統(tǒng)應(yīng)進行如下圖10中的控制策略。系統(tǒng)初始化光電傳感器檢測黑線0、2號傳感器檢測到黑線記錄一個標記,放入數(shù)組的位置開始計數(shù)5號傳感器是否檢測到黑線記錄一個標記,放入數(shù)組的位置開始計數(shù)9號是否檢測到黑線記錄一個標記,放入數(shù)組的位置返回NYNY圖8. 判斷跑道是彎曲型還是S型的子程序如果10個光電傳感器都無法檢測到黑色軌跡,智能車系統(tǒng)能通過中斷模式確定黑色軌跡的位置。然后,智能車系統(tǒng)確定是否智能車出跑道。如果是,智能車系統(tǒng)工作在誤差處理機制下。如果不是,智能車系統(tǒng)繼續(xù)操作跟蹤控制算法。誤差處理機制是智能車系統(tǒng)從繪制表中度最新的歷史數(shù)據(jù)并將其發(fā)送給中央處理單元。然后CPU確定最后一個檢測到黑線的傳感器并且控制舵機,以至于智能車可以回轉(zhuǎn)。3. PID控制系統(tǒng)的智能汽車智能車系統(tǒng)根據(jù)PID算法使發(fā)動機的實際速度接近給定的速度[5]。在μC/ OS II的系統(tǒng)中,數(shù)字PID控制算法分為立場式控制算法和漸進式控制算法。為了減少計算量,并得到一個穩(wěn)定的結(jié)果,舵機控制將采取漸進式控制算法。公式是(1)如下。 (1)由公式1,我們可以看到,增量 與誤差 ,后一個誤差 ,最后誤差 有關(guān)系。因此,如果CPU每時每刻都知道誤差 的值,那么它就可以進行PID算法,輸出舵機控制變量并且有效地控制轉(zhuǎn)向角。圖11是計算流程。開始子程序調(diào)用數(shù)組右邊檢測黑線A1=1中間的檢測線A2=1左邊的檢測A3=1A1=A2=A3=1N1的速度軌跡轉(zhuǎn)向子程序結(jié)束A1=1A2=1A3=1YNNNNYYY圖9. S型軌跡目標速度的流程圖中斷入口確定黑線位置還能檢測黑線跟蹤控制算法錯誤處理機制跳出中斷NY圖10. 中斷程序確定是否智能車跑出軌道目標速度位置錯誤路徑信息PID控制直流電機正確的速度接近開關(guān)檢測的基礎(chǔ)上的速度圖11. 電機速度控制模塊智能車系統(tǒng)通過坐標法能很容易地控制轉(zhuǎn)向角。例如,當0號傳感器檢測到了黑色軌跡時,智能車系統(tǒng)將相應(yīng)的坐標設(shè)置為數(shù)17。旁邊的傳感器是遠離中心線的,有一個更大的坐標數(shù)字對應(yīng)著傳感器。表1顯示,每一個光電傳感器具有一個特定的坐標數(shù)字。表1 與光電傳感器相匹配的坐標標號相應(yīng)的坐標標號相應(yīng)的坐標017501135121163296537773579438104181350917整個智能車系統(tǒng)有三個任務(wù)組成,該三個任務(wù)在μC / OS II系統(tǒng)中[8]。它們分別是光電傳感器的路徑檢測,速度檢測和控制。控制任務(wù)是由PID子程序和P子程序以及測繪表還有路徑識別子程序組成。我們必須根據(jù)它們的功能優(yōu)先分配每個任務(wù)。由于光電傳感器是智能車的眼睛,它需要有一個強有力的實時性。最高優(yōu)先級是設(shè)置給AD光電傳感器路徑檢測任務(wù)的。第二個優(yōu)先級是設(shè)置給控制任務(wù)的。最后,最低優(yōu)先級設(shè)置給速度檢測任務(wù)。表2是對每個任務(wù)的優(yōu)先分配表。表2. 任務(wù)優(yōu)先級分配任務(wù)優(yōu)先級任務(wù)名稱工作模式任務(wù)15A/D查詢?nèi)蝿?wù)211控制共享記憶任務(wù)314速度中斷模式智能車系統(tǒng)根據(jù)任務(wù)1確定路徑信息。然后, CPU給任務(wù)2發(fā)送路徑信息與此同時任務(wù)2給舵機和電機發(fā)送相應(yīng)的PWM脈沖。圖12是工作流程。我們在CodeWarrior IDE軟件中編譯C + +程序[7]。下面的代碼是主要的程序代碼。PID結(jié)構(gòu)的定義:struct PID {int Proportion。 // Proportional Constint Integral。 // Integral Constint Derivative。 // Derivative Constint LastError。 // Error[1]int PrevError。 // Error[2]int Outlimit。// Output limiterint Output。} speed1。PID的計算:double PIDCalc( PID *pp, double NextPoint ,double A,double Pup, double Down)。速度結(jié)構(gòu)的初始化:void init_pid(struct PID *pid,int p_gain,int i_gain,int d_gain, int le,int pe,int outlimit, int ot)。計算PWM占空比:PWM=PIDCalc(amp。speed1,SetPoint,Speed)。 *MotorPWM =PWM。uC/OSⅡ 系統(tǒng)初始化任務(wù)4 CCD 跟蹤任務(wù)1 光電傳感器跟蹤任務(wù)2 控制任務(wù)3 檢測速度 / OS II系統(tǒng)中的工作流程圖三.實驗結(jié)果通過仿真可以在如圖13中那樣看到結(jié)果,我們觀察到通過使用改進后的算法智能車可以滿足穩(wěn)定性和更快的速度來跟蹤規(guī)定的軌跡。圖13 智能車在仿真環(huán)境下的穩(wěn)定運行四.結(jié)論在本文中,跟蹤控制算法是基于光電傳感器的基礎(chǔ)上提出的。智能車能沿著規(guī)定的軌跡順利地移動。仿真結(jié)果表明,跟蹤控制算法使智能汽車更靈活,更穩(wěn)定。然而,智能車系統(tǒng)仍然需要改進。例如,如何使智能汽車在更復雜的環(huán)境下順利地運行還有如何使電機的速度更有效。我們將在以后來解決這些問題。參考文獻[1]鄭監(jiān)利,黃利嘉,葛鵬飛,劉向飛,“基于CCD自動跟蹤的智能車”。學報東華大學學報(自然科學),34卷,第6期,2008年12月, – 731[2] 賈用“基于模糊控制算法合成的智能車的轉(zhuǎn)向控制”。計算機知識與科技,第4卷第7期,2008年12月, – 1878 1899[3] 劉進,齊曉輝,李勇科,“基于視覺”自動測量和控制的智能車模糊PID控制算法。自動化,2008卷。 27日,10號,第6769 68,69[4] 卓青,黃開聲和邵貝貝。學做智能車挑戰(zhàn)“飛思卡爾”杯。北京航空航天大學和宇航出版社,2007。[5] 邵貝貝。嵌入式單片機的在線動態(tài)教學 清華大學出版社,北京2004年。[6] 鄭寇根,唐杰,和赫同能,嵌入式系統(tǒng) 設(shè)計和應(yīng)用程序使用68HC12和HCS12,電子工業(yè)出版社,北京,2006。[7] Stephen Prata 美國,C + +標準入門書,郵電出版社,2002。[8] 陳師直,uC/OSⅡ的內(nèi)核分析,移植和驅(qū)動程序開發(fā)。郵電出版社,2007年2009年第四屆國際會議計算機科學與教育學報附錄A 硬件連接圖附錄B 硬件清單序號元器件名稱備注(數(shù)量)151單片機STC89C52RC12電機驅(qū)動芯片L298N13直流減速電機24電壓比較器LM32415紅外傳感器TCRT500036電位器10K17三端穩(wěn)壓器LM780518瓷片電容30pf29晶振12M110二極管IN4007811電解電容220uf112電解電容100uf113電解電容330uf114電解電容22uf115電阻150歐姆316電阻20K317電阻1K1附錄C 程序清單includedefine uchar unsigned chardefine uint unsigned intsbit sensera=P1^0。//三個傳感器,分別為左中右//sbit senserb=P1^1。sbit senserc=P1^2。sbit in1=P2^0。//L298N的輸入口//sbit in2=P2^1。sbit in3=P2^2。sbit in4=P2^3。sbit en1=P2^5。sbit en2=P2^6。sbit kaiguan=P2^7。void PWMqianjin(uchar x1,uchar x2)//前進程序,x1,x2代表左右電機的占空比//{ uchar a,b,n=100。 in1=0。 in4=0。//左電機反轉(zhuǎn),右電機正轉(zhuǎn)=前進,意味著in1=in4=0,in2和in3輸出方波// while(n) {in2=1。 in3=0。 for(a=x1。a0。a)。 in2=0。 in3=1。 for(b=x2。b0。b)。 }}void houtui(uchar x1,uchar x2)//后退函數(shù)//{ uchar c,d,m=100。 in2=0。 in3=0。//左電機正轉(zhuǎn),右電機反轉(zhuǎn)=后退,意味著in2=in3=0,in1和in4輸出方波// while(m) {in1=0。 in4=1。 for(c=x1。c0。c)。 in1=1。 in4=0。 for(d=x2。d0。d)。 }}void stop()//停車函數(shù),采用軟件和硬件停車,“鑰匙”關(guān)跟檢測不到黑線的時候,就停車//{ in1=0。 in2=0。 in3=0。 in4=0。}void xunji() { if((sensera==0)amp。amp。(senserb==0)amp。amp。(senserc==0)) stop()。//停止吧,因為沒有黑線啦// else if((sensera==0)amp。amp。(senserb==0)amp。amp。(senserc==1)) PWMqianjin(7,3)。//小車即將向左偏離黑線,右大轉(zhuǎn)彎吧// else if((sensera==0)amp。amp。(senserb==1)amp。amp。(senserc==1)) PWMqianjin(6,4)。//小車較偏離左邊,希望右小轉(zhuǎn)彎// else if((sensera==1)amp。amp。(senserb==0)amp。amp。(senserc==0)) PWMqianjin(3,7)。 //小車即將向右偏離黑線,左大轉(zhuǎn)彎吧// else if((sensera==1)amp。amp。(senserb==1)amp。amp。(senserc==1)) houtui(5,5)。//小車可能橫跨在黑線上啦,此時后退吧,但是一般此種情況很難出現(xiàn),早就被我扼殺在萌芽狀態(tài)啦// else if((sensera==1)amp。amp。(senserb==1)amp。amp。(senserc==0)) PWMqianjin(4,6)。 //小車較偏離右邊,希望左小轉(zhuǎn)彎// else PWMqianjin(5,5)。 //此刻,黑線被壓在小車的中央,全速前進//}Void mian(){In5=1。In6=1。 //L28N使能端,只有兩者都為高電平時,in1~in4輸入的高低電平才有效//While(kaiguan==0)//“發(fā)動機鑰匙”//{Xunji()。//循跡程序//}}
點擊復制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1