Google AIY機器好朋友

2019-05-14
Facebook
Twitter

時間:>16小時
難度:困難
成本:$151-300美元

認識一下我的好閨蜜吧!他叫阿基米德,是一隻機器貓頭鷹,他會停在我的肩膀上,還會偵測周遭人的情緒,並透過不同顏色的燈光及聲響做出回應。多虧有這平移/傾斜伺服機雲台搭配由Arduino控制的馬達-他還能移動和四處張望。

大腦結構

組裝Google AIY Vision影像套件為此專題的首要之務,這個「DIY AI」入門套件組好後就是阿基米德的大腦和感測系統,包括:搭配「Bonnet」控制器的Raspberry Pi Zero W主板、相機、壓電式喇叭以及彩色發光按鈕。摺厚卡紙把機殼組起來真的很有趣。


只要按照Google官方說明就能完成套件組裝,接著再進行測試,確保裝置可正常運作。你的裝置應該要能執行預設的「愉悅偵測(Joy Detector)」,無須再編寫任何程式碼,但若你想要,當然能自行微調程式-程式是用Python寫的。「愉悅偵測」功能透過機器學習來偵測一個人正露出笑臉(按鈕變黃)或眉頭深鎖(按鈕變藍),若有特別明顯的表情,蜂鳴器會發出聲音,假如相機看到的臉孔不止一張,機器會將大家的愉悅分數作加總。

 

訣竅:請確認塑膠隔離支柱已安裝妥當,以避免PiBonnet機板受到重壓。我的支柱在拆解套件時弄壞了,所以也許可多買些支柱來用。

身體動作

兩個伺服馬達讓阿基米德可以將身體上下傾斜,還可轉動頭部,從一邊轉到另一邊。我用的是HackerBoxes的「Vision Quest」平移/傾斜機械裝置,但任何一種平移/傾斜裝置你都能用,假如你手邊已經有兩個伺服器,也可以用Thingiverse上提供的3D列印零件。請確認用來「傾斜」(tilt)的部件在下,用來「平移」(pan)的部件在上-因為貓頭鷹通常不會用雙腳轉動身體。

快速校正你的伺服器並確認公差,兩個方向分別能移動多遠的距離呢?(假如裝置發出警示聲,表示動作太大了),請編輯Arduino程式(Sketch)以符合所需,你也可以在此下載程式碼。現在,Arduino讓伺服機可隨機動作了,阿基米德也因此能觀看四周臉孔,但你也可以修改程式碼,讓他做出不同動作,或者更進一步思考如何用Raspberry Pi做出這些動作。

我推薦使用金屬齒輪伺服器,雖然會重一些,但這種零件肯定能控制像這樣的機器人,假如你用的是3D列印座架,而非金屬座架,你也可以只用塑膠齒輪伺服器,這麼做還有個好處,機器的整體重量會比較輕。

請將兩個伺服器都連接到Arduino上。

 

花點時間把所有零件焊接起來,等一切都動起來後,你就可以用熱融膠覆蓋這些接點,達到絕緣及固定的效果。

我用另一個專題裡的小麵包板來分接,以確保電路不會短路。

3D列印

我用Onshape來設計組成阿基米德的3D列印身體部件,Onshape是植基於瀏覽器(browser-based)的CAD建模應用程式。阿基米德共由五個部分組成:頭部、帽子、左翼和右翼以及胸前羽毛。

STL檔可在Hackster我彙整的文章內取得,假如你自己沒有3D列印機,也可以使用類似3D Hubs或Shapeways等服務。

想修改設計嗎?動手吧!以下是需納入考量的主要部分:

組成「大腦」的電子零件要裝得進頭部(電線雖然很長,但沒長到可達伺服機雲台下方)。

請確保空間足以輕鬆容納壓電式蜂鳴器和照相機模組-尤其注意照相機。若你想調整模型大小,這部分需額外微調。

我的貓頭鷹頭部列印出來後有點好笑,因為鳥嘴部分的列印支撐不是很成功。

因此,我用舊CD賦予他一個亮晶晶的鳥嘴,看起來很棒!作法是先把CD放進碗內,讓沸水蓋過CD,靜置5分鐘,你會發現CD已經有點剝層-CD兩個層已開始分離,其中亮晶晶的那面是儲存資料的地方。剝開其餘的部分,接下來你可以用剪刀剪開,修剪成你喜歡的鳥嘴樣式,我剪了兩塊對稱的形狀。

接著,用熱融膠把鳥嘴黏到貓頭鷹臉上,塑膠面朝外,這個鳥嘴出奇地耐用,不過還是留些CD在手邊,以供日後維修之用。

組裝機器貓頭鷹

準備好要組裝機器貓頭鷹後,請拿起3D列印的頭部和帽子,接著,把按鈕裝進帽子裡,再把電線往下穿過孔洞,用熱融膠將其固定在位,接下來,把帽子黏在頭頂上。

照相機從其中一隻眼睛向外照看,壓電蜂鳴器則在另一隻眼睛的位置,我已經用熱融膠把零件固定好了,膠藏得很好,而且黏得相當穩固(我常很在意黏膠)。顯示狀態的LED燈似乎有點擺盪不定,我覺得這樣看起來蠻酷的,但目前還不流行,我想你應該會把燈固定好。

 

拿出鋁線-這種線非常堅硬,一般是用來支撐雕塑品,可在美術工藝店找到。請在上方的伺服機架座找個適當的點,用鋁線綁幾個圈以支撐頭部,完成後,用熱縮套管包覆鋁線,如此可避免電子元件短路。

接下來,若你的伺服機架座是金屬製的,請貼上絕緣膠帶以讓主板Pi與之絕緣。接著,在上面貼一塊雙面泡棉膠,將主板Pi黏上,如此可將其牢牢固定,最後再放上頭部,蓋住這些電子元件。

現在,用兩段鋁線繫住翅膀,將線的一端穿過下方伺服機座架孔洞後綁住,再把翅膀穿進去,線穿過伺服機架座上另一個孔洞後回綁成一圈。

線徑厚度必須能放進翅膀上的洞環,而且要牢牢綁住,注意別太大力扭轉,這個裝置要能順利運作好幾個月,轉動機器貓頭鷹的頭部,確保它不會往下掉到翅膀所在的位置,造成零件及伺服機不幸毀損。
也請檢查一下Arduino程式於極端值之運作情形。

現在要組裝最後一個3D列印部件:請將羽毛那塊綁在下方伺服機前,不用綁太緊,我用較細的線綁成一圈,形成一個像領帶般的造型。

你可能會想為線圈上的貓頭鷹頭部加固,因為它隨時會突然往下掉…,但加固後要向好奇的朋友展示貓頭鷹大腦會稍加困難。

肩膀架座

終於來到穿戴機器貓頭鷹的時刻了!

取一段約6英尺長(或更長一點)的鋁線,將線的一端纏繞並穿過伺服機架座的基座,如此便能穩穩支撐裝置。未來我計畫客製一個可3D列印的肩膀架座,因為這些線經常鬆掉或者到處扭轉,不過目前這樣就夠了。另外,我還想做伺服機/支撐架較輕的機器裝置,如此整體運作應能更加順暢。

把剩餘的鋁線對折,現在腳踏車內胎要派上用場了:切下有氣嘴的那段,你就有一條中空長管可以用了(可能會跑出些粉末)。

在肩膀上環繞手臂綁一個圓環,固定在伺服機架座底部,接著,把對折的鋁線穿過輪胎管,但不要貫穿到底,將內胎頂端切開,綁到機器貓頭鷹底座。

現在將內胎管橫跨胸前,變成吊帶。

我用大圍巾包覆肩上的線圈和伺服機架座,這麼做可保護裝置,同時讓吊帶背起來更加舒適,我還在Arduino和它的電線旁打結,以達支撐作用並避免受力-我打算加一個3D列印外殼,不過它還是會從打好的圍巾結內垂下。

貓頭鷹出巡囉!

現在你可以戴上機器貓頭鷹了,讓它站在肩上,將線圈繫住手臂,再把線繞在身上,如此便能牢牢支撐裝置,接著整線,把橡膠管末端塞進去或綁好,這樣就不會和電線相互纏繞。祝你玩得開心!

[圖:Alex Glow、Lady Red Beacham]

 

Alex Glow

Alex創作許多影片及專題,她是Hackster(hackster.io)Hardware Nerd的領導人物,曾參與FIRST青少年機器人競賽,後來擔任AHA和Noisebridge駭客空間主辦人,特別喜歡某幾個專題,像是可用大腦操控的翅膀、繞行地球之歌以及機器貓頭鷹。

 

材料
˙Google AIY Vision Kit影像套件,包括由Raspberry Pi Zero Wireless微電腦控制之金屬齒輪伺服器大扭力舵機(2),我用的是Tower Pro MG996R。
˙伺服機平移/傾斜雲台,像是RobotShop的#RB-Lyn-101和RB-Lyn-81。

˙Arduino微控制器,我用的是MKR1000。
˙3D列印零件:頭部、帽子、右翼、左翼及胸前羽毛,3D列印檔可至bit.ly/robotowl免費下載。
˙USB連接線
˙USB 5V電源供應器,共需3個埠口。
˙雙面泡棉固定膠
˙鋁線
˙安裝線
˙熱縮套管
˙腳踏車內胎
˙舊CD
˙圍巾或印度紮染巾

 

(譯:曾筱涵)

【原文】