4
編者注:本創(chuàng)客項目來自創(chuàng)客Prasantha Jayakody,他來自MIT,是一位資深創(chuàng)客,尤其喜歡機器人。硬創(chuàng)邦對此進行了編譯,原文發(fā)表在Hackster上。本文著作權(quán)歸作者所有,商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
如果你看過我的探測車項目——自主避障機器人,你就知道我是一個機器人迷。但是我的興趣不僅僅局限于輪式車輛。我工作臺上一輛雙足式的探測車已經(jīng)放了一年多了,看到它時,一個更加奇妙的想法誘惑了我——我打算造一個可以互動的機器六足昆蟲。我計劃將這個機器昆蟲送給我的女兒當禮物。
我開始使用了一個現(xiàn)成的框架包,但之后我決定使用Arduino兼容的微控制器和伺服控制器代替,我決定使用運行Windows 10 IoT Core的樹莓派2代開發(fā)板來打造六足機器昆蟲,樹莓派的計算性能也足夠滿足我們需要。然后我選用Adafruit的伺服驅(qū)動系統(tǒng)編碼控制器直接控制六足昆蟲的動作。
第一階段的目標是了解六足機器昆蟲的基本機制:運動模式、速度、力量和功耗。我發(fā)現(xiàn)每條腿有3個自由度是比較好的,所以需要在6條腿上配置18個伺服系統(tǒng),在每個方向都能發(fā)生運動。坦白講,六足機器昆蟲的動作不能算是最優(yōu)雅的,但在這一點上卻可以通過軟件進行完善;加之硬件平臺也提供了必要的精度和控制?,F(xiàn)在,上述的一切都是可操作的,我會開始跟蹤電池壽命,以及試圖優(yōu)化六足機器昆蟲的運行速度。
六足機器昆蟲物理結(jié)構(gòu)并不復雜,但很多地方我也是新手,尤其是還要在考慮伺服系統(tǒng)數(shù)量的同時對伺服中心點做一些機械修整。在軟件方面,相對而言,程序不是很復雜,因為我還在學習軟件開發(fā)和C #,這個項目讓我了解了許多新的概念和編程結(jié)構(gòu)。
以下是我在這個項目過程中發(fā)現(xiàn)的一些非常有用的資源:
在開始本項目之前,你至少要先掌握以下技能:
能夠?qū)indows 10 IoT Core運行到樹莓派2代開發(fā)板上;
將Windows 10和Visual Studio 2015安裝并運行在你自己的電腦上;
部署一個簡單的Windows應用,以確保一切正常工作。
部件:
樹莓派2代開發(fā)板及相關(guān)配件:8GB MicroSD儲存卡,電源適配器,有線網(wǎng)絡或WiFi適配器
Adafruit 16信道PWM脈寬調(diào)制/伺服編碼控制器(用于樹莓派2代開發(fā)板)
Lynxmotion Phoenix三自由度六足昆蟲盒(與開發(fā)板與電源搭配使用)
XBOX手柄遙控器
3S 3200mAh LiPo電池
5V/6V開關(guān)通用電池消除電路
2S 1000mAh LiPo電池
5V USB充電器/電壓轉(zhuǎn)換器
工具:
電烙鐵
可選:伺服測試器
下面我們就開始一步一步打造我們的機器人吧!
時間:兩小時
工具:螺絲刀
部件:昆蟲框架和伺服系統(tǒng)
依照說明書來組裝你的昆蟲盒組裝框架和安裝伺服系統(tǒng)。我買的Phoenix昆蟲盒,其安裝說明書寫得相對清晰,也寫得很好。盡管如此,我仍然花了約兩個小時把所有的足和身體的伺服系統(tǒng)安裝好。如果你有一個伺服測試器,就可以在在裝配前調(diào)整好伺服系統(tǒng),就比拆下伺服后重新調(diào)整要簡單多了。
時間:15分鐘
工具:螺絲刀
部件:樹莓派2代開發(fā)板,支架銷和螺釘和螺母
樹莓派2代開發(fā)板的底座安裝的位置和方法取決于你的六足昆蟲盒框架的結(jié)構(gòu)。樹莓派2代開發(fā)板對于連接其頂部和六足昆蟲盒框架底部板的支架鞘來說太長了,所以我把它安裝在六足昆蟲盒框架的頂部;加之,在六足昆蟲盒框架頂部的空間是安裝電池的理想位置。這個頂部安裝的樹莓派2代開發(fā)板的位置也能很容易的插入類似手柄遙控器的設(shè)備(HDMI電纜,插墻式電器和網(wǎng)絡電纜)。我將樹莓派2代開發(fā)板通過六足昆蟲盒框架頂部兩個對稱的安裝孔與前支架鞘對齊裝好。兩個后支架鞘與該六足昆蟲盒框架頂部上其余不對稱的安裝孔安裝好。
時間:30分鐘
工具:電烙鐵
部件:兩個伺服驅(qū)動系統(tǒng)編碼控制器和頭針
每個伺服驅(qū)動系統(tǒng)編碼控制器最多支持16個伺服系統(tǒng),所以我不得不再買一個伺服驅(qū)動系統(tǒng)編碼控制器來控制其余兩個伺服系統(tǒng)。幸運的是,Adafruit伺服驅(qū)動系統(tǒng)編碼控制器是可以堆疊使用的(只是要確保分別訂購堆疊頭和直角頭)。將堆疊頭和直角頭焊在其中一個伺服驅(qū)動系統(tǒng)編碼控制器的底部。再將堆疊頭焊接在另一個伺服驅(qū)動系統(tǒng)編碼控制器的頂部。確保設(shè)置編碼控制器的地址——每個編碼控制器有且只有一個唯一的地址——通過一滴焊錫橋接在右邊的地址跳線上。
最后,將其中一個編碼控制器的底部安裝在樹莓派2代開發(fā)板對應的2x20的頭針里,再將該編碼控制器的頂部安裝到另一編碼控制器的底部的堆疊頭上。注意使各編碼控制器與樹莓派2代開發(fā)板之間都沒有直接接觸短路。為了安全起見,我用一些細泡沫件絕緣皮將各編碼控制器與樹莓派2代開發(fā)板之間隔開。
時間:30分鐘
部件:電線插針和板上插孔
當把伺服驅(qū)動系統(tǒng)編碼控制器安裝到樹莓派2代開發(fā)板上以后,就可以著手連接伺服系統(tǒng)的電纜了。我將15個伺服系統(tǒng)連接到頂部的編碼控制器上,3個伺服系統(tǒng)連接到底部的編碼控制器上。將多個伺服系統(tǒng)連接到頂部的編碼控制器上構(gòu)造出一種將所有伺服系統(tǒng)融為一體的感覺。用塑料夾將每個伺服系統(tǒng)的3根線加起來,直頭(頂部的編碼控制器)相對直角頭(底部的編碼控制器)來說更方便,這就是將15個伺服系統(tǒng)連接到頂部的編碼控制器上的原因。實際上,塑料夾子加在直角頭上很松散,我把電線直接接在直角頭上。
如圖所示,我將六足機器昆蟲的腿按逆時針依次從0到5編號。我將每腿伺服系統(tǒng)按照水平髖伺服,垂直髖伺服和膝關(guān)節(jié)伺服的順序與其編碼控制器連接。這種一致性使得它很容易計算出編碼控制器哪一個通道上的伺服系統(tǒng)的伺服系統(tǒng)連接的腿和關(guān)節(jié)。
時間:15分鐘
工具:電烙鐵
部件:開關(guān),電池連接器,通用電池消除電路,圓筒型插孔
通用電池消除電路(UBEC)步進輸入你的2S(7.4V)或3S(11.1V)鋰電池,能夠讓你將輸出電壓設(shè)置為5V或6V;我選擇了6V,因為這樣伺服系統(tǒng)將獲得較高的扭矩。伺服驅(qū)動系統(tǒng)編碼控制器在終端支持5V的輸入和5-6v圓筒型插孔輸入,所以我在該UBEC輸出端拼接兩個圓筒型插孔。輸出端有三條線,但我們只需要兩個陽性(紅色)和地面(棕色或黑色)-簡單地只需剪去第三線即信號線(白色、黃色、橙色)。)如果你決定使用5V,你可以直接接在終端線而不必使用圓筒型插孔。
我在與電池連接的正極線加了一個內(nèi)聯(lián)開關(guān),該讓它更容易控制伺服機構(gòu)的電源通斷。這個小開關(guān)的安裝孔是六足昆蟲盒框架上預留的。
工具:電烙鐵
部件:5V USB充電器電壓轉(zhuǎn)換器,電池連接器
樹莓派2代開發(fā)板并不需要大范圍的電壓,所以你需要的僅僅是5V的電壓。手機的便攜式可充電電池是最好的選擇,其恒定輸出電壓為5V。用一個USB連接器連接到樹莓派2代開發(fā)板上。我有幾個不同的形狀和大小的電源可以用于樹莓派開發(fā)板和Arduino項目。
然而,我也想試試最近得到的這個電壓轉(zhuǎn)換器。這個電壓轉(zhuǎn)換器也輸出5V的電壓并支持USB連接。它也能顯示電壓,它也可以靈活地使用各種電池(或者只是換一個新電池,這樣我無需等待電池充滿電了)。
工具:Visual Studio 2015
從Github下載六足機器昆蟲所需的源代碼并將該項目加載到Visual Studio上去。該應用程序主要由三個文件構(gòu)成:運動源代碼、控制器源代碼和XBOX手柄遙控器源代碼。
XBOX手柄遙控器源代碼直接來源于Windows物聯(lián)網(wǎng)團隊發(fā)布的機器人套件項目。源代碼可以聽從XBOX手柄遙控器上DPad鍵或者左搖桿的動作指示。但DPad鍵只支持在四個方向上、下、左、右的運動。左搖桿支持基本相同的四個方向,但它也允許輸入額外四個方向東北、西北、西南、東南。一旦檢測到控制器事件,控制器的方向輸入就從控制器傳遞給控制器代碼中。
控制器的代碼將使Xbox控制器初始化。它也從機器人套件項目,但我刪除了幾個其他控制器選項。一旦控制器被初始化后,控制器代碼將收到來自Xbox控制器到適當?shù)倪\動方向的輸入信號。
運動源代碼首先通過I2C建立在伺服編碼控制器的兩個通道上。然后,它定義了所有的原始動作:行走、轉(zhuǎn)動和關(guān)節(jié)運動
我仍在嘗試著做新的運動。您將在代碼中看到,其中一個關(guān)節(jié)處有一個附加的參數(shù),決定著一個加合物的擺動度數(shù)。我認為,當我減少一些關(guān)節(jié)的運動范圍可以優(yōu)化速度,使復合運動更快完成。我也需要實驗減少延遲時間是否真的可以滿足的六足機器昆蟲六足轉(zhuǎn)動伺服的要求。
時間:15分鐘
工具:螺絲刀
一旦你完成了所有構(gòu)建和所需部署的代碼,你可能需要調(diào)整一些伺服系統(tǒng)的位置了。在步驟一中通過伺服試驗機,在裝配前調(diào)整好伺服系統(tǒng)中心大大減輕了伺服系統(tǒng)調(diào)整的工作量了,不過對安裝在底部的編碼控制器上的伺服系統(tǒng)進行微調(diào)還是必要的。我只需要調(diào)整一個垂直髖伺服和膝蓋部就可以了。
首先,將所有的伺服電機移動到他們的中心位置。然后看每一個關(guān)節(jié),看看它是否是適當?shù)慕嵌?。你可以旋開電動機上的伺服角(在伺服角頂部的單個螺絲)然后將伺服角從電動機的花鍵上旋下。旋轉(zhuǎn)的伺服喇角(和附加腿組件),直到它得到的所需的角度,然后推動伺服角回到花鍵上。如果這個角位置為關(guān)節(jié)提供了所需的角度,則旋轉(zhuǎn)螺釘并擰緊。對任何關(guān)節(jié)錯位重復這個過程。
看看下面的視頻吧:
2015-2016賽季全球創(chuàng)客馬拉松華南農(nóng)大站已經(jīng)開賽啦!只要你的創(chuàng)意夠新穎、動手能力夠強都可以來參加。還在等什么,快來參加吧!關(guān)注“硬創(chuàng)邦”(微信號:leiphone_bang),回復“華農(nóng)”即可參與報名!
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。