緣起
從古至今禁舷,人類對天空的渴望歼培,對飛翔的追求弹谁,從未停止。但迄今我們?nèi)晕茨芙o自己裝上翅膀葛家,自由翱翔于天際户辞,于是人類發(fā)明了飛機、火箭癞谒,用龐大的鋼鐵巨獸將人們送上藍天和太空。
而對于大部分類似于你我的普通人來說刃榨,很多時候弹砚,只能用一個小小的航模,來承載自己的藍天夢枢希。在上大學之前桌吃,我以為將來自己會在宿舍一刀一刀地,用木頭或者泡沫苞轿,做出自己的飛機模型茅诱,然后裝上一個馬達逗物,懷揣著憧憬,引導它飛上天空瑟俭。誰能知道翎卓,時代的一些小變革,便將我指向了另外一條不一樣的道路摆寄,但最終殊途同歸失暴,那便是多旋翼飛行器。
我從小在一個偏僻的海島上長大微饥,家境貧寒逗扒,童年時期幾乎與世隔絕,直到上高中之前都沒有使用過普通話欠橘,沒去過比村鎮(zhèn)更大的地方矩肩。每天偶爾劃過天空的飛機,成了我對外面世界所有的夢想和憧憬肃续,可能很多人對于飛機的異樣情結黍檩,也是來源于此吧。
在電腦和互聯(lián)網(wǎng)還沒有流行痹升,手機也只能用來打電話的年代建炫,知識與信息的珍貴,是現(xiàn)在的小孩無法想象的疼蛾。以至于后來接觸了淘寶肛跌,很長一段時間內(nèi)都沒有發(fā)覺,曾經(jīng)只存在于夢里的各種元器件與材料察郁,只要有錢衍慎,均唾手可得。
高中在市里讀書皮钠,在學校寄宿稳捆,為了節(jié)省路費通常一兩個月才回一次家,而每天節(jié)衣縮食麦轰,以便在周末時有錢去網(wǎng)吧上網(wǎng)乔夯。互聯(lián)網(wǎng)的信息量之大款侵,讓我好長時間沒有緩過神來末荐,直到高一下學期的某天,才想起來要開始規(guī)劃未來的發(fā)展路線了新锈,當時在網(wǎng)上雖然可以查到很多信息甲脏,但是如果沒有特別指引,很多時候你在網(wǎng)上看到的,可能都只是你想看到的块请。
最初我以從事一個最平民化的職業(yè):程序員為目標娜氏,開始從C語言和socket通信學起,在網(wǎng)吧開始敲起了代碼墩新,沒錢上網(wǎng)的時候贸弥,便去市里最大的書店看書,在一排厚重的《網(wǎng)絡實戰(zhàn)》《VC++入門經(jīng)典》《二十一天速成PHP》等圖書中抖棘,挑出比較薄的c語言茂腥、數(shù)據(jù)結構之類的書來看。當時各種硬件和電路板對于我來說還屬于非常高大上東西切省,印象中它是只存在于實驗室和大公司中的高端設備最岗。
轉(zhuǎn)折
在10年和11年之間,我升上了高二朝捆,此時在這個世界的某個角落般渡,已經(jīng)逐漸開始出現(xiàn)了一些小小的變革:還在創(chuàng)業(yè)階段的大疆創(chuàng)新公司,發(fā)布了他們的第一款多旋翼飛控芙盘。而我驯用,在對互聯(lián)網(wǎng)的使用逐漸輕車熟路起來之后,對技術的認知也在慢慢改變儒老,也在逐漸偏離最初的目標了蝴乔。
最開始觸動我的,是在全校集體活動上進行飛行表演的航模隊驮樊。航模隊是一些退休老教師和學生組織起來的薇正,屬于一個平時很難接觸到的小圈子,他們在學校廣場表演了固定翼3D花式飛行囚衔⊥谘看著天空不停舞動的飛機,沉睡在我心底的夢想又被重新喚醒了练湿。然而沒吃過豬肉也見過豬跑猴仑,即使沒玩過航模,也知道這些東西需要花的錢不是我一個窮學生能拿得出來的肥哎,只能立下目標辽俗,先考上大學,然后再賺錢做自己想做的事篡诽。
高三對于大部分學生來說都是充滿了痛苦和回憶的榆苞,而我為了實現(xiàn)目標,在高二那年暑假霞捡,開始了苦行僧式的學習之路,之后高三那年有許多同學和老師都不能理解的舉動薄疚,均是為了達到我的目標碧信。當然最后奇跡并沒有發(fā)生赊琳,在兩千多人的年級中,我也只是從高一高二時接近墊底到高考只超過一本二三十分砰碴,只能選擇了省內(nèi)一個大家認為比較普通的大學躏筏,電子信息類專業(yè)。仍記得當時志愿表上我只寫了這一個學校呈枉,一個專業(yè)趁尼,且不服從分配。并不是因為我真的多喜歡這學校猖辫,而是學校地處改革開放的前沿城市酥泞,讓我覺得將來能有更多的機會實現(xiàn)自己的夢想。
在我的認知中啃憎,要學會跑就必須先學會走芝囤,同理,要學會飛就得先學會跑辛萍,于是悯姊,在高考前一個月,我覺得大局已定的情況下贩毕,說服父母提供了一筆幾百塊錢的資金悯许,上淘寶購買了一些學習工具,包括最基本的電工工具如烙鐵辉阶、萬用表等先壕,51單片機學習板,一些用于練習焊接的收音機DIY套件睛藻,還有用來做智能車的小車套件启上。這些東西,都是我經(jīng)過了多次查詢店印,深思熟慮后才購買的冈在,畢竟資金非常有限。
高考結束后按摘,大部分同學開始了他們的游玩計劃包券,而我在網(wǎng)吧下載了許多PDF書籍存到兩百塊買的二手安卓平板里后,回到了家中炫贤,開始學習硬件電子相關知識溅固,暑假便這樣在睡懶覺,焊收音機兰珍,看模電相關PDF中過去了一半侍郭。之后父母找親戚湊錢給我買了臺筆記本上大學用,于是終于可以開始學習單片機了。然而可能是第一次接觸亮元,腦回路還有些轉(zhuǎn)不過來猛计,許多單片機的寄存器概念一時半會理解不了,好在有C語言的基礎爆捞,暑假結束時奉瘤,也基本掌握51單片機的基礎用法了。
大學
進入大學后煮甥,目標明確的我開始混進學院的實驗室盗温,蹭用實驗室的各種工具和資源,諸如焊臺成肘、熱風槍卖局、開發(fā)板之類的,并開始學習STM32艇劫。同時吼驶,也經(jīng)常上網(wǎng)逛5imx論壇,而當時多旋翼在愛好者圈子里已經(jīng)逐漸流行開了店煞,許多人自己購買模塊組裝飛機蟹演,再掛上一個鷹眼之類的運動相機,便能實現(xiàn)簡單的航拍顷蟀。剛上大學酒请,人生地不熟,沒有收入來源鸣个,每月只有六百塊生活費的我羞反,自然沒有能力去diy一臺自己的飛機,只能繼續(xù)在實驗室學習囤萤,參加電協(xié)(后來我成了電協(xié)會長)的一些活動昼窗,還有學校里的小比賽,原先計劃是大一先打好各方面基礎涛舍,大二再開始想辦法弄自己的飛機澄惊。
大一下學期,參加了學校內(nèi)部舉辦的一個小比賽富雅,用一個熱得快和電磁繼電器做了一個水溫控制系統(tǒng)掸驱,第一次學習和使用了PID控制算法,為了調(diào)試PID參數(shù)没佑,查看數(shù)據(jù)波形毕贼,還用Labview做了一個簡易上位機。做完后控制精度還不錯蛤奢,很有成就感鬼癣,更重要是第一次踏進了控制算法的大門陶贼。
大一暑假時,我開始了多旋翼飛控的學習扣溺,當時網(wǎng)上在一些論壇上出現(xiàn)了許多迷你小四軸diy的個人項目骇窍,但是飛行效果還普遍不太行,甚至能飛起來的就算不錯了锥余,但好在成本較低,適合學生折騰痢掠。于是我在淘寶上花了幾十塊錢買了一個使用STM32F1為主控的小四軸PCBA驱犹,即焊好元器件的電路板,只提供原理圖足画,沒有任何代碼或固件及技術支持雄驹,順便還買了空心杯小電機和槳。當時只是稍微熟悉STM32的開發(fā)淹辞,對飛控算法還完全沒有任何了解医舆,而那時候網(wǎng)上的相關資料也并沒有現(xiàn)在這么多,花費了幾天時間還沒有太多進展象缀,后來找到了幾款當時的開源飛控蔬将,嘗試移植程序,終于能讓小四軸顫顫巍巍地離地了央星,不過沒有遙控器霞怀,沒有辦法做更多的測試。
暑假時我沒有回家而是留在學校繼續(xù)學習莉给,是因為當時準備參加暑假里的全國大學生電賽毙石,拉了兩個同為大一的并算是所有大一新生里面比較有基礎的同學一起參加比賽,而其它參賽隊伍的都是大二大三的颓遏,3人全是大一的隊伍基本算炮灰了徐矩。可能是命運中冥冥注定了我要踏上這條道路叁幢,在那一年的電賽中滤灯,首次出現(xiàn)了多旋翼的題目(以前基本都是小車之類的),雖然知道難度可能很大遥皂,但我還是毫不猶豫選擇了多旋翼力喷,在學院競賽經(jīng)費的支持下,我終于能把之前放在購物車好久的各種配件買了回來演训,開始組裝無刷動力的四旋翼弟孟。不過意想不到的是,比賽第一天題目下來后才知道飛控主控必須要使用一個誰也沒用過的瑞薩單片機样悟,結果4天下來拂募,除了加起來只睡了10個小時不到庭猩,燒死無數(shù)腦細胞之外,只做出了一個勉強能飛并預先設定好飛行時間以到達預定目標的大四軸陈症,后來也就只拿到了一個安慰獎性質(zhì)的省二等獎蔼水。
但從此開始,多旋翼的大門算是真正打開了录肯。比賽完了之后趴腋,我繼續(xù)自己的小四軸開發(fā),后來成為了國內(nèi)某開源飛控的主要開發(fā)者论咏,大二和大三期間优炬,除了參加一些專業(yè)比賽之外(主要是電賽和RoboMaster),大部分時間放在了多旋翼飛控的學習上厅贪,并開發(fā)了數(shù)款飛控和空心杯小四軸蠢护、小六軸,一個人承包了軟硬件設計养涮,還要負責SMT外包加工等瑣碎工作葵硕。知其然還需知其所以然,我一邊調(diào)試飛機贯吓,一邊學習相關的理論知識懈凹,在大二和大三的暑假末期,還去某個大學擔任了一個星期的多旋翼實訓課程的講師宣决,所用的課程道具就是自己設計的小飛機蘸劈。然而技術的大山如此之高,一個人的能力和精力又是有限的尊沸,什么都學什么都做的情況下很大可能性是什么都沒學好威沫。現(xiàn)在回過頭來才發(fā)現(xiàn),當時的自己對于多旋翼飛控技術的了解僅限于冰山一角而已洼专。
到了大四棒掠,前半年出去做了一些和多旋翼無關但很有趣的東西,后半年回來做畢設屁商,題目也是多旋翼相關烟很。但此時的我知道自己對飛控的了解還是太淺薄了,于是畢業(yè)時去了一家公司繼續(xù)做飛控蜡镶,花了三四個月的時間從頭到尾開發(fā)了一套完全功能的多旋翼飛控出來雾袱,開始應用于公司的航拍機產(chǎn)品上(雖然這個市場已經(jīng)被大疆霸占了,但還是有很多小公司在茍延殘喘中)官还,后面便是工廠和客戶源源不斷的反饋芹橡,基于這些反饋不斷地去優(yōu)化調(diào)整飛控程序,在這個期間望伦,逐漸加深了對于很多算法的理解林说,更明白了曾經(jīng)的自己是多么地無知煎殷。
目標與愿景
如今,消費機無人機市場不再熱門腿箩,市場份額牢牢掌握在大疆手中豪直,能存活下來的公司也就越少了,如果想專門從事多旋翼飛控開發(fā)方面的工作珠移,沒有一定水平是比較困難的弓乙,至少要比我高一個等級吧。那為什么我還繼續(xù)推薦大家來學習飛控呢剑梳?除了夢想和對藍天的渴望之外唆貌,更多的是可以得到一個有趣的動手實踐平臺,所有相關專業(yè)的學生垢乙,都能利用多旋翼,驗證自己所學知識语卤,了解多種經(jīng)典算法在實際工程中的應用追逮,還可以強化自己的嵌入式編程能力,一個完整的飛控對于普通的學生項目來說算是較大規(guī)模工程了粹舵。
另外有一件引人深思钮孵,懸在我心頭多年的事情,那便是眼滤,在近年來民用多旋翼行業(yè)發(fā)展得最紅火的中國巴席,卻沒有一款像樣的開源飛控,MWC诅需、APM漾唉、PX4、AutoQuad等耳熟能詳?shù)娘w控堰塌,均來自于國外的開源項目赵刑,其中APM/PX4更是一個前無古人的優(yōu)秀作品,養(yǎng)活了無數(shù)中國的小無人機廠商场刑。雖然這些開源飛控在性能上不及大疆的商業(yè)飛控般此,卻是為多旋翼飛控的發(fā)展建立了一個良好的生態(tài)圈,可惜由于大疆的一家獨大牵现,這個生態(tài)圈并沒有能以很快的速度迅猛發(fā)展下去铐懊。
而國內(nèi),至今仍沒有出現(xiàn)一個類似的開源飛控項目瞎疼,只能在淘寶上找到許多“收費開源飛控”科乎。近一兩年國內(nèi)偶爾會冒出幾個小的飛控開源項目,但基本都是小打小鬧丑慎,不成氣候喜喂,而且其中大部分的主力開發(fā)者均為在校大學生瓤摧,隨著他們的畢業(yè),項目基本就中止了玉吁。歷史經(jīng)驗告訴我們照弥,在中國,開源項目沒辦法盈利进副,盈利的項目通常不會開源这揣,在這樣的思想帶領下,能夠投身參與開源飛控開發(fā)的人就更少了影斑,除了在校學生给赞,但是大部分學生技術水平有限,且較少接觸實際產(chǎn)品和市場矫户,難以做出像樣的作品片迅。
但是,總是需要有人改變這個現(xiàn)狀皆辽,創(chuàng)造更好的條件柑蛇,為中國多旋翼行業(yè)的技術發(fā)展貢獻出一份力量,而不只是讓技術資源單單集中在某個公司身上驱闷。抱著這個想法耻台,我開始打造一套全新的開源飛控,前期單純由我個人投入淺薄的技術力量來建立一套完整的空另,高性能的多旋翼飛控盆耽,后期,依靠吸引全國各地的有志青年們扼菠,共同來完善這個飛控項目摄杂。這個開源飛控項目為:
截止目前,在github上已經(jīng)提交了兩百多commit娇豫,并完成了基本飛行功能的開發(fā)與初步測試匙姜,可以實現(xiàn)自穩(wěn)、定高冯痢、定點飛行及自動降落氮昧、自動返航等功能,接下來還將進行航點飛行浦楣、軌跡跟蹤控制等功能的開發(fā)袖肥,以及算法和其它細節(jié)優(yōu)化。同時會開發(fā)一個配套的飛控開發(fā)專用上位機振劳,方便飛控的優(yōu)化工作的持續(xù)性進展椎组。飛控兼容mavlink,也可以使用Mission Planner和QgroundControl這兩個功能強大的地面站历恐。
項目的最終目標寸癌,是打造出一套易于使用和開發(fā)专筷,且飛行性能比肩商業(yè)產(chǎn)品的中國本土化開源多旋翼飛控平臺,為中國的多旋翼無人機產(chǎn)業(yè)添磚加瓦蒸苇。
當發(fā)布飛控1.0版本后磷蛹,我會花一些時間寫一些相關教程,水平有限溪烤,僅供新手參考:
不過我也清楚,在當前中國的這個大環(huán)境下檬嘀,愿意付出和有時間付出的人太少槽驶,但如果這個項目名氣夠大,終究還是會有許多有能力的“閑人”愿意貢獻一份力量鸳兽,包括不僅限于BUG的發(fā)現(xiàn)掂铐,程序框架的優(yōu)化,算法的改進或重寫等揍异。未來堡纬,多旋翼飛行器的應用還有很大的擴展空間,有著一片廣袤的天空有待我們?nèi)ラ_發(fā)蒿秦,這個開源飛控僅僅是一個基礎,還有許多多旋翼相關的飛行應用需要被發(fā)掘和開發(fā)蛋济,至于未來我們能做出什么東西棍鳖,可能只有堅持不懈地努力做下去,才能找到答案碗旅。
最后我想起小說《三體》里的一句話:
在中國渡处,任何超脫飛揚的思想都會砰然墜地的,現(xiàn)實的引力太沉重了祟辟。
在中國這種浮躁的環(huán)境下医瘫,能夠把自身精力投入到自己熱愛的事情,并持續(xù)十年以上的人旧困,太少醇份,但正是因為從農(nóng)村走出來,我更加理解了自己的人生目標與動力吼具,并會一直朝著目標方向前進僚纷。十多年前的我,會花很多時間找到幾片放大鏡拗盒,然后加上黃皮紙怖竭,做成一個簡易長筒望遠鏡,只為了能夠?qū)⒁箍罩械男切怯^測得更清楚陡蝇,它們似乎告訴我痊臭,不能將自己的思想局限在這一片小小的籠子里哮肚,于是那時我經(jīng)常嘗試著和未來的自己對話,多年以后的自己广匙,還能和現(xiàn)在一樣保持初心么允趟?而今天的一切努力,都是為了告訴曾經(jīng)的我艇潭,在這條道路上拼窥,你并不孤獨,只不過時間維度不一樣而已蹋凝。