通過請教組員一些組件的作用以及他們之間的連接關(guān)系后,參考論文,模仿建立出初始 PID 控制模型,并對各個部分都有了一定認識。下面是小編帶來的大學(xué)生計算機專業(yè)暑期科研營心得體會,趕緊學(xué)習(xí)看看吧。
參加這個項目之前,自身的項目背景幾乎為零,當(dāng)在第一天下午的各自自我介紹中,看到各位同學(xué)的項目背景時首先感受到的是驚訝,然后想到的是接下來自己還有很多事情要去嘗試和實踐。在各位同學(xué)的自我介紹內(nèi)容中,除了專業(yè)知識外,還有很多很重要的東西去學(xué)習(xí),比如發(fā)言表達能力與做 PPT 展示能力等等。
在正式上課之前,自身對于這個涉及無人機項目的認識是用某一門編程語言去編寫程序去控制無人機按照要求飛行。當(dāng)涉及到自動控制方面的知識時,意識到完全和我想象的不一樣。由于自身時計算機專業(yè),對于自動化控制方面的知識比較有限,所以只能一邊聽老師講解,一邊去查閱各種資料基本知識以及問同一小組地同學(xué)。所以自動控制方面的知識感覺收獲良多,從自動控制理論中形成一種建立模型的意識。當(dāng)在對無人機進行建模時,接受起來比較容易,并對整體控制模型結(jié)構(gòu)能夠有一個較好的理解。
在本項目中,感覺較為困難的是對四旋翼飛行器模型建立之后的參數(shù)調(diào)試以及對模型適當(dāng)修改以及加上干擾因素。參數(shù)的調(diào)試一開始處于效率低的階段,參考了有關(guān)論文的參數(shù),以及使用了老師說的先調(diào) P,再調(diào) I 或 D 的方法,但感覺還是調(diào)出來還是不太理想,出現(xiàn)超調(diào)過大,時間過長,振蕩較大的單個或幾個一起的問題。于是一直和組員一起討論這個問題,也一起查閱了一些有關(guān)論文,想出了一些方法,但還是處于瓶頸位置時間較長。同時也同其他小組討論過這個問題,發(fā)現(xiàn)也是卡在了這個問題上。之后老師介紹了 PSO 算法,發(fā)了參考代碼給我們。我對這個算法還是可以理解,但對于結(jié)合到參數(shù)優(yōu)化方面就感覺有點困難,在與組員的討論中才明白 PSO 與 PID 參數(shù)優(yōu)化的結(jié)合。然后跟著組長學(xué)習(xí)使用PSO 算法在 PID 上的應(yīng)用。先把代碼大致看明白,然后對粒子以及各種參數(shù)和函數(shù)的設(shè)置,雖然得出過許多組非常奇怪的數(shù)據(jù),但最后還是得到了部分想要的結(jié)果,但每次調(diào)試都需要以小時為單位進行計算。雖然對模型有一定的理解,但在轉(zhuǎn)化到 Simulink 時還是思考了一段時間來想明白內(nèi)環(huán),外環(huán),反解算以及飛行器模型的建立,其中還要包含反饋。通過請教組員一些組件的作用以及他們之間的連接關(guān)系后,參考論文,模仿建立出初始 PID 控制模型,并對各個部分都有了一定認識。
接下來,浦老師還講解了遺傳算法。對于這個算法,沒什么了解,待老師講解后有了一定認識,并產(chǎn)生了興趣。雖然對這個算法有一個基本的了解,但對于如何應(yīng)用遺傳算法這個問題上還是有些疑問。只好通過網(wǎng)絡(luò)資源,查看了一些博客文章才開始知道如何應(yīng)用。有一篇博客舉了一個袋鼠跳的例子。有一個圖像含有許多極值的函數(shù),目標(biāo)就是在一定區(qū)間范圍內(nèi)尋找到最大值,然后運用遺傳算法來尋求最優(yōu)解。對于代碼實現(xiàn)遺傳算法的解決,目前還在研究中。然后就是朱老師講解了人工神經(jīng)網(wǎng)絡(luò),開始對運用機器模仿人腦解決問題有了一個概念。人工神經(jīng)網(wǎng)絡(luò)的應(yīng)用感覺以后可以用在很多不同的鄰域。期間,朱老師還推薦了DSST 算法。這個算法我在看有關(guān)論文或解釋時,很難理解的是一些數(shù)學(xué)上的式子,但對整體概念還是有一定的了解。在大致看懂下載下來的代碼后,嘗試去實現(xiàn)自己錄制視頻然后識別。錄制視頻不是很困難,但問題是如何按一定頻率截取圖片,一開始想到的是用 Matlab 加載一段視頻,然后輸入?yún)?shù)截取并修改好名稱保存到一個文件夾內(nèi)。但由于時間比較有限,所以從網(wǎng)絡(luò)上下載了一個自帶連續(xù)截圖并能設(shè)置參數(shù)功能的播放器。但當(dāng)幾百張圖片截取完后對其按照運行代碼格式改名比較困難,我想到的是用 Matlab 寫一個程序批量改名,還有另一個方法是改代碼中的文件名,最后我采取的是第一個方法。然后設(shè)置好兩個 txt 文件就成功演示出像事例視頻中的一樣。但后來發(fā)現(xiàn)了一個問題,就是當(dāng)原物體被遮擋時,會自動識別到遮擋物,這是一個比較有趣的地方,也是算法中的一個存在的一個問題。
這次的項目經(jīng)歷有一個很重要的地方便是團隊合作。一個人的能力和精力是有限的,在思考問題時很容易陷入一個局部。而跟組員討論會容易避免片面,并且可以從不同角度去思考和切入問題。結(jié)合各個方面,得出一個比較優(yōu)的解決方案。我感到在所處小組內(nèi)就經(jīng)常是這個樣子。在一個團隊里面對自身很大的幫助之一就是可以向不同專業(yè)的組員學(xué)習(xí)對于自身來說新的知識,例如我所在的小組里面有位同學(xué)是電子專業(yè)的。在老師布置的一項作業(yè)中,我所在小組選擇了一個包含有濾波方面知識的題目,而我在濾波方面的認識較為淺薄,在網(wǎng)絡(luò)上查閱資料的時候又遇到許多疑問,便只好向他學(xué)習(xí)。這位同學(xué)沒有跟我說太多的定義方面的專業(yè)語言,而是舉出一些實例然后加以一些公式來向我講解。雖然這些知識在書面看起來比較枯燥,因為好多都需要數(shù)學(xué)基礎(chǔ)和嚴(yán)密的數(shù)學(xué)推導(dǎo),但結(jié)合到生活中的一些例子,感覺使用起來特別有趣。同時,在和同學(xué)討論到涉及編程時,由于是計算機專業(yè),平時涉及編程比較多,也會盡量使語言表達清楚,表義清晰去說出自己的想法。面對這個項目所涉及的任務(wù),對于一個人來說會很巨大,很容易放棄懈怠或顧此失彼。在一個團隊中,由組長的領(lǐng)導(dǎo)下,各組員按照各項相對較少的任務(wù)去完成,然后最終拼接起來,效率會比較高,并且如果出現(xiàn)某些環(huán)節(jié)有所落后,而另外一些進展較快的同學(xué)可以去幫忙,這個自身很有體會,因為很多東西我一直在學(xué)習(xí)。這有點像把全局分割,各局部處理好,那全局便會像預(yù)期所想,類似于問題模塊化。
在最后上臺展示的時候,一開始不太自信在大家面前。但由于是講 DSST 的演示,而我又剛好是組內(nèi)負責(zé)這個方面,所以組長安排我去代表小組展示。一開始由組長說明了一些基本情況,然后我來解釋。當(dāng)開始解釋的時候,一直想的是表達邏輯清晰,不能有含糊的地方。當(dāng)老師向我提問的時候,我盡量把我自己找到的一個解決方法步驟都一一表達清楚。展示結(jié)束后,感覺松了一口氣,總算沒有表達的太不如人意。
在這次的項目過程中,我學(xué)習(xí)到了很多東西,但感覺知識開了個頭,以后還有很長的一段路在等著我去探索。同時也學(xué)到了很多非專業(yè)也很重要的東西,那就是和別人合作以及向他人提問學(xué)習(xí)。
來源:網(wǎng)絡(luò)整理 免責(zé)聲明:本文僅限學(xué)習(xí)分享,如產(chǎn)生版權(quán)問題,請聯(lián)系我們及時刪除。