圖片1.png (290.15 KB, 下載次數(shù): 29)
下載附件
2020-3-26 17:36 上傳
串口(光流獲取)
[size=15.0000pt]一、光流模塊簡介光流(optical flow)是指的是空間運(yùn)動物體在觀察成像平面上的像素運(yùn)動的瞬時(shí)速度。 光流法是利用圖像序列中像素在時(shí)間域上的變化以及相鄰幀之間的相關(guān)性來找到上一幀跟當(dāng)前幀之間存在的對應(yīng)關(guān)系,從而計(jì)算出相鄰幀之間物體的運(yùn)動信息的一種方法。 通常將二維圖像平面特定坐標(biāo)點(diǎn)上的灰度瞬時(shí)變化率定義為光流矢量。 一般而言,光流是由于場景中前景目標(biāo)本身的移動、相機(jī)的運(yùn)動,或者兩者的共同運(yùn)動所產(chǎn)生的。 當(dāng)人的眼睛觀察運(yùn)動物體時(shí),物體的景象在人眼的視網(wǎng)膜上形成一系列連續(xù)變化的圖像,這一系列連續(xù)變化的信息不斷“流過”視網(wǎng)膜(即圖像平面),好像一種光的“流”,故稱之為光流。光流表達(dá)了圖像的變化,由于它包含了目標(biāo)運(yùn)動的信息,因此可被觀察者用來確定目標(biāo)的運(yùn)動情況。 COCOFLY無人機(jī)采用的光流模組是基于PMW3901,PMW3901是一款光學(xué)運(yùn)動跟蹤傳感器,該傳感器體積小、功耗低、精度高。如下圖所示為該光流模組的實(shí)物圖如下圖所示。
圖片1.png (192.88 KB, 下載次數(shù): 32)
下載附件
2020-3-26 17:31 上傳
光流模組上已經(jīng)把PMW3901的數(shù)據(jù)處理好,并且通過串口周期傳輸,波特率為19200,該光流模組的串口傳輸?shù)膮f(xié)議如下表所示。
其中DATA0、DATA1是flow_x拆分出來的低8位數(shù)據(jù)和高8位數(shù)據(jù),即flow_x=(int16_t)(DATA1<<8)|(DATA0),DATA2、DATA3是flow_y的低8位和高8位,即flow_y=(int16_t)(DATA3<<8)|(DATA2),其中和校驗(yàn)為DATA0~DATA3的累加值,即SUM=DATA0+DATA1+DATA2+DATA3;SQUAL為地面環(huán)境質(zhì)量,數(shù)值越大表示地面環(huán)境質(zhì)量越高;最后一個(gè)字節(jié)是結(jié)束符,有兩種:常規(guī)模式下固定是0xAA(Y引腳接高電平)、偏航模式下是固定的0xBB(Y引腳接低電平)。 二、串口光流數(shù)據(jù)獲取實(shí)驗(yàn)串口光流數(shù)據(jù)獲取實(shí)驗(yàn)使用STM32 的串口2即UART2與光流模組相連,串口1即UART1通過USB轉(zhuǎn)串口模塊連接電腦,把串口2獲取到的光流數(shù)據(jù)通過串口1傳輸?shù)诫娔X端的串口調(diào)試助手顯示出來。串口2的引腳如下圖所示
圖片1-2.png (90.04 KB, 下載次數(shù): 31)
下載附件
2020-3-26 17:32 上傳
兩個(gè)串口引腳分別與PA2與PA3引腳相連,那么我們就對PA2與PA3引腳進(jìn)行配置,串口1的配置可以參考《串口(基礎(chǔ)收發(fā))》,配置代碼(通過調(diào)用官方庫)編寫的思路如下:
代碼思路 1 | | 1、定義結(jié)構(gòu)體; 2、使能時(shí)鐘; 3、填充結(jié)構(gòu)體; 4、裝載結(jié)構(gòu)體。 | | | 1、定義結(jié)構(gòu)體; 2、使能時(shí)鐘; 3、填充結(jié)構(gòu)體; 4、裝載結(jié)構(gòu)體; 5、開啟中斷; 6、使能串口。 | | | 1、定義結(jié)構(gòu)體; 2、填充結(jié)構(gòu)體; 3、裝載結(jié)構(gòu)體。 | | | 1、等待接收以及發(fā)送數(shù)據(jù)。 |
串口2初始化代碼如下:
圖片2.png (33.33 KB, 下載次數(shù): 25)
下載附件
2020-3-26 17:32 上傳
串口2接收到光流模組的數(shù)據(jù)就轉(zhuǎn)發(fā)到串口1,串口2的中斷函數(shù)代碼如下。
圖片3.png (21.82 KB, 下載次數(shù): 27)
下載附件
2020-3-26 17:33 上傳
設(shè)置串口2的波特率為19200,代碼如下:
圖片4.png (114.1 KB, 下載次數(shù): 28)
下載附件
2020-3-26 17:33 上傳
保存、編譯、下載代碼,確保串口2接上了光流模組,然后再把串口1接上USB轉(zhuǎn)串口模塊,最后接到電腦的USB端口,如下圖所示:
圖片5.png (476.37 KB, 下載次數(shù): 27)
下載附件
2020-3-26 17:34 上傳
然后在把USB轉(zhuǎn)串模塊插到電腦的USB口,打開電腦端的串口調(diào)試助手,找到對應(yīng)的COM口(前提是安裝了USB轉(zhuǎn)串口驅(qū)動),設(shè)置波特率為115200,打開,可以看到串口在不斷打印光流模組發(fā)送的數(shù)據(jù),如下圖所示。
圖片6.png (552.75 KB, 下載次數(shù): 33)
下載附件
2020-3-26 17:34 上傳
完整的pdf格式文檔51黑下載地址:
2.飛控開發(fā)基礎(chǔ)-【4】串口(光流數(shù)據(jù)獲。.pdf
(1021.87 KB, 下載次數(shù): 31)
2020-3-26 17:34 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|