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