(原標(biāo)題:專訪賓夕法尼亞大學(xué)Vijay Kumar:無人機(jī)背后的故事)
提到無人機(jī),有人也許會(huì)想到巡航在海上的大型的軍用武器,而近年來,隨著消費(fèi)級(jí)無人機(jī)的技術(shù)革新和價(jià)格優(yōu)勢(shì),這類無人機(jī)開始被大眾所熟悉。無論是攝影還是送貨,只要一提起無人機(jī),人們馬上會(huì)聯(lián)想到大疆(DJI)、Parrot(一家總部位于法國巴黎的無人機(jī)及無線產(chǎn)品制造商)、3D Robotics(由前《連線》雜志主編Chris Anderson和時(shí)年20歲的Jordi Munoz創(chuàng)建,主打北美市場(chǎng))、AscTec(德國Ascending公司旗下的無人機(jī)品牌)這些生產(chǎn)商。
然而,在美國賓夕法尼亞大學(xué)有這樣一間實(shí)驗(yàn)室,早在2006年就開始了無人機(jī)相關(guān)技術(shù)的探索,至今他們的無人機(jī)算法和技術(shù)在農(nóng)業(yè)、救災(zāi)、建筑、娛樂等方面有著廣泛的嘗試。相對(duì)于常見的攝影或物流類的無人機(jī),他們所研究的無人機(jī)應(yīng)用的場(chǎng)景更多樣、處理的問題更復(fù)雜、涉及的技術(shù)領(lǐng)域和更為寬泛??梢哉f,他們的每一個(gè)新進(jìn)展,都引領(lǐng)著整個(gè)無人機(jī)領(lǐng)域的技術(shù)變革,同時(shí)也是推動(dòng)無人機(jī)和人工智能領(lǐng)域發(fā)展的杠桿。
近日,《程序員》雜志在CCF–GAIR全球人工智能和機(jī)器人峰會(huì)上專訪了美國賓夕法尼亞大學(xué)工程學(xué)院院長,IEEE、ASME Fellow,美國國家工程院院士,Vijay Kumar。他就自己實(shí)驗(yàn)室最新的研究成果與我們進(jìn)行了交談。
除了攝影,無人機(jī)還能干什么?
Vijay Kumar是位印度裔機(jī)器人科學(xué)家,1983年畢業(yè)于印度理工學(xué)院坎普爾分校(IIT),后進(jìn)修于美國俄亥俄州立大學(xué),1987年獲得機(jī)械工程博士學(xué)位。Vijay是世界上第一批研究無人機(jī)的科學(xué)家之一,早在2006年,Vijay和他的團(tuán)隊(duì)便第一次成功開發(fā)出了四軸飛行器原型,并積極推廣無人機(jī)在多個(gè)實(shí)用場(chǎng)景下的應(yīng)用。十年后的今天,無人機(jī)產(chǎn)業(yè)早已變的炙手可熱,市場(chǎng)規(guī)模實(shí)現(xiàn)了百億美元的增長,有人估計(jì),到2020年,無人機(jī)市場(chǎng)將達(dá)到250億美元。盡管市場(chǎng)越來越熱,但學(xué)術(shù)界和產(chǎn)業(yè)界之間,依然存在一定的距離。這也讓Vijay坦言,他并不關(guān)心無人機(jī)市場(chǎng),眼下自己的重點(diǎn),依然放在無人機(jī)的四個(gè)核心研發(fā)問題上:體型、安全、智能、速度。雖然這四點(diǎn)看似簡單,但要是一一展開,無疑會(huì)讓我們看到一幅關(guān)于無人機(jī)的更大的畫卷。Vijay的最新研究成果,就是對(duì)這四點(diǎn)最好的詮釋。這些成果包括以下幾類。
自主小型飛行器(Autonomous Micro UAVs),這種飛行器可以利用GPS在復(fù)雜的三維環(huán)境中巡航,可以用于搜尋工作和精細(xì)農(nóng)作(Precision Farming)。這種無人機(jī)的重量只有20克,通過傳感器來規(guī)劃路線和監(jiān)控當(dāng)前環(huán)境,傳感器包括IMU(Inertial Measurement Unit)、攝像頭、激光測(cè)距儀、測(cè)高儀等。
飛行器矩陣(SWARMS,Scalable sWarms of Autonomous Robots and Mobile Sensors),在矩陣中,每臺(tái)飛行器都是以自主(Autonomic)的狀態(tài)完成任務(wù),在沒有中央控制系統(tǒng)的情況下,僅根據(jù)傍邊飛行器的反應(yīng)而作出調(diào)整,從而達(dá)到協(xié)作的目的。
微型生物機(jī)器人(Micro Bio Robots),這些微型機(jī)器人只有10~100微米,由生物傳感器和馬達(dá)制動(dòng)。他們可以被用于藥物探索、微創(chuàng)治療以及微型裝配。同時(shí),他們還可以被應(yīng)用在生物傳感器和生物電路的合成,幫助行成“傳感——驅(qū)動(dòng)——通信”的閉環(huán)。
飛天手機(jī)(Flying Smart Phones),智能手機(jī)是當(dāng)下最常見的高性能、低成本處理器和傳感器集成,用無人機(jī)搭載智能手機(jī),相當(dāng)于擁有了一個(gè)給力的CPU/GPU、兩個(gè)攝像頭、一塊電池、GPS、Wi-Fi、藍(lán)牙模塊、IMU、電信數(shù)據(jù)接收器,以及相應(yīng)的內(nèi)存。這無疑給飛行器賦予了更好的性能。
通過上述研究,無人機(jī)可以被應(yīng)用在很多場(chǎng)景,例如可以放進(jìn)大樓作為報(bào)警器,一旦有入侵者,馬上報(bào)警;在建筑內(nèi)尋找生化/煤氣泄漏,或者把飛行器送進(jìn)倒塌的樓房或核反應(yīng)堆,來探測(cè)放射強(qiáng)度;室內(nèi)建模,在陌生的空間內(nèi)構(gòu)建實(shí)時(shí)地圖,甚至連一些室內(nèi)細(xì)節(jié)都可以反映出來;搬運(yùn)重物;搭建建筑龍骨(目前,根據(jù)Vijay一位學(xué)生開發(fā)的算法,飛行器矩陣可以自己建造矩形的龍骨),飛行器根據(jù)對(duì)周圍飛行器的探測(cè),可以自行選擇用什么材料、用在哪里、什么時(shí)候用。
除此之外,Vijay研究的飛行器還有很多實(shí)際用途,例如精細(xì)農(nóng)作,通過熱感攝像機(jī)和普通攝像頭捕捉的數(shù)據(jù),分析每株作物的特定需求,并且將結(jié)果反饋給農(nóng)戶,比如作物A需要澆水、作物B需要施肥、作物C需要除蟲等。通過這一方式,無人機(jī)還可以計(jì)算每株作物的果實(shí)數(shù)量,從而幫助農(nóng)戶對(duì)收成進(jìn)行預(yù)估,以及找出染上疾病的作物。
仿生學(xué)在無人機(jī)領(lǐng)域的應(yīng)用
對(duì)仿生學(xué)的應(yīng)用是Vijay研究中最重要的思想之一,也是很多創(chuàng)新技術(shù)誕生的基石。在上面提到的無人機(jī)四個(gè)要素中,體型大小會(huì)對(duì)其他因素造成不同程度的影響。通過對(duì)蜜蜂的觀察,Vijay發(fā)現(xiàn),這種小型飛行生物可以很好地跟環(huán)境互動(dòng),即使相撞也不會(huì)受傷。同時(shí)小體型意味著慣性更小,速度更快,受到撞擊時(shí)也可以很快恢復(fù)。但小體型的代價(jià)卻是搭載的傳感器更少,單個(gè)飛行器能做的事情也有限。
為了彌補(bǔ)這一缺憾,Vijay和他的團(tuán)隊(duì)發(fā)明了飛行器矩陣,即通過一組飛行器來配合完成某項(xiàng)任務(wù),這也是Vijay團(tuán)隊(duì)無人機(jī)研究中最重要的概念。為了讓一組飛行器更有機(jī)地配合,他們?cè)俅谓梃b了仿生學(xué)規(guī)則。通過對(duì)切葉蟻亞科的盤腹蟻屬(Aphaenogaster)進(jìn)行觀察(如圖1所示),Vijay總結(jié)了三個(gè)重要的自然生物協(xié)同工作的原則。
切葉蟻亞科的盤腹蟻屬通過協(xié)作搬運(yùn)重物
獨(dú)立自主(Decentralized),蟻群不受任何“中央命令”的控制,每只螞蟻都是按照自己的本能做事;
臨近感知(Neighbor Sensing),單只螞蟻的行為根據(jù)自己“鄰居”的行為作出調(diào)整;
匿名(Anonymity),單只螞蟻對(duì)自己的“鄰居”是誰并不清楚,因此無論“鄰居”換成誰,都不會(huì)對(duì)自己的行為造成影響。
受到上述自然規(guī)則的啟發(fā),Vijay設(shè)計(jì)了原理類似的飛行器矩陣,這種矩陣被稱為Swarm(如圖2所示)。在Swarm中,每臺(tái)飛行器都裝有本地傳感器,并且擁有本地通信和計(jì)算能力。兩臺(tái)相鄰的飛行器通過傳感器控制彼此的距離,傳感器以100次/s的頻率將數(shù)據(jù)發(fā)送到處理器,并由處理器將解決方案?jìng)魉徒o電機(jī)。在圖2的示例中,Swarm利用鄰近感知原則,可以在障礙物前轉(zhuǎn)換陣型(Formation),由于匿名原則,在一個(gè)Swarm中,即使抽掉(或增加)了幾臺(tái)飛行器,陣型依然可以保持原樣。
Swarm無人機(jī)矩陣
而由于每臺(tái)飛行器都是獨(dú)立運(yùn)算行動(dòng)的,在另一個(gè)例子中,飛行器通過自身對(duì)環(huán)境的探測(cè),完成了一系列高難度的動(dòng)作,比如在狹窄的通道前轉(zhuǎn)體,鉆過通道后迅速恢復(fù)原樣;以及鉆過向上拋出的鐵圈等(如圖3所示)。這兩個(gè)例子的原理在于,人們先為飛行器預(yù)先編入飛行軌跡,但飛行器需要在預(yù)設(shè)的軌跡上加一個(gè)動(dòng)作,這需要它們先積聚動(dòng)能再改變方向,再回到預(yù)設(shè)的軌跡上來。它們知道怎樣完成每段獨(dú)立的軌跡,然后把每一小段的軌跡組合起來。
為了更好地理解Swarm,Vijay通過一個(gè)理論來進(jìn)一步說明,他稱這個(gè)理論為Consensus,Consensus解決的是在Swarm中到底該怎樣形成陣型(Formation),哪臺(tái)飛行器該飛到哪,矩陣如何保持一致性的問題。Vijay舉了一個(gè)例子。假設(shè)你身處一個(gè)5個(gè)人的房間,每個(gè)人腦子里都想一個(gè)數(shù)字(事先不能交流),這時(shí)5個(gè)人都想到同一個(gè)數(shù)字的概率小到可以忽略不計(jì),而這時(shí)你把你想到的數(shù)字告訴“鄰居”,“鄰居”再把自己聽到的數(shù)字相加再除以人數(shù)。比如A說1、B說4、C說10,當(dāng)你問C的數(shù)字是幾的時(shí)候,C會(huì)說5(1+4+10=15,3/15)。如果你們重復(fù)這一步驟,那么幾輪之后,你們就會(huì)得到相同的數(shù)字了。這就是為什么每臺(tái)無人機(jī)都有自己的飛行路線,但最終卻能協(xié)同起來的原因。
盡管在充分訓(xùn)練的情況下,Swarm已經(jīng)擁有良好的表現(xiàn),但Vijay也坦言,隨著飛行器的數(shù)量增多,Swarm的組織也越難,原因有二。其一是隨著飛行器數(shù)量的增加,單個(gè)飛行器對(duì)“鄰居”動(dòng)態(tài)的感知更難,需要掌握的數(shù)據(jù)也更多;其二在于,當(dāng)不同特征(Traits)的飛行器同時(shí)加入編隊(duì)后,對(duì)陣型的優(yōu)化影響很大。
Vijay團(tuán)隊(duì)曾做過一項(xiàng)實(shí)驗(yàn)。實(shí)驗(yàn)中,他們?yōu)椴煌娘w行器賦予不同的特征(Traits),使具備相同特征的飛行器成為一個(gè)“種群”(Species),讓不同“種群”的飛行器組成一個(gè)陣列,去完成某項(xiàng)任務(wù)。結(jié)果發(fā)現(xiàn),種群的基數(shù)越大陣型就越難被優(yōu)化。
無人機(jī),走出實(shí)驗(yàn)室要面臨更多的挑戰(zhàn)
今天,無人機(jī)在現(xiàn)實(shí)世界中的真實(shí)應(yīng)用案例還相當(dāng)有限,盡管2011年,Vijay的無人機(jī)曾被用來日本地震災(zāi)后的探測(cè)工作(如圖4所示),但要想讓無人機(jī)在更多的任務(wù)中發(fā)揮作用,依然面臨著不小的技術(shù)挑戰(zhàn),外部世界的復(fù)雜性遠(yuǎn)遠(yuǎn)超過實(shí)驗(yàn)室的模擬,除了上文提到的Swarm之外,無人機(jī)在室外甚至是災(zāi)難現(xiàn)場(chǎng)工作,還面臨著風(fēng)速、無GPS定位、懸停電量消耗、陡坡降落等難題。由于Vijay研究的無人機(jī)是“獨(dú)立”且完全“自動(dòng)”的(Autonomic),即使要完成從A點(diǎn)到B點(diǎn)這樣簡單的動(dòng)作,都要穿過一個(gè)12維的空間。
上圖是2011年在日本一所被地震震塌的房子內(nèi)構(gòu)建三維地圖,為了節(jié)省“體力”無人機(jī)由一臺(tái)地面機(jī)器人載入房間,之后再進(jìn)行飛行探測(cè)”。
Vijay的方法是把這個(gè)12維空間翹曲成一個(gè)4維空間(如圖5所示),這個(gè)4維空間由橫軸、縱軸、豎軸、旋轉(zhuǎn)軸組成。飛行器在這個(gè)4維空間中以10~100次/s的頻率規(guī)劃“最小化加速軌道”(Minimum Snap Trajectory),同時(shí)通過對(duì)位置向量、導(dǎo)數(shù)、速度和加速度的推導(dǎo),創(chuàng)造一個(gè)優(yōu)雅的飛行曲線,并且繞開障礙物。
無人機(jī)的飛行算法
然而當(dāng)飛行速度達(dá)到一定的量級(jí)之后,上面的方法就不利于避障了。由于無人機(jī)上的傳感器無法探測(cè)20米外的范圍,這時(shí)如果無人機(jī)以20m/s的速度運(yùn)行,一秒鐘后就會(huì)飛到一個(gè)完全陌生的環(huán)境或撞上障礙物。這時(shí)就需要建立一個(gè)二維地圖,在二維地圖中找到安全軌跡作為矢量集合,飛行器可以在這個(gè)矢量集合中去調(diào)整“最小化加速度軌道”。
下面我們來看看Vijay團(tuán)隊(duì)在實(shí)際應(yīng)用方面的一些關(guān)鍵技術(shù)研究
地圖構(gòu)建
地圖的構(gòu)建分為兩種,一種是在未知環(huán)境,且傳感器數(shù)量和信號(hào)都不好(尤其是無法使用GPS)的情況下創(chuàng)建拓?fù)涞貓D;另一種是構(gòu)建SLAM(Simultaneous Localization And Mapping)。關(guān)于第一種,Vijay和他的團(tuán)隊(duì)開發(fā)了一套創(chuàng)建拓?fù)涞貓D的算法工具,通過ROS呈現(xiàn)(機(jī)器人操作系統(tǒng))。這一算法需要先對(duì)自由空間進(jìn)行覆蓋,然后建立起該覆蓋環(huán)境的基本維諾圖(Voronoi Graph,如圖6所示)。
陌生環(huán)境下室內(nèi)拓?fù)涞貓D的構(gòu)建
而SLAM的構(gòu)建則要復(fù)雜一點(diǎn),在講解技術(shù)原理之前,我們不妨簡單地看一看這個(gè)近幾年在機(jī)器人、VR/AR領(lǐng)域經(jīng)常用到的技術(shù)。簡單來說,SLAM是指當(dāng)某種設(shè)備(如機(jī)器人、VR設(shè)備等)來到一個(gè)完全陌生的環(huán)境時(shí),它需要精準(zhǔn)地建立時(shí)間和空間的對(duì)應(yīng)關(guān)系,并能完美地回答以下一系列問題:我剛才在哪里,現(xiàn)在在哪里?我看到了什么?現(xiàn)在看到的和之前看到的有哪些異同?我過去的行走軌跡是什么?我現(xiàn)在看到的環(huán)境是什么樣子,和過去相比有怎樣的變化?我的軌跡抖嗎?我的位置飄嗎?我還能跟蹤到自己的軌跡嗎,如果我丟了應(yīng)該怎么辦?我過去建立的對(duì)環(huán)境的認(rèn)識(shí)還有用嗎?我能在已有環(huán)境的抽象里快速對(duì)現(xiàn)在的位置進(jìn)行定位嗎?
半密集重建與全密集重建圖
在Vijay的實(shí)踐中,他們采用了一種叫做“直接視覺SLAM”(Direct Visual SLAM) 的方法。與傳統(tǒng)的用來構(gòu)建“稀疏重建”(Sparse Reconstructions)的功能性算法相比,直接視覺SLAM更適合建立“半密集重建”(Semi-Dense Reconstruction)和“全密集重建”( Fully-Dense Reconstruction),如圖7所示。Vijay告訴我們,他們目標(biāo)是在一個(gè)標(biāo)準(zhǔn)CPU環(huán)境下,將視覺數(shù)據(jù)和慣導(dǎo)數(shù)據(jù)連接起來。整個(gè)過程被拆分為三個(gè)線程,第一個(gè)線程利用視覺數(shù)據(jù)和慣導(dǎo)數(shù)據(jù)做非線性優(yōu)化,對(duì)攝像頭的移動(dòng)做出判斷,這一過程以幀速率運(yùn)行,然后構(gòu)建出半密集地圖(Semi-Dense Map)。第二線程則需要構(gòu)建出一個(gè)擁有高梯度區(qū)域(High-Gradient Area)的半密集地圖,目的依然是對(duì)攝像頭位置進(jìn)行追蹤。第三線程則以較低的幀速率構(gòu)建出該場(chǎng)景的全密集重建。
無GPS環(huán)境下,微型無人機(jī)矩陣部署系統(tǒng)
只裝有少量傳感器的微型無人機(jī)矩陣,是否可以在惡劣的環(huán)境下工作(比如無法使用GPS等)?為了解答這一問題,Vijay團(tuán)隊(duì)在礦井和大風(fēng)的戶外進(jìn)行了試驗(yàn),他們開發(fā)了一套叫做“基于視覺的穩(wěn)定系統(tǒng)”(Visual-based Stabilization),這套系統(tǒng)被部署到了多個(gè)應(yīng)用模式中,包括:主從無人機(jī)矩陣(Leader Follower)、Swarm矩陣在監(jiān)控環(huán)境下的部署與穩(wěn)定、合作無人感知測(cè)量等。實(shí)驗(yàn)中,這些飛機(jī)的控制、運(yùn)動(dòng)規(guī)劃、穩(wěn)定性和軌道規(guī)劃都有不俗的表現(xiàn)。
高速無人機(jī)在陡坡的降落
救援型無人機(jī)需要在災(zāi)難現(xiàn)場(chǎng)長時(shí)間實(shí)時(shí)傳輸信息或構(gòu)建地圖,然而續(xù)航時(shí)間短仍然是個(gè)重要的短板。為了解決這一問題,Vijay和他的團(tuán)隊(duì),希望通過讓無人機(jī)隨時(shí)降落來“保存體力”,包括降落在各種質(zhì)地和各種角度的平面。Vijay為微型無人機(jī)設(shè)計(jì)了“抓器”,它可以牢牢“抓住”不同的平面,還可以抓取重物。下圖展示了高速飛行的無人機(jī)在陡坡降落的情況,目前Vijay的無人機(jī)可以在90度的陡坡實(shí)現(xiàn)高速降落(如下圖所示)。
高速飛行的無人機(jī)在50度和90度的平面降落
這個(gè)“抓器”不是一般的“爪子”,而是一個(gè)真空吸盤,通過微型真空泵來驅(qū)動(dòng)。他們對(duì)吸盤的設(shè)計(jì)和它與放氣、激活力度、最大抓舉力之間的關(guān)系作了很多次測(cè)試,最終這一吸盤做到了既可以抓取各種物體,又可以在陡坡上降落。
為了節(jié)省“體力”,Vijay和他的團(tuán)隊(duì)還做過其他嘗試。比如2011年他們讓一臺(tái)機(jī)器人背著無人機(jī)進(jìn)入一棟坍塌的大樓,進(jìn)到大樓呢,無人機(jī)才開始工作,用了兩個(gè)半小時(shí)繪制出了大樓內(nèi)部的地圖。
近景遙感技術(shù)在農(nóng)業(yè)上的應(yīng)用
通過近景遙感(Close-Range Remote Sensing)技術(shù)對(duì)柑橘屬果樹進(jìn)行檢測(cè),并對(duì)患青果病的果樹進(jìn)行識(shí)別。在佛羅里達(dá),青果病是威脅果樹健康的主要因素。在同一景深下,通過測(cè)量黃色偏振光的反射比,可以找出患病的果樹。此外,他們還制定了一套標(biāo)準(zhǔn)用來測(cè)量患病果樹樹葉中的淀粉沉積。在獲得這些信息之后,他們?cè)偌由弦粋€(gè)景深維度,和機(jī)器學(xué)習(xí)算法,識(shí)別的準(zhǔn)確率達(dá)到93%。不僅能識(shí)別患病的果樹,連青果病的傳染和早期受到感染的果樹也能分辨。
與Vijay Kumar對(duì)話實(shí)錄
程序員:你最近的研究并不太依靠外部設(shè)施,飛行器是完全“自動(dòng)”(Autonomic)的,而用到的技術(shù)卻談不上創(chuàng)新,你怎么看?
Vijay:目前我們所用到的技術(shù),比如動(dòng)作捕捉等確實(shí)稱不上新技術(shù),這類技術(shù)我們?cè)缭?008年就有所嘗試。但技術(shù)背后的算法卻是新的,理論也是新的,比如上面提到的陡坡降落等。新的理論讓“舊”的技術(shù)發(fā)揮新的作用。
程序員:你用手機(jī)作為傳感器集成,比起載有等量傳感器的無人機(jī),具體可以減重多少?
Vijay:一般一個(gè)載有等量傳感器的飛行器大約重3千克,懸停的時(shí)候會(huì)更重,電纜、傳感器、外壁的重量占45%~50%,要240瓦才能帶動(dòng)。而一臺(tái)iPhone6只有129克,只相當(dāng)于原來十分之一的重量。
程序員:既然無人機(jī)對(duì)重量的要求如此苛刻,那么執(zhí)行救災(zāi)任務(wù)時(shí)很難載人離開?
Vijay:的確。懸停是最大的問題,懸停時(shí)每千克消耗200瓦電力,要是載一個(gè)50公斤的人,每次懸停就要消耗一萬瓦以上的電力,這不是個(gè)小數(shù)字。但也不是沒有解決辦法,我們可以看看客機(jī),無人機(jī)也可以像客機(jī)那樣用飛機(jī)燃料、汽油或柴油當(dāng)作燃料。
程序員:你認(rèn)為無人機(jī)要想真正普及,技術(shù)是最大的門檻嗎?
Vijay:我不這么認(rèn)為。技術(shù)創(chuàng)新固然重要,但很多需求我們已經(jīng)知道該如何實(shí)現(xiàn)了。但商業(yè)創(chuàng)新現(xiàn)在依然處于摸索的階段。無人機(jī)要想實(shí)現(xiàn)普及,需要由商業(yè)創(chuàng)新來推動(dòng),這是我不擅長的。你看Uber和嘀嘀出行這兩家公司,他們的崛起并非因?yàn)樗麄冊(cè)诩夹g(shù)上有很大突破,而是因?yàn)樯虡I(yè)創(chuàng)新。