<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設(shè)計(jì)應(yīng)用 > 采用光電傳感和路徑記憶的智能車導(dǎo)航系統(tǒng)設(shè)計(jì)

          采用光電傳感和路徑記憶的智能車導(dǎo)航系統(tǒng)設(shè)計(jì)

          作者: 時(shí)間:2012-04-14 來源:網(wǎng)絡(luò) 收藏


          因此,只要掌握了器電壓—偏移距離特性關(guān)系,就可以根據(jù)器電壓大小確定各器與黑色標(biāo)記線的距離(而不是僅僅粗略判斷該傳感器是否在線上),進(jìn)而獲得車身縱軸線相對標(biāo)記線的位置,得到連續(xù)分布的信息。

          根據(jù)實(shí)車試驗(yàn),可以將探測的精度提高到1mm。這樣傳感器采集的信息就能保證了單片機(jī)可以獲得精確的賽道信息,從而為提高賽車的精確控制提供了保證。

          雙排排列與前瞻

          本文開發(fā)了車性能仿真平臺,對傳感器的布局進(jìn)行了深入研究。由于轉(zhuǎn)向舵機(jī)、電機(jī)和車都是高階慣性延遲環(huán)節(jié),從輸入到輸出需要一定的時(shí)間,越早知道前方道路的信息,就越能減小從輸入到輸出的滯后。檢測車前方一定距離的賽道就叫前瞻,在一定的前瞻范圍內(nèi),前瞻越大的傳感器方案,其極限速度就會越高,其高速行駛過程中對引導(dǎo)線的跟隨精度也相對較高,的整體響應(yīng)性能較好。因此路徑識別模塊成抬起與地面形成一個(gè)夾角,前排傳感器用于前瞻,后排傳感器對賽道始點(diǎn)進(jìn)行識別、計(jì)算車身縱軸線與賽道中心線的偏差斜率,以利于更好地調(diào)整車輛的姿態(tài)。

          為了保證在離地間隙盡可能大的情況下傳感器仍然有足夠大的發(fā)光強(qiáng)度,本文了大電流脈沖觸發(fā)發(fā)光的控制方式。

          根據(jù)實(shí)驗(yàn)測試,發(fā)光管在發(fā)光時(shí),經(jīng)過的電流約為0.5A。如果用15個(gè)傳感器,則瞬時(shí)電流為7.5A。這樣大的電流肯定會對電池電壓造成一定的沖擊,不利于整個(gè)的正常運(yùn)行。因此將前后排傳感器的發(fā)光時(shí)間錯(cuò)開,通過兩套觸發(fā)電路來控制發(fā)光。這樣就有效減小了紅外發(fā)光管發(fā)光時(shí)對電池電壓的沖擊。

          轉(zhuǎn)向和驅(qū)動控制與路徑算法

          驅(qū)動電機(jī)控制

          本文在電機(jī)輸出軸上加一齒盤,電機(jī)輸出軸的轉(zhuǎn)動帶動齒盤的轉(zhuǎn)動。將對射光偶發(fā)光和接受管放在碼盤兩側(cè)。碼盤轉(zhuǎn)動時(shí),由于碼盤上的齒經(jīng)過發(fā)光管發(fā)出的光線時(shí),會阻礙光線傳播。所以接收管兩端的電阻會有很大的變化,這樣,在電路中采樣電阻兩端的電壓就會有很大的變化。用處理器上的脈沖捕捉端口采集電壓脈沖單位時(shí)間內(nèi)的個(gè)數(shù),就會獲得電機(jī)轉(zhuǎn)速,從而獲得車速。

          電機(jī)驅(qū)動的是飛思卡爾公司的MC33886。所不同的是本文了三片MC33886并聯(lián),一方面可以減小導(dǎo)通電阻,提高電機(jī)驅(qū)動能力,并且MC33886的發(fā)熱情況也有了很大的好轉(zhuǎn);另一方面減小MC33886 內(nèi)部的過流保護(hù)電路對電機(jī)啟動及制動時(shí)的影響。

          電機(jī)采用PID閉環(huán)控制,可以根據(jù)不同負(fù)載狀況及時(shí)調(diào)整PWM的占空比,使車輛迅速地跟蹤目標(biāo)速度。

          為了盡量提高車速,采用在直道上設(shè)定最高目標(biāo)車速,定速控制,接近彎道處開始降速,正式轉(zhuǎn)入彎道時(shí),將車速調(diào)整到過彎極限車速,將要出彎道時(shí)提前加速。

          轉(zhuǎn)向控制

          根據(jù)目前采用的雙排模擬式傳感器布局,可以得到車身縱軸線距離賽道中心線的偏移量,還可以得到中心線相對于車身縱軸線的斜率,從而得知當(dāng)前狀態(tài)下車身的姿態(tài),進(jìn)而進(jìn)行轉(zhuǎn)向控制。

          這里設(shè)定根據(jù)前排傳感器信號得到的轉(zhuǎn)角為θ1,根據(jù)前后排傳感器信號得到的縱軸線斜率信息而得到的轉(zhuǎn)角為θ2,最終的轉(zhuǎn)向角度的確定公式為:

          θ=k1θ1+k2θ2

          采用這樣的控制策略,可以實(shí)現(xiàn)對車實(shí)際姿態(tài)的加權(quán)控制,大大提高過彎速度,減少由于探測精度問題帶來的決策累積誤差。另外,大前瞻與雙排的雙重組合,達(dá)到了對正常彎道提前轉(zhuǎn)彎,對于S彎道遲滯轉(zhuǎn)向的特性。

          為了使舵機(jī)更好地對給定的轉(zhuǎn)角值做出響應(yīng),采用了PID調(diào)節(jié),通過道路試驗(yàn)進(jìn)行參數(shù)整定,使得車輛在高速時(shí)保持了很高的穩(wěn)定性。

          路徑算法

          由于比賽規(guī)則要求車輛在跑道上行駛兩圈,因此車輛第一圈時(shí)通過記錄轉(zhuǎn)速傳感器采集到的脈沖數(shù)、轉(zhuǎn)向舵機(jī)的轉(zhuǎn)角等信息,來判斷區(qū)分直道、彎道、S彎道以及轉(zhuǎn)彎的方向與轉(zhuǎn)彎半徑等等信息。根據(jù)第一圈記錄的數(shù)據(jù)信息,可以對第二圈的各個(gè)道路點(diǎn)進(jìn)行分段處理。直道上采用最高速加速,在進(jìn)入彎道之前提前進(jìn)行減速,減至過彎的極限最高車速,對于不同半徑的彎道,選擇不同的車速。路徑算法的優(yōu)勢在于對于復(fù)雜的S彎道,可以實(shí)現(xiàn)類似CCD探測頭達(dá)到的效果,選用小的轉(zhuǎn)向角度通過,這樣可以大大縮短時(shí)間。具體算法請見。

          經(jīng)驗(yàn)及結(jié)論

          本文的車開發(fā)工作經(jīng)過6輪開發(fā)迭代,從最初的小前瞻單排數(shù)字式傳感器,發(fā)展成脈沖發(fā)光、大前瞻、雙排排列、模擬式傳感器方案;控制策略從單純的PID控制升級到路徑記憶控制,使得車輛的性能有了很大提高。通過車開發(fā)過程,得出一些經(jīng)驗(yàn)。

          *開發(fā)之初需要對傳感器特性、轉(zhuǎn)向舵機(jī)特性、驅(qū)動電機(jī)特性、車輛機(jī)械性能、轉(zhuǎn)向側(cè)滑特性、電池特性等進(jìn)行實(shí)際的檢測。

          *根據(jù)汽車?yán)碚搶囕v進(jìn)行規(guī)則容許范圍之內(nèi)的結(jié)構(gòu)調(diào)整,使之達(dá)到較佳的機(jī)械性能。

          *組委會開發(fā)了仿真平臺,應(yīng)該充分利用該仿真工具對基于光電傳感器的路徑識別方案進(jìn)行研究,結(jié)合硬件的選型和自身在控制及電子方面的經(jīng)驗(yàn),確定路徑識別方案。前瞻距離較遠(yuǎn)的方案有助于提高車輛的通過速度。

          *車輛的控制采用PID即可滿足要求,參數(shù)的整定需要結(jié)合道路試驗(yàn)進(jìn)行。車速的加快和減慢不要太劇烈,平穩(wěn)的控制也可以取得很好的效果。過大的加速度會導(dǎo)致電機(jī)和驅(qū)動芯片的過熱以致驅(qū)動性能下降。

          本文引用地址:http://www.ex-cimer.com/article/160794.htm
          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();