2017電子設計大賽-光電科技協會板球控制系統

寫在前面

在寫這篇博客之前我們還不知道自己到底是幾等獎(ps:省一推國賽,無奈在綜合測評上出了岔子,無緣國一),其實做到最後獎項什麼的都不重要了,重要的是我們在比賽準備期間和比賽期間所學到的東西吧,我感覺最重要的還是團隊和堅持。今天已經是9月1號了,感覺有必要把電賽這幾天的經歷和板球控制系統的思路說出來和大家分享一下。僅代表自己觀點,大神勿噴,如有錯誤請及時指正。

打鐵還需自身硬

我們三個全是大二的毛頭小子來做這個比賽其實還是挺吃力的,儘管是所有電賽題中最簡單的控制題。所以,我爲什麼以這個爲標題,就是告誡大家:對於電賽,基礎最重要。(ps:有人說:對於電賽,運氣是實力的全部。雖然說的有點誇張了,但不得不說,比賽中運氣也是相當重要。)首先,對於最核心的電源題與信號題,電賽考覈的就是你對基礎知識的靈活運用,外加一點自己的創新。所以說,基礎最重要。三個人對電學沒有良好的基礎,無奈在綜合測評時出現了問題(ps:這個問題我們之後討論),對於那些想參加2019年電賽的同學們,趁着有時間多實踐多做一些項目多積累經驗,只要把自己打的硬一點,什麼困難都能克服。

好了,咱們步入正題吧,8月9號剛剛拿到題,我們也是一臉懵逼,如果做過的17年電賽的同學肯定很明白,比賽之前就在羣裏傳的風風火火,預測今年的控制題就是板球系統,果然,剛出題的時候我們也是大眼瞪小眼感想今年是不是泄題了!?畢竟組委會說好的一個擺杆一羣小球呢?不過還好我們在押題階段研究過板球系統,所以對整體機械結構心裏還是很清楚的(ps:做過的同學一定感悟這幾天的木工生活不容易啊)

機械結構

材料:75*75木板,直徑8mm木棒,木方,萬向節,SD-5舵機,舵機驅動,STM32-F407(作爲主控,由於做完比賽後還有別的用途,所以圖片上沒有顯示出來),K60,OV7725攝像頭,MPU6050
光科板球控制系統

這裏寫圖片描述

這裏寫圖片描述

其實我們看到我們的結構就是網上流傳的經典結構,下面是我們的結構原理圖:

這裏寫圖片描述

題目分析

對於這個系統我們得首先明確我們的首要目的是幹啥?就是讓一個球從一個點精確的到達另一個點。那我們該如何實現呢?大部分人拿到這個題目,心裏估計已經有個所以然了,很簡單,就是用攝像頭去獲取小球的位置信息反饋給主控,主控對當前位置進行解析併發出指令來控制平板傾斜,進而小球滾動,攝像頭再獲取位置信息,從而形成一個閉環。很多人想到的通過PID來控制,確實,這是一個很簡單粗暴的方法,對於電賽這種時間特別短的比賽是很適用的,而有些學有餘力的同學可能在PID上加入一些控制算法(如模糊控制,遺傳算法等)來提升系統的精確度。接下來我就對我們的系統進行一個簡單的介紹。
這裏寫圖片描述
上圖是對小球在平板上的簡單的力學分析(ps:很多論文上用拉格朗日方程來構建能量的平衡,沒用!到頭來還是PID調,簡單力學分析已已經滿足我們的題目要求)。我們以平板中心爲原點做XY軸,爲了簡便我們只分析一個X軸,那麼這就變成了杆球系統,相信大部分人對這個很瞭解,其實板球控制就是兩個杆球控制的疊加。在這個X軸上,小球只受到自己的重力,即小球的受力狀態就與這個軸的傾斜角度有關係,那我們便會想到了,力不就代表加速度嘛,即小球的加速度就與軸的傾斜角度有關係了,那我們又會想到,加速度的積分不就是速度嘛,接下來還會想到,速度的積分不就是位置嘛,而我們的目的就是從位置1到達位置2嘛,恍然大悟!三環PID控制系統!我靠,三個環調起來太費勁了,估計會調到死,而我們之前已經分析得到小球的加速度與平板的傾斜角度有關係,那我們事先把這種關係確定下來後期再查表不就完事了。至此,MPU6050上場了,把他粘在平板下方,一定要和平板平行。平板的傾斜角度(MPU6050測出)與舵機的打角一一對應,所以我們把數據記錄下來通過MATLAB擬合數據,得到近似曲線和方程(圖片),至此最裏面的環就搞定了,剩下的就是兩個了,這不就又變成了串級PID了,眼前小四軸忽悠忽悠就飛過來了,對於串級PID我不就不多說了,調參就是先調內環來調穩,後調外環來調響應。稍微不同於四軸的是,我們這套串級PID內環是調速度,外環調調位置(圖片)。調內環時,先調一個軸,將期望速度設爲零,給小球一個初速度,調節內環pid參數使小球速度儘快爲零。調外環時就是設定一個期望位置了,和題目就很接近了。調參是個很悲慘的過程,基本整個電賽40%的時間搭機械結構,20%的時間想思路,剩下的40%就是調參了。<微笑臉>
這裏寫圖片描述

這裏寫圖片描述

控制系統

這裏寫圖片描述

上面咱們也說了,如果想要做的好就必須形成閉環,既然控制結構和和執行機構完成了,那麼什麼作爲反饋呢?比賽期間我看到大多數選手用的是攝像頭,將其懸掛在平板上端,並且有的和平板獨立有的固定在平板上,由於我們選用的OV7725(30萬像素)攝像頭,分辨率低但幀率高,所以我們直接將其直接固定在平板上,有的選用OV2640(200萬像素)可以考慮獨立於平板。也有的同學用的線性CCD,和激光(沒仔細看,估計和對管一個性質),所以說做法非常多,大家也可以嘗試一下。

這裏寫圖片描述

既然攝像頭作爲反饋輸出小球位置信息,那麼又是如何實現的呢?其實就是簡單的逐點掃描法,做過飛思卡爾攝像頭組的同學一定不陌生。我們先從圖像中心往兩邊搜索,首先向左搜索到連續三個黑點(小球是2*2像素點),那麼最右邊黑點的位置就是左邊界,以此類推。我們可以看到攝像頭的圖像有一定的桶形畸變,我們對圖像稍加做處理就好。在圖片中我們看到最中心的位置的黑點就是小球,它在圖像中的位置也被明確標出來了,如果同學想讓系統有一定的抗干擾性就一定要對攝像頭拍攝的圖像有個自適應校正(瞎編的詞),就是系統每次開機時就要自動對圖像進行校正,防止在搬運過程中攝像頭歪了或平板歪了,比賽時見到太多這種情況了。說完了系統中最重要的攝像頭,接下來看看咱們的控制系統。

這裏寫圖片描述

這裏寫圖片描述

這裏寫圖片描述

寫在最後

以上就是我們的板球控制系統,寫的很是簡單粗暴,很多都沒講出來,但我建議想搞一下的同學們可以先自己試着去搭一下,這確實是一個考驗PID的好項目。對於電賽,我建議大家在賽前一定要做一下歷年的題目,摸索組委會考覈的意圖,確實能學到不少。就寫到這吧,感謝大家。

光電科技協會-崔傳磊-寫於2017年9月3日

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章