智能車(chē)運動(dòng)狀態(tài)實(shí)時(shí)監測系統的設計及實(shí)現
系統功能及應用
本系統主要完成將智能車(chē)行駛過(guò)程中的各種狀態(tài)信息(如傳感器亮滅,車(chē)速,舵機轉角,電池電量等)實(shí)時(shí)地以無(wú)線(xiàn)串行通信方式發(fā)送至上位機處理,并繪制各部分狀態(tài)值關(guān)于時(shí)間的曲線(xiàn)。有了這些曲線(xiàn)就不難看出智能車(chē)在賽道各個(gè)位置的狀態(tài),各種控制參數的優(yōu)劣便一目了然了。尤為重要的是對于電機控制PID參數的選取,通過(guò)速度—時(shí)間曲線(xiàn)可以很容易發(fā)現各套PID參數之間的差異。對于采用CCD傳感器的隊伍來(lái)說(shuō),該系統便成為了調試者的眼睛,可以見(jiàn)智能車(chē)之所見(jiàn),相信對編寫(xiě)循線(xiàn)算法有很大幫助。而且還可以對這些數據作進(jìn)一步處理,例如求取一階導數,以得到更多的信息。
系統的硬、軟件設計
設計方案主要分成三部分:車(chē)載數據采集系統,無(wú)線(xiàn)數傳系統,上位機數據處理系統。系統基本構建如圖1所示。
圖1智能實(shí)時(shí)監測系統結構框圖與流程圖
車(chē)載數據采集系統
車(chē)載數據采集系統主要由單片機負責采集賽車(chē)行駛過(guò)程中的速度、傳感器狀態(tài)、電池電壓、舵機轉角等信息。為了使監測系統不占用S12單片機的內部資源并且支持熱插拔,我們將除供電之外的監測系統與智能車(chē)控制系統相分離。我們選擇ATMEL公司的ATMEGA16單片機作為該數據采集系統的處理器。二值型光電傳感器信號的采集直接使用該單片機的I/O口進(jìn)行采集,連續型光電傳感器、電池電壓及CCD攝像頭信號則采用該單片機的A/D口進(jìn)行采集,速度信息則通過(guò)光電編碼器和該單片機的計數器來(lái)采集。采集到的數據每20ms向上位機發(fā)送一次。
無(wú)線(xiàn)數傳系統
下位機向上位機傳輸的是以每20ms傳輸一組包含了光電編碼器值(speed),電池電壓(battery),舵機轉角值(angle),傳感器當前狀態(tài)(sensor)的數據,如果是在理想狀態(tài)下,上位機接收到的應是上述各值循環(huán)出現的周期性數據,此時(shí)上位機只需將這些數據按順序裝入各自的數組并畫(huà)圖即可。但在實(shí)際的無(wú)線(xiàn)傳輸過(guò)程中可能出現數據丟失現象。因此加入適當的數據校驗是必要的,否則會(huì )出現數據裝入錯誤,造成畫(huà)圖的混亂。我們在實(shí)際過(guò)程中是在每組數據中加入0x00,0xff的幀頭,當數據出現錯誤時(shí),則舍棄該幀數據。
數據的無(wú)線(xiàn)收發(fā)部分采用的是SUNRAY公司的QC96型無(wú)線(xiàn)收發(fā)模塊,該模塊可以收發(fā)波特率為9600bps的串行數據,距離可達100m。
上位機的數據接收及處理
上位機部份主要由四個(gè)模塊構成:
評論