光流模塊在無 GPS 環(huán)境下,課實時檢測飛機(jī)水平移動距離,實現(xiàn)對四軸無人機(jī)長時間的穩(wěn)定懸停。圖1顯示的是湖南優(yōu)象LC-302光流模塊的功能框圖,光流攝像頭拍攝無人機(jī)垂直向下的畫面,輸入光流主板,主板通過光流懸停智能算法進(jìn)行光流計算,從而獲取無人機(jī)位移信息,并轉(zhuǎn)化為懸??刂浦噶?,懸停控制指令通過 UART 輸出給飛控,以便控制飛機(jī)水平移動距離,達(dá)到懸停的目的。
圖 1 UPIXELS LC-302光流模塊功能框圖
LC-302外形尺寸結(jié)構(gòu)圖
LC-302的硬件部分主要為主板。如圖2所示,主板尺寸結(jié)構(gòu)示意圖,尺寸分別為:長22mm、寬14mm。主板上主要的芯片為湖南優(yōu)象公司研發(fā)的光流芯片U30。除了LC-302這款型號外,還有LC-306、LC-307和LC-309,其中LC-309尺寸最小,含U30、CMOS感光芯片和鏡頭一起,總共也只有10mm*10mm大小。
LC-302使用的是30萬像素的CMOS作為感光器件,所有的配置使用U30芯片的默認(rèn)配置,所以,模塊一上電就可輸出光流數(shù)據(jù),不需要額外其他配置。
圖 2 UP-FLOW-LC-302-3C產(chǎn)品結(jié)構(gòu)圖
LC-302接入飛控的方法/光流坐標(biāo)系定義
光流模塊可以用UART接口連接飛控,UART數(shù)據(jù)格式為1個起始位,8個數(shù)據(jù)位,1個停止位,無校驗位,波特率為19200。光流模塊和飛控的接口線序如圖3,其中UART_TXD,UART_RXD是以模塊為參考, VCC為3.0V—5.0V供電電源輸入。3.0V供電時最大功耗為90mW,5.0V供電時最大功耗150mW。
光流模塊接線說明:光流和飛控的 RX TX交叉連接,GND和VCC對應(yīng)連接即可。
光流的坐標(biāo)系如圖4所示,最終飛控獲取數(shù)據(jù),需根據(jù)飛控坐標(biāo)系及光流的坐標(biāo)系,做坐標(biāo)轉(zhuǎn)換。
圖 3 光流模塊坐標(biāo)系/接線方式
光流模塊初始化
光流模塊上電后需由上位機(jī)通過UART接口初始化才能正常工作,光流模塊上電到上位機(jī)初始化之間需至少延時100ms。
LC-302光流模塊對外輸出數(shù)據(jù)結(jié)構(gòu)定義
光流模塊對外輸出的數(shù)據(jù)結(jié)構(gòu)定義如下:
typedef struct optical_flow_data
{
int16_t flow_x_integral; // X像素點累計時間內(nèi)的累加位移(radians*10000)
// [除以10000乘以高度(mm)后為實際位移(mm)]
int16_t flow_y_integral; // Y像素點累計時間內(nèi)的累加位移(radians*10000)
// [除以10000乘以高度(mm)后為實際位移(mm)]
uint16_t integration_timespan; // 上一次發(fā)送光流數(shù)據(jù)到本次發(fā)送的累計時間(us)
uint16_t ground_distance; // 預(yù)留。默認(rèn)為999(0x03E7)
uint8_t valid; // 狀態(tài)值:0(0x00)為光流數(shù)據(jù)不可用
//245(0xF5)為光流數(shù)據(jù)可用
uint8_t version; //版本號
} Upixels_OpticalFlow;
通過串口向飛控發(fā)送數(shù)據(jù)前,光流模塊會對數(shù)據(jù)結(jié)構(gòu)進(jìn)行封包,實際發(fā)送的數(shù)據(jù)包格式如圖6:
序號 |
|
包數(shù)據(jù) |
內(nèi)容說明 |
1 |
包 頭 | 0xFE | 數(shù)據(jù)包的開始標(biāo)識(固定值0xFE) |
2 |
0x0A | 光流數(shù)據(jù)結(jié)構(gòu)體字節(jié)數(shù)(固定值0x0A) | |
3 |
光 |
flow_x_integral的低字節(jié) |
X像素點累計時間內(nèi)的累加位移,
(radians*10000) |
4 |
flow_x_integral的高字節(jié) | ||
5 |
flow_y_integral的低字節(jié) |
Y像素點累計時間內(nèi)的累加位移,(radians*10000) [除以10000乘以高度(mm)后為實際位移(mm)] |
|
6 |
flow_y_integral的高字節(jié) | ||
7 |
integration_timespan的低字節(jié) | 上一次發(fā)送光流數(shù)據(jù)到本次發(fā)送光流數(shù)據(jù)的累計時間(us) | |
8 |
integration_timespan的高字節(jié) | ||
9 |
ground_distance的低字節(jié) | 預(yù)留。默認(rèn)為999(0x03E7) | |
10 |
ground_distance的高字節(jié) | ||
11 |
valid | 狀態(tài)值:0(0x00)為光流數(shù)據(jù)不可用,245(0xF5)為光流數(shù)據(jù)可用 | |
12 |
version | 光流模塊的版本號 | |
13 |
校驗值 |
Xor | 光流數(shù)據(jù)結(jié)構(gòu)體(Byte 3~Byte 12)10個字節(jié)的異或值 |
14 |
包 尾 |
0x55 | 數(shù)據(jù)包的結(jié)束標(biāo)識(固定值0x55) |
圖 6 數(shù)據(jù)包協(xié)議圖
光流調(diào)試注意事項
1.安裝前注意鏡頭清理,確保鏡頭無污垢和保護(hù)膜遮擋。
2.安裝時注意,光流板與地面水平,并與機(jī)體(飛控板)垂直,不能有偏角,固定后確保鏡頭無遮擋,比如連接線與起落架等。
3.若要考慮與加速度計融合,則需確保光流與加速度計物理方向的一致性。
3.當(dāng)姿態(tài)變化較劇烈時應(yīng)減少光流的比重,并用陀螺儀做好對光流的補(bǔ)償,并注意光流與陀螺儀同步問題。
4.光流輸出有少許毛刺,需要對數(shù)據(jù)進(jìn)行低通慮波
5.PID控制上采用位置+速度的雙環(huán)控制,并要加大i的作用。
6.在自主懸停時才啟動光流,飛機(jī)起飛與打搖桿時,光流無效。
LC-302懸停問題速查小技巧
自主懸停是光流模塊支持飛控實現(xiàn)的一種典型功能。也是調(diào)試光流需要首先調(diào)試的功能,懸停的質(zhì)量往往直接決定光流與飛控配合質(zhì)量。調(diào)試懸停問題時有如下小技巧。
7.1 完全沒有懸停效果,現(xiàn)象與沒接光流是一樣的。首先應(yīng)檢查板子上電是否正常,硬件線是否連接好,鏡頭是否被遮擋,如果都沒發(fā)現(xiàn)問題,再用上位機(jī)檢查是否有數(shù)據(jù)輸出。
7.2 飛機(jī)往某個方向亂飛,漂移更快,像失控的感覺,而沒有加光流時反而漂移慢一些??赡苁牵?/p>
7.2.1 鏡頭安裝方向與程序里寫的方向不一致;
7.2.2 環(huán)境光線明暗變化比較大,比如有閃光燈;
7.2.3 光流鏡頭下地面上有大片的運(yùn)動物體,比如在有風(fēng)時的水面上;
7.2.4 程序中光流控制部分有些數(shù)據(jù)沒清零,比如起飛時與打搖桿后積分量沒清零;
7.3 飛機(jī)緩慢飄,方向隨機(jī),但又比沒光流時要好,表現(xiàn)為無操作時,往一個方向飄后,還會往回飄??赡苁堑孛姝h(huán)境紋理太差,比如純凈的木地板、水泥地面、反光大理石地面等,或者是環(huán)境光線太暗。
7.4 飛機(jī)開始時能夠正常懸停,懸停一段時間后開始震蕩,可能是:
7.4.1 氣壓計數(shù)據(jù)漂移很大,高度嚴(yán)重失真,導(dǎo)致光流數(shù)據(jù)與該高度相乘后輸出值變大,控制超調(diào);
7.4.2 光流與加速度計有融合,可能是溫度變化比較大或飛機(jī)震動大,導(dǎo)致加速度計漂移嚴(yán)重;
7.5 飛機(jī)開始時能夠正常懸停,懸停一段時間后開始一直往一個方向漂移,可能是:
7.5.1 程序算法處理上光流的權(quán)重是動態(tài)的,某些原因?qū)е聭彝r間長后,光流權(quán)重減弱,無法抑制漂移;
7.5.2 姿態(tài)解算的歐拉角由于震動或溫度等出現(xiàn)較大誤差,時間久后飛機(jī)本身姿態(tài)傾斜,光流最大輸出后也補(bǔ)償不了該誤差;
7.6 飛機(jī)一開始就開始震蕩,可能是:
7.6.1 PID控制參數(shù)太大了;
7.6.2 濾波比較厲害,使得輸出數(shù)據(jù)有延時,造成低頻震蕩;
7.6.3 輸入數(shù)據(jù)不平滑,PID控制中又有D項,使得飛機(jī)高頻震蕩;
7.6.4飛機(jī)的性能變差,比如電機(jī)、槳葉磨損,震動大,使得輸入數(shù)據(jù)噪聲變大;
7.6.5光流旋轉(zhuǎn)補(bǔ)償沒有做好,尤其是數(shù)據(jù)同步與限幅。
優(yōu)象科技淘寶店鋪鏈接:
https://shop215642435.taobao.com/?spm=pc_detail.27183998.202202.2.688c7dd6HXahpX#/
-
gps
+關(guān)注
關(guān)注
22文章
2896瀏覽量
166298 -
uart
+關(guān)注
關(guān)注
22文章
1237瀏覽量
101447 -
無人機(jī)
+關(guān)注
關(guān)注
230文章
10454瀏覽量
180740
發(fā)布評論請先 登錄
相關(guān)推薦
評論