這是一款完全 3D打印的Tricopter無人機(jī),可以使用亞馬遜的Alexa地面站控制,通過語音控制進(jìn)行飛行 。這種語音控制的Tricopter也被稱為Oliver the Tri。
A Tricopter與Quadcopter更常見的無人機(jī)配置不同,只有3個(gè)螺旋槳。為了彌補(bǔ)一個(gè)較小程度的控制,其中一個(gè)轉(zhuǎn)子由伺服電機(jī)傾斜。 Oliver the Tri配備了Pixhawk自動(dòng)駕駛儀,這是一種先進(jìn)的自動(dòng)駕駛系統(tǒng),主要用于研究或先進(jìn)的無人機(jī)行業(yè)。該自動(dòng)駕駛系統(tǒng)具有多種飛行模式,包括跟隨我,航點(diǎn)導(dǎo)航和導(dǎo)航飛行。
亞馬遜的Alexa將使用導(dǎo)航飛行模式。它將處理語音命令并將它們發(fā)送到地面站,地面站將這些命令映射到MAVLink(微型飛行器通信協(xié)議)并通過遙測(cè)將它們發(fā)送到Pixhawk。
這種小型飛機(jī)盡管很小但功能強(qiáng)大。它長約30厘米,重1.2公斤,但我們的螺旋槳和馬達(dá)組合可以提升3公斤。
第1步:材料和設(shè)備
Tricopter
3無刷直流電機(jī)
3電機(jī)軸
8x4復(fù)合螺旋槳CCW
配電板
電線和連接器
TGY-777伺服電機(jī)
電池和電池連接器
6x 6-32x1“剪切螺栓,螺母*
3M Dual鎖*
Zip Ties *
自動(dòng)駕駛儀
Pixhawk自動(dòng)駕駛儀套件
GPS和外部指南針
900MHz遙測(cè)
安全RC控制
發(fā)射器和接收器對(duì)
PPM編碼器
語音控制地面站
Raspberry Pi Zero W套件或Raspberry Pi 3
Amazon Echo Dot或任何Amazon Echo產(chǎn)品
設(shè)備和工具
焊接站
3D打印機(jī)
針鼻鉗*
螺絲刀*
Allen Key Set *
*從本地硬件商店購買
第2步:內(nèi)容組織
由于這是一個(gè)相當(dāng)復(fù)雜的長期項(xiàng)目,我提供了一種方式將此構(gòu)建組織為可以同時(shí)執(zhí)行的三個(gè)主要部分:
硬件:三軸飛行器的物理框架和推進(jìn)系統(tǒng)。
自動(dòng)駕駛儀:飛行控制器計(jì)算PWM信號(hào)以提供每個(gè)3個(gè)無刷電機(jī)和伺服電機(jī)相應(yīng)的用戶命令。
語音控制:這允許用戶使用語音命令控制無人機(jī),并通過MAVLINK協(xié)議與Pixhawk板進(jìn)行通信。
第3步:下載Tricopter框架部件
tricopter的整個(gè)框架是3D打印的在Ultimaker 2+上。框架分為5個(gè)主要部件,以便安裝Ultimaker 2+的底板,并使其更容易重印和修理特定部件,以防它們?cè)谂鲎仓惺軗p。它們是:
2前電機(jī)臂(main-arm.stl)
1尾臂(tail-arm.stl)
1連接尾部和兩個(gè)前部電機(jī)臂之間的一塊(tail-arm-base.stl)
1尾部電機(jī)座(motor-platform.stl)
步驟4:3D打印Tricopter幀
使用至少50%的填充打印這些部件,并使用線作為填充圖案。對(duì)于殼厚度,我使用 0.7mm 的壁厚和 0.75mm 的頂部/底部厚度。添加構(gòu)建板粘合并在 8mm 處選擇邊緣。這個(gè)框架是用PLA塑料長絲印刷的,但如果你喜歡更堅(jiān)固但更重的三角形,你可以使用ABS塑料長絲。使用這些設(shè)置,打印所需的時(shí)間不到20小時(shí)。
如果邊緣沒有粘在3D打印機(jī)的打印面上,請(qǐng)使用膠棒將裙邊粘到打印面上。在打印結(jié)束時(shí),取下底板,清洗多余的膠水,然后擦干,再將其放回打印機(jī)。
步驟5:去除支撐和邊緣
3D打印部件將隨處打印,并帶有需要的外邊緣在組裝之前將其移除。
邊緣是單層PLA,可以用手輕易地從零件上剝離。另一方面,支撐更難以移除。為此,您需要一把尖嘴鉗和一把平頭螺絲刀。對(duì)于不在封閉空間內(nèi)的支撐,請(qǐng)使用尖嘴鉗壓碎支架并將其拉出。對(duì)于使用尖嘴鉗難以觸及的孔或封閉空間內(nèi)的支撐,要么鉆孔,要么使用平頭螺絲刀從側(cè)面撬開,然后用尖嘴鉗將其拉出。當(dāng)移除支撐件時(shí),如果您對(duì)3D打印部件施加過大的壓力,則可能會(huì)松開。
移除支撐件后,將支撐物所用的粗糙表面打磨掉或小心地雕刻用愛好刀保持支持。使用砂磨或研磨鉆頭和dremel來平滑螺孔。
步驟6:組裝Tricopter框架
對(duì)于裝配,你將需要六個(gè)螺栓(最好是剪切螺栓,6-32或更薄,1英寸長)將框架固定在一起。
采用名為main-arm.STL和tail-arm-base的3D打印部件。 STL。這些組件像拼圖一樣互鎖,尾臂基座夾在兩個(gè)主臂的中間。對(duì)齊四個(gè)螺孔,然后從頂部插入螺栓。如果零件不適合很容易,不要強(qiáng)迫它們。將尾臂基部打磨直到它們?yōu)橹埂?/p>
接下來,將尾臂滑到尾臂底部的突出端,直到螺絲孔對(duì)齊。同樣,您可能需要在適合之前進(jìn)行打磨。從頂部將其固定。
要組裝電機(jī)平臺(tái),首先需要將伺服器插入尾臂上的開口,向后指。兩個(gè)水平孔應(yīng)與伺服系統(tǒng)上的螺孔對(duì)齊。如果摩擦配合不充分,可以通過這些孔將其固定到位。然后將控制喇叭放在伺服上,但不要將其擰入。稍等片刻。
將電機(jī)平臺(tái)的軸滑入尾臂末端的孔中,另一側(cè)在喇叭上。喇叭應(yīng)該很好地適合平臺(tái)上的插入物。最后,將喇叭螺絲穿過平臺(tái)上的孔和喇叭,如上圖所示。
步驟7:安裝電機(jī)
無刷電機(jī)不會(huì)隨附螺旋槳軸和安裝的十字板預(yù)先連接,所以先將它們擰緊。接下來,使用隨附的螺釘或M3機(jī)器螺釘和螺母將它們固定在電機(jī)平臺(tái)和三軸飛行器的主臂上。您可以在此步驟安裝螺旋槳以確保間隙并欣賞您的手工,但在飛行前測(cè)試之前將其移除。
步驟8:連接自動(dòng)駕駛儀板
將傳感器連接到Pixhawk Autopilot板,如上圖所示。這些也在自動(dòng)導(dǎo)航板本身中標(biāo)記,并且連接非常簡單,即蜂鳴器連接到蜂鳴器端口,開關(guān)連接到交換機(jī)端口,電源模塊連接到電源模塊端口,遙測(cè)連接到telem1端口。 GPS和外部羅盤將有兩組連接器。將帶有更多引腳的引腳連接到GPS端口,將較小引腳連接到I2C。
進(jìn)入Pixhawk自動(dòng)駕駛儀板的這些DF13連接器非常易碎,所以不要拉扯電線,直接推拉塑料外殼。
步驟9:連接無線電通信系統(tǒng)
無線電控制通信系統(tǒng)將用作安全備份來控制四軸飛行器,以防地面站或Alexa發(fā)生故障或錯(cuò)誤命令另一個(gè)。
將PPM編碼器連接到無線電接收器,如上圖所示。 PPM編碼器和接收器都有標(biāo)簽,因此將S1到S6連接到接收器的信號(hào)引腳1到6。 S1還將帶有接地線和電壓線,通過PPM編碼器為接收器供電。
步驟10:焊接配電板
PDB將從鋰聚合物(LiPo)電池輸入電壓和電流為11.1V和125A,并將其分配給三個(gè)ESC,并通過電源模塊為Pixhawk Autopilot板供電。
這個(gè)電源模塊是從之前與朋友合作完成的項(xiàng)目中重復(fù)使用的。
之前,焊接電線,切斷熱縮以適應(yīng)每根電線,這樣就可以了之后可以滑到暴露的焊接端,以防止短路。首先將公XT90連接器引線焊接到PDB焊盤,然后將16 AWG焊線焊接到ESC,然后將XT60連接器焊接到這些電線上。
要將導(dǎo)線焊接到PDB焊盤上,您需要將其直立焊接,以便熱縮可以穿過并使端子絕緣。我發(fā)現(xiàn)最簡單的方法是用伸出的手將電線直立(特別是大型XT90電纜)并將其放在桌子上的PDB頂部。然后在PDB焊盤周圍焊接導(dǎo)線。然后,將熱縮管向下滑動(dòng)并加熱以使電路絕緣。在ESC線的其余部分重復(fù)此操作。要焊接XT60,請(qǐng)按照上一步說明如何用XT60s替換ESC電池端子。
步驟11:連接電機(jī)和電子速度控制器
由于我們使用無刷直流電機(jī),它們將配備三根電線,連接到電子設(shè)備的三個(gè)電線端子速度控制器(ESC)。電纜連接的順序與此步驟無關(guān)。當(dāng)我們第一次打開三軸飛行器時(shí),我們會(huì)檢查這個(gè)。
所有三個(gè)電機(jī)的旋轉(zhuǎn)應(yīng)逆時(shí)針旋轉(zhuǎn)。如果電機(jī)沒有逆時(shí)針旋轉(zhuǎn),則切換ESC和電機(jī)之間的三根導(dǎo)線中的任意兩根以反轉(zhuǎn)旋轉(zhuǎn)。
將所有ESC連接到配電板,為每個(gè)ESC提供電源。然后將右前方的ESC連接到pixhawk的主輸出1.將左前方的ESC連接到pixhawk的主輸出2,將伺服系統(tǒng)連接到主輸出7,將剩余的尾部ESC連接到主輸出4。
步驟12:設(shè)置自動(dòng)駕駛儀固件
為此選擇的固件Tricopter構(gòu)建是Ardupilot的Arducopter與Tricopter配置。按照向?qū)е械牟襟E操作,在固件中選擇tricopter配置。
步驟13:校準(zhǔn)內(nèi)部傳感器
連接tricopter通過選擇右上角的“自動(dòng)”使用無線遙測(cè)模塊,然后單擊“連接”。由于它通過900MHz連接,因此無線連接需要一段時(shí)間。
按照向?qū)е械牟襟E校準(zhǔn)以下內(nèi)部傳感器:
加速度計(jì)
外部指南針
由于三旋翼底部有組件,因此在用加速度計(jì)校準(zhǔn)水平位置之前,先用一個(gè)盒子支撐三軸飛行器。這是至關(guān)重要的,因?yàn)榧铀俣扔?jì)將用于確定三軸飛行器的姿態(tài)。
指南針需要從各種位置進(jìn)行采樣,因此您應(yīng)該在校準(zhǔn)過程中如上圖所示移動(dòng)直升機(jī)。
步驟14:使用亞馬遜進(jìn)行語音控制服務(wù)概述
我們將使用三種亞馬遜開發(fā)人員工具和服務(wù)來為Oliver the Tri提供語音控制。這些工具和服務(wù)將允許我們處理語音命令,運(yùn)行我們的代碼,并通過MQTT與我們的地面站進(jìn)行通信,然后將其轉(zhuǎn)發(fā)到Tricopter Drone。
我們將在接下來的步驟中設(shè)置以下內(nèi)容:
亞馬遜網(wǎng)絡(luò)服務(wù)(AWS)物聯(lián)網(wǎng)核心
亞馬遜網(wǎng)絡(luò)服務(wù)Lambdas
亞馬遜Alexa技能套件
此外,我們還將使用Raspberry Pi作為我們的地面站,運(yùn)行自定義版本的Mission Planner,它在導(dǎo)航自主飛行模式下運(yùn)行并使用MAVLink協(xié)議進(jìn)行遙測(cè)。
AWS IoT Core 將通過MQTT與Raspberry Pi地面站的“物聯(lián)網(wǎng)”(來自物聯(lián)網(wǎng))進(jìn)行通信。與MAVlink一樣,MQTT也是一種消息傳遞協(xié)議,但不是通過900MHz遙測(cè),而是通過WiFi進(jìn)行通信(在我們的例子中為2.4GHz)。簡而言之,AWS IoT核心在自身,服務(wù)器和它的節(jié)點(diǎn)Raspberry Pi之間建立了連接。
AWS Lambdas是一個(gè)運(yùn)行我們的NodeJS代碼的云計(jì)算平臺(tái)。 NodeJS代碼將處理解析的語音命令并處理特定技能的意圖。這包括Alexa的語音輸出,命令,驗(yàn)證有效命令等。
Amazon Alexa Skills Kit將用于通過Amazon Alexa設(shè)備收聽語音命令,并通過一組解析它我們定義的意圖和樣本話語。
步驟15:使用AWS IoT設(shè)置事物
首先,創(chuàng)建一個(gè)帳戶并登錄AWS控制臺(tái)。您可以免費(fèi)注冊(cè)。
登錄后,將服務(wù)器更改為N. Virginia,因?yàn)檫@是支持Alexa Skills Kit的地方。我的默認(rèn)為俄亥俄州,所以我不得不為N. Virginia重做它。
轉(zhuǎn)到服務(wù)并選擇 AWS IoT Core。
選擇管理》》內(nèi)容并選擇 注冊(cè)商品
在下一個(gè)屏幕上,單擊創(chuàng)建單個(gè)內(nèi)容
給你的東西一個(gè)合適的名稱,我打電話給我的PiGroundStation然后點(diǎn)擊下一步。
我們現(xiàn)在為物聯(lián)網(wǎng)創(chuàng)造了一件事。接下來我們需要設(shè)置證書和策略來提供我們的東西和lamda。
步驟16:設(shè)置安全證書
從AWS繼續(xù)IoT Thing向?qū)?,我們將?chuàng)建一個(gè)證書。
選擇創(chuàng)建證書
然后,下載所有文件,證書,公鑰,私鑰和根CA 。將這些文件保存到安全的地方,因?yàn)槲覀兩院笤谂渲玫孛嬲緯r(shí)需要它們,以便它可以與AWS通信。
導(dǎo)航至安全標(biāo)簽,找到您的證書。然后,選擇附加內(nèi)容,選擇您的內(nèi)容,并通過單擊附加將證書附加到該內(nèi)容。請(qǐng)注意證書ARN ,將其復(fù)制到記事本中,因?yàn)槲覀兩院髸?huì)需要它。
現(xiàn)在,我們將收集一些更重要的信息,為地面站的配置做準(zhǔn)備。
導(dǎo)航到 Interact 標(biāo)簽并復(fù)制 Rest API端點(diǎn),這將是我們的主機(jī)信息,以及 MQTT Thing影即可。
步驟17:創(chuàng)建策略
理想情況下,Thing和Lambda都有自己的策略。為了演示,我們將創(chuàng)建一個(gè)非常開放和寬松的策略,可以被Thing和Lamda使用。
在安全》》政策標(biāo)簽下,選擇創(chuàng)建政策
恰當(dāng)?shù)孛呗?,我將其命名為very_permissive_policy
將操作指定為 iot:* ,將資源指定為 *
選擇允許效果,然后點(diǎn)擊創(chuàng)建。
完成后,就像在證書步驟中一樣,將政策附加。請(qǐng)注意,策略ARN ,將其復(fù)制到記事本中。
步驟18:設(shè)置Lambdas
首先,確保您在N. Virginia服務(wù)器上,因?yàn)檫@將托管我們需要的Alexa技能套件。
導(dǎo)航到頂部面板并選擇服務(wù)》》 Lamda 。然后單擊,創(chuàng)建Lamda功能。
在創(chuàng)建功能窗口下,選擇從頭開始作業(yè)。為其指定名稱 EchoDroneControl ,因?yàn)檫@需要匹配Raspberry Pi上目錄的名稱。運(yùn)行時(shí)將是 Node.js 4.3 。
選擇“創(chuàng)建自定義角色”;這將打開一個(gè)彈出窗口,并為其指定一個(gè)角色名稱 lambda_basic_execution 。點(diǎn)擊Lambda角色頁面底部的允許。
返回Create Lamda Function頁面,將其他選項(xiàng)保留為默認(rèn)值,除了超時(shí),將其增加到 10秒。然后點(diǎn)擊下一步。
在觸發(fā)器下,添加 Alexa技能套件從左側(cè)窗格。
步驟19:創(chuàng)建新的Alexa技能
使用Alexa開發(fā)人員門戶創(chuàng)建一個(gè)帳戶。這是我們將創(chuàng)建自定義alexa技能的地方。
在頂部欄中,選擇 Alexa技能套件》》開始技能。
為您的Alexa技能提供適當(dāng)?shù)拿Q和調(diào)用名稱。我分別使用Drone Control和Drone作為我技能的名稱和調(diào)用名稱。然后單擊下一步。
將意圖架構(gòu)代碼復(fù)制到文本塊。
將示例話語代碼復(fù)制到底部文本塊。然后單擊下一步。
復(fù)制并粘貼之前步驟中保存在記事本中的 ARN鏈接,然后點(diǎn)擊下一步。
現(xiàn)在,在測(cè)試技能之前,我們需要設(shè)置地面控制站,lambdas將在下一步中與之通信。
步驟20:將Raspbian安裝到Raspberry Pi
從raspberry pi網(wǎng)站下載最新版本的noobs NOOB并解壓縮內(nèi)容。
將內(nèi)容復(fù)制并粘貼到格式化的FAT32 SD卡上。
然后將raspberry pi插入監(jiān)視器和電源,并按照向?qū)О惭b操作系統(tǒng)。
步驟21:安裝AWS命令和配置參數(shù)
在我們上傳文件并測(cè)試Lambda之前,我們首先需要安裝AWS Commands并配置一些訪問參數(shù)。
在Raspberry Pi上打開終端(或SSH)并運(yùn)行以下命令來安裝和驗(yàn)證AWS命令:
pip install awscli --user
aws --version
打開IAM控制臺(tái)并設(shè)置用戶詳細(xì)信息如下所示
在角色標(biāo)簽下,附上顯示在中的政策如下圖所示,然后單擊Next。這將用于在地面站上運(yùn)行配置文件。
步驟22:在Rasberry pi上設(shè)置自定義地面控制站
SSH ,并使用默認(rèn)密碼raspberry登錄。
登錄后在終端上輸入以下命令
cd ~
sudo apt-get install avahi-daemon
sudo chown pi /usr/local/ -R
sudo apt-get install nodejs npm -y
sudo apt-get install zip
sudo apt-get install screen
pip install awscli
pip install dronekit
pip install paho-mqtt
git clone https://bitbucket.org/veggiebenz/echodronecontrol/ dronecontrol
cd dronecontrol
mkdir certs
該代碼是開源的,可以在這里找到。這將被克隆到覆盆子pi地面站。
下載 Cyberduck ,這是一個(gè) SFTP 應(yīng)用,可以與raspberry pi進(jìn)行文件傳輸。
使用默認(rèn)用戶名pi和密碼raspberry登錄Cyberduck上的Raspberry pi。
將證書轉(zhuǎn)移到證書文件夾。
在Raspberry Pi上,導(dǎo)航到?/dronecontrol/EchoDroneControl/Lambda和Alexa技能所需的文件套件存儲(chǔ)并編輯 upload.sh 文件,并進(jìn)行以下更改:
將角色ARN值 e添加到第3行的變量中。
將 Rest API端點(diǎn)添加為主機(jī)。
添加 MQTT主題
添加 Alexa技能應(yīng)用ID
然后,將您為Lambda創(chuàng)建和下載的所有證書添加到 config.js 文件中。
最后,運(yùn)行upload.sh腳本文件,然后在終端中輸入以下內(nèi)容,輸入您從配置步驟中保存的密碼:
。 upload.sh
步驟23:享受飛行
找一個(gè)天氣好的日子,享受你選擇的任何模式飛行,無論是完全自主的航點(diǎn)導(dǎo)航,手動(dòng)飛行或語音控制。
以下是一些可以幫助您入門的命令:
Alexa Launch
Alexa向左轉(zhuǎn)
Alexa向前移動(dòng)5米
Alexa Land
-
無人機(jī)
+關(guān)注
關(guān)注
227文章
10311瀏覽量
179224 -
語音控制
+關(guān)注
關(guān)注
5文章
481瀏覽量
28217 -
3D打印
+關(guān)注
關(guān)注
26文章
3536瀏覽量
108763 -
樹莓派
+關(guān)注
關(guān)注
116文章
1696瀏覽量
105458
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論