資料介紹
描述
目標
通過結(jié)合了 MSP430F2272 微處理器的 OpenCV 顏色跟蹤工作流程控制小型四軸飛行器。作為 ME461 的最終項目創(chuàng)建:在伊利諾伊大學厄巴納-香檳分校教授的機械系統(tǒng)的計算機控制。
過程
最初,我們希望通過 MSP430 和 Blade Inductrix 四軸飛行器隨附的 MLP4DSM 發(fā)射器之間的數(shù)字通信直接控制四軸飛行器。不幸的是,從發(fā)射器發(fā)送的數(shù)據(jù)在發(fā)送到無線電設(shè)備之前已被加密。這意味著我們必須將控制信息作為模擬信號注入來代替拇指棒。我們之前曾使用過 MSP430 和單通道 DAC。但是一個渠道是不夠的。我們需要來自運行 OpenCV 的 OrangePi 的四個數(shù)字輸入通道以及四個模擬輸出通道來控制油門、偏航、俯仰和滾動。
在本學期早些時候,我們使用 OrangePi 和 OpenCV 庫進行單對象顏色跟蹤,以通過 MSP430 的 PWM 輸出設(shè)置伺服電機的角度。在 MSP430 和 OrangePi 上使用相同的基本代碼,我們修改了代碼以跟蹤兩個不同顏色的對象以及計算對象的延遲平均中心。每個代碼循環(huán),我們通過平均像素在其顏色中的位置來計算每個對象的中心。然后我們將兩個對象的中心記錄到四個數(shù)組(x1、x2、y1、y2)中。這些中心被輸入到更大的過去測量數(shù)組中,最后x的平均位置計算樣本。為了增加我們平均的范圍而不溢出我們的變量,這個平均值被輸入另一個數(shù)組,并計算最后一個x的平均值。這允許我們在當前對象中心和它的平均中心之間延遲約 1 秒。
通過這種延遲,我們能夠消除我們手中的任何突然動作。它還創(chuàng)造了一種控制情況,握住你的手仍然意味著沒有輸入,如果它開始動作不正常,這有助于重新控制直升機。這種控制方法對于方向輸入(偏航、橫滾、俯仰)工作順利,但使油門難以飛行。因此,我們決定為油門切換到絕對控制(距屏幕底部的距離 = 控制輸入)。
在實施方面,我們在發(fā)射器的接線以及與 TLV5610 DAC 的通信方面遇到了一些問題。這些將在下面的問題部分中討論。
問題
導(dǎo)致手套變色的光照條件
- 顏色跟蹤基于每個像素的 HSV 值。根據(jù)相機在房間的位置,背景照明會發(fā)生變化。鑒于我們在通常工作的房間中沒有固定位置,因此我們需要修改 HSV 值以匹配每個新位置。我們站在房間的角落緩解了這種情況,如下面的視頻所示,我們有干凈的背景和一致的照明。這個角落還使我們能夠在飛行時觀看無人機,而不是背對著它。
從 MSP430 到 TLV5610 DAC 的 SPI 通信
- 這部分項目是更復(fù)雜的項目之一,僅僅是因為我們不熟悉 SPI 通信。一旦我們使用本學期早些時候開發(fā)的代碼通過了 MSP430 上端口的初始設(shè)置,我們發(fā)現(xiàn)根據(jù) SPI 協(xié)議,通信命令的時序至關(guān)重要。由于我們需要向 DAC 發(fā)送四個輸入值,我們需要確保在發(fā)送的每個輸入之間觸發(fā)幀同步信號。這是通過將數(shù)據(jù)傳輸分成兩部分來完成的,如下所示:
//DAC Transmission Function
void DAC_write(int DAC_data){
LSB_data = DAC_data; //Lower 8 bits of data
MSB_data = DAC_data>>8; //Upper 8 bits of data
//Trigger FS pin high to low
P3OUT |= 0x08;
P3OUT &= ~0x08;
msb_flag = 1; //MSB Data just filled buffer
//Fill SPI TX Buffer and trip interrupt flag
UCA0TXBUF = MSB_data;
}
//Excerpt of SPI RX Interrupt
#pragma vector=USCIAB0RX_VECTOR
__interrupt void USCI0RX_ISR(void) {
if((IFG2&UCA0RXIFG) && (IE2&UCA0RXIE)) {
if (msb_flag == 1){
UCA0TXBUF = LSB_data; //Transmit LSB data
//Set flag to 0 to prevent loop of empty data
msb_flag = 0;
byte_count++;
}
else{
//As each set of data has completed, begin sending next piece
if (byte_count == 1){
DAC_write(yaw_val);
}
else if (byte_count == 2){
DAC_write(pitch_val);
}
else if (byte_count == 3){
DAC_write(roll_val);
}
else if (byte_count == 4){ //All data sent, reset to 0
byte_count = 0;
}
}
IFG2 &= ~UCA0RXIFG;
}
Blade Inducttrix Quadcopter的綁定與初始化
- 將股票控制器綁定到四軸飛行器的方法如下:
- 打開四軸飛行器并等待 5 秒鐘,直到指示燈開始閃爍
- 發(fā)射器油門到中間,按下油門桿,打開發(fā)射器,松開操縱桿并將油門歸零
- 等到燈光停止閃爍,然后再飛行。
隨著我們對發(fā)射器的修改,我們無法提供零油門或按下操縱桿上的按鈕。通過更換按鈕并對我們的代碼進行一些小改動,我們能夠?qū)⑺妮S飛行器和發(fā)射器綁定在一起。
雖然這確實解決了我們的一個問題,但四軸飛行器經(jīng)常會卡在其初始化模式中。經(jīng)過一段時間的故障排除,我們意識到四軸飛行器的內(nèi)部飛行控制器具有 IMU,需要保持靜止和水平,以防止傳感器漂移開始飛行。打開后將四軸飛行器放在工作臺上解決了這個問題。
四軸飛行器框架故障
- 使用四軸飛行器的輕質(zhì)塑料框架,我們遇到了電機支架在硬著陸時斷裂的問題。盡管我們確實嘗試 3D 打印一個新框架來替換損壞的框架,但我們發(fā)現(xiàn)將電機安裝座強力粘回各自的位置更容易、更有效。這確實導(dǎo)致了少量的不平衡和漂移,這可以在我們的飛行視頻中看到,但盡管如此,我們還是能夠控制直升機。
?
?
- ME461平衡四旋翼飛行器開源分享
- 餅干士兵ME461開源分享
- 四軸飛行器設(shè)計案例
- 四旋翼飛行器的軌跡跟蹤控制器綜述 24次下載
- 四軸飛行器的資料說明 4次下載
- 四軸飛行器電路 14次下載
- 四軸飛行器設(shè)計 16次下載
- 四軸飛行器教程 0次下載
- 四軸飛行器答辯 50次下載
- 四軸飛行器控制原理圖 0次下載
- 四軸飛行器控制原理 8次下載
- Crazepony開源四軸飛行器 42次下載
- 四軸飛行器的設(shè)計與研究 17次下載
- 四軸飛行器飛行原理 0次下載
- 四軸飛行器組裝 40次下載
- 基于DSP的無人飛行器飛行控制系統(tǒng)設(shè)計 1135次閱讀
- 如何利用ESP8266制作一個簡單的四軸飛行器 4532次閱讀
- 基于四軸飛行器具有皮帶驅(qū)動器的單個中央燃氣發(fā)動機 5898次閱讀
- 基于GD32 MCU的四軸飛行器基本方案設(shè)計 3739次閱讀
- 淺談四旋翼飛行器的設(shè)計 7139次閱讀
- 星翼電子:MiniFly開源四軸飛行器信息描述 2293次閱讀
- 基于STM32四軸飛行器電路設(shè)計的詳細圖解資料概述 1.6w次閱讀
- 四軸飛行器如何對頻_四軸飛行器怎么操作 9.8w次閱讀
- 四軸飛行器什么牌子好_十大四軸飛行器品牌排行版 1.6w次閱讀
- 四軸飛行器常見名詞解釋 8365次閱讀
- 基于STM32的簡易四軸飛行器系統(tǒng)的設(shè)計實現(xiàn) 1.7w次閱讀
- 以STM32F4為控制核心的四軸航拍飛行器的設(shè)計與實現(xiàn) 8605次閱讀
- 四軸飛行器怎么起飛_四軸飛行器原理 4.9w次閱讀
- 基于STM32的四軸飛行器電路設(shè)計—電路精選(53) 3.9w次閱讀
- 教你DIY一個四軸飛行器 8026次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應(yīng)用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關(guān)電源設(shè)計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅(qū)動電路設(shè)計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多