農(nóng)業(yè)無人機(jī)
工業(yè)無人機(jī)
軍警無人機(jī)
娛教無人機(jī)
水下無人機(jī)
反無人機(jī)設(shè)備
無人機(jī)配件
無人機(jī)租賃
無人機(jī)培訓(xùn)
當(dāng)前位置:全球無人機(jī)網(wǎng) ? 無人機(jī)技術(shù) ? DIY ? 正文

200美元“造”出一臺可由語音控制外加能進(jìn)行人臉識別的自主飛行無人機(jī)

發(fā)布日期:2016-11-18??來源:Parrot派諾特我要投稿我要評論
繼“如何用100美元和TensorFlow來造一個能‘看’東西的機(jī)器人” 之后,Lukas又一最新力作。

結(jié)合深度學(xué)習(xí)和便宜硬件的更多探奇。

在“造”出能進(jìn)行物體識別的機(jī)器人后,下一步就很清晰了,我要“造”一個能飛的東西!我決定搞一個能自主飛行的無人機(jī),并要它能識別人臉和響應(yīng)語音指令。

    選擇一臺成品無人機(jī)

開始“黑入”一臺無人機(jī)的最難的部分就是如何開始。我最初的選擇是用零件組裝一臺無人機(jī)。但和我完成的大部分的DIY項目一樣,從零開始一般都耗費(fèi)了太多的時間,還不如直接買一個成品。實(shí)話實(shí)說,我自己組裝的無人機(jī)從來沒有正常的飛行過。而買一臺成品機(jī)就既省事又省錢。

絕大部分無人機(jī)廠商都宣稱提供API接口,但對于業(yè)余玩家來說就沒有一個明確的最佳選擇。大部分能提供貌似可用的API接口的無人機(jī)都要超過1000美元。這對于入門級的玩家來說就太貴了。

但經(jīng)過搜索,我發(fā)現(xiàn)Parrot AR 無人機(jī)2.0版(見圖1)是一個低端可“黑”入無人機(jī)的極佳選擇。新的售價是200美元,不過很多人在買了以后就不怎么再玩了,所以在eBay上花130美元或更少就能買到一個不錯的二手貨。



圖1:我車庫里的無人機(jī)收藏。最左邊的就是Parrot AR無人機(jī)。圖片由Lukas Biewald授權(quán)使用

論飛行穩(wěn)定性,Parrot AR型不如更貴的Parrot Bebop 2型(550美元)。但是Parrot AR型所帶的叫node-ar-drone的node.js客戶端庫是非常好用的。

Parrot AR型的另外一個優(yōu)點(diǎn)是它非常皮實(shí)、耐摔。在測試自主飛行代碼的時候,我的無人機(jī)頻繁地撞到墻、家具、植物甚至是我們家的客人,并墜落。但它還是依舊能正常飛行。

比起“造”能在地上跑的機(jī)器人,“造”無人機(jī)最不爽的一點(diǎn)就是它的電池可用時間太短了?;旧鲜浅潆妿仔r,飛行十幾分鐘。所以我建議多買兩塊電池,循環(huán)充電使用。

    給我的無人機(jī)開發(fā)程序

我經(jīng)過實(shí)踐發(fā)現(xiàn),Javascript內(nèi)在的事件驅(qū)動的特性使得它成為一種非常好的控制無人機(jī)的語言。請相信我,無人機(jī)飛行的時候,是有非常多的異步事件發(fā)生。我寫Node.JS的時間并不長,但在這個項目過程中,我對它的印象非常深刻。上一次我正兒八經(jīng)地為機(jī)器人寫程序用的是C語言。處理C語言的線程和異常是一件非常讓人頭疼的事,所以我盡量避免再使用它。我希望有人能為其他的機(jī)器人平臺開發(fā)出Javascript的接口,因?yàn)檫@會讓為機(jī)器人開發(fā)程序(完全無法預(yù)知會發(fā)生什么事)變得更簡單更有趣。

    架構(gòu)設(shè)計


我決定在我的筆記本上運(yùn)行控制邏輯,同時在云端運(yùn)行機(jī)器學(xué)習(xí)的部分。這種架構(gòu)設(shè)計比在樹莓派板上直接運(yùn)行神經(jīng)網(wǎng)絡(luò)的延遲要低。我認(rèn)為這種架構(gòu)對于業(yè)余無人機(jī)項目而言是合適的。

微軟、谷歌、IBM和亞馬遜都提供快速且便宜的機(jī)器學(xué)習(xí)API。最終我選擇了微軟的認(rèn)知服務(wù)API來完成這個項目,因?yàn)樗俏ㄒ惶峁┒ㄖ苹娜四樧R別功能的API。

圖2里展示了整個無人機(jī)項目的系統(tǒng)架構(gòu)。



圖2:智能無人機(jī)的系統(tǒng)架構(gòu)。圖片由Lukas Biewald授權(quán)使用

    開始動手

默認(rèn)地,Parrot AR無人機(jī)2.0版自己可以提供一個無線網(wǎng)絡(luò),供客戶端接入,但是這個功能卻極度煩人。每次你要實(shí)驗(yàn)點(diǎn)東西,你都需要從本地網(wǎng)絡(luò)斷開,再連到無人機(jī)的無線網(wǎng)里。好消息是,有一個叫ardrone-wpa2的項目,非常有用,用它你可以“黑”進(jìn)無人機(jī),并讓無人機(jī)連到你自己的無線網(wǎng)絡(luò)里。

Telnet到無人機(jī)操作系統(tǒng)上并游蕩一番是挺有趣的。Parrot無人機(jī)使用的是一個簡化版的Linux操作系統(tǒng)。你上次Telnet到某個系統(tǒng)上是什么時間哪?下面的命令例子就演示了如何打開一個終端并直接登錄到無人機(jī)的操作系統(tǒng)上。

% script/connect “The Optics Lab” -p “particleorwave” -a 192.168.0.1 -d 192.168.7.43

% telnet 192.168.7.43

    通過命令行來控制飛行

在安裝了node庫之后,下一步就是生成一個node.js的命令行運(yùn)行環(huán)境,然后就可以開始控制你的無人機(jī)了:

var arDrone = require(‘ar-drone’);

var client = arDrone.createClient({ip: ‘192.168.7.43’});

client.createRepl();

drone> takeoff()

true

drone> client.animate(‘yawDance, 1.0)

如果你按照我上面所說的一步一步地實(shí)驗(yàn)到這里,你的無人機(jī)肯定已經(jīng)墜落過了——至少好幾次。我已經(jīng)無數(shù)次地把我的無人機(jī)的保護(hù)外殼給它粘回機(jī)身上,直到它徹底解體,隨后我只好再買了一個新的。我不得不說,其實(shí)Parrot AR型在沒有保護(hù)外殼的時候飛行得更好。但這種方式會使無人機(jī)變得很危險。因?yàn)闆]有保護(hù)外殼的話,一旦無人機(jī)撞到東西,它的螺旋槳就會直接打到物體上,并留下刮痕。
?
本文鏈接:http://m.top-g.com.cn/tech/201611/18/209.html
標(biāo)簽:??
0相關(guān)評論
免責(zé)聲明:凡注明來源全球無人機(jī)網(wǎng)的所有作品,均為本網(wǎng)合法擁有版權(quán)或有權(quán)使用的作品,歡迎轉(zhuǎn)載,請注明出處。非本網(wǎng)作品均來自互聯(lián)網(wǎng),轉(zhuǎn)載目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對其真實(shí)性負(fù)責(zé)。

圖文推薦

推薦新聞

推薦品牌

關(guān)于本站

合作服務(wù)電話

  • 客服熱線:0755-23779287
  • 展會負(fù)責(zé):18682042306
  • 廣告合作:點(diǎn)擊這里給我發(fā)消息
  • 展會合作:點(diǎn)擊這里給我發(fā)消息

公眾號/APP下載


    (公眾號)


    (Android下載)

Copyright?2005-2021 81UAV.CN All Rights Reserved? 訪問和使用全球無人機(jī)網(wǎng),即表明您已完全接受和服從我們的用戶協(xié)議。 SITEMAPS 網(wǎng)站地圖 網(wǎng)站留言
運(yùn)營商: 湛江中龍網(wǎng)絡(luò)科技有限公司 全球無人機(jī)網(wǎng)?
ICP備案號:粵ICP備2023038372號-1 
全國公安機(jī)關(guān)?備案信息?可信網(wǎng)站不良舉報?文明轉(zhuǎn)播