這篇文章來源于DevicePlus.com英語網站的翻譯稿。
六足機器人是最炫酷的機器人之一,但是通常價格昂貴。原因之一是它們由多個零部件組成,并且使用18個伺服,而這些都需要由某些微控制器來供電和驅動。在本教程中,我將展示如何通過使用3D打印所有零部件并僅使用12個伺服來構建您自己的Arduino六足機器人,或簡稱為Ardupod。準備好了嗎?那讓我們開始吧!
? Arduino UNO (或其他可兼容Arduino的開發板)
? Adafruit 16通道PWM擴展板(或模塊;但是,此處強烈建議使用該擴展板,因為它的原型面積很小)
? 12個帶有金屬齒輪的微型伺服(MG90S或其他同等規格產品)
? 4.8V或6V電池(鎳氫、鋰離子等)
? 60個M3螺栓+120個螺母和墊圈(僅用于身體,對于其他部件的安裝您需要再另外添加)
? 6個相同的圓珠筆彈簧
? HC-SR04超聲波測距模塊(可選)
軟件
? Arduino IDE
? SolidWorks或其他3D建模軟件
? Github – 您在這里可以找到所有用于打印的 Arduino源代碼和3D模型
其他工具
? 3D 打印機
? 非常建議使用萬用表、烙鐵和電鉆等其他工具
設計
如上所述,本次所設計的六足機器人僅需要12個伺服來移動六條腿。這意味著每條腿只配有兩個伺服,具有兩個自由度(DOF)。與通常的每條腿有三個伺服相比,這種方法有幾個優點。我們將需要更少的功率以及更少的處理時間來驅動伺服。但是,移除一個伺服也意味著我們犧牲了一個自由度,因此在對機器人進行穩定爬行的編程上會更具有挑戰性。
為了彌補缺少一個伺服所帶來的缺陷,所有腿部都有一個可以將伺服的角運動轉換為腿部線性運動的機械系統。您可以在以下動畫演示中看到該機制的工作原理。
正如您在視頻中所看到的那樣,該機制內含一個彈簧。彈簧的作用是對在打印過程中造成的所有誤差進行補償。另外,彈簧還可以提供更強大的支撐力,從而有助于實現更自然的爬行運動。您可以在任何地方獲取彈簧。比如,圓珠筆里的小彈簧就可以用在這里,但是您可能需要稍微修剪一下長度。請確保您所獲取的彈簧可以壓縮,并且足夠支撐機器人的重量。此外,在開始打印零部件之前,請確保彈簧適用于打印好的部件 leg_1和 leg_1_seg_1(詳情參見 Github )。
組裝
接下來,歡迎進入本文中最難的部分:組裝腿部。無論是在構建上還是編程上,這都屬于相當高階的一個項目。我們將假設打算制造這臺機器人的人對于使用諸如電鉆和烙鐵之類的設備具有基本的操作技能。
圖1:腿部組裝概覽
圖2:腿部組裝細節
圖3:組裝好的腿部
組裝腿部時,請始終記得必須在每兩個需要上下移動的塑料件之間放置一個墊圈。您可能需要用電鉆調整孔的大小,保證螺栓能夠自由旋轉。同時,請注意每個螺栓需要兩個螺母。
圖4:連接腿部關節:塑料件(黑色)和金屬件(淺灰色)
這對于保持整個支撐系統的正常工作十分重要。組裝腿部時,請確保不要將底部螺母擰得太緊,并調整至使塑料部件仍可以自由移動。然后,頂部螺母要盡可能擰到最緊。底部螺母保證了所有部件的自由移動,而頂部螺母保證了所有部件的緊固連接。如果您的螺母擰的過松,那么腿部會變得非常不穩定;如果擰的過緊,將會對伺服帶來不必要的負載。對腿部的調整可能要經過幾次嘗試才能完成。這是本教程中最重要的部分,因此請確保正確完成此步驟。
伺服通過一個小小的“三角臂”來固定在適當位置,這種三角臂通常用于將伺服齒輪軸連接到您想要移動的任何物體上。但是,在這種情況下,三角臂的位置將會被固定,以便當伺服運轉時,它也會自行移動,從而使腿部移動。
請確保您使用的是金屬齒輪伺服,而不是塑料齒輪伺服!在這種應用中如果使用塑料齒輪,不僅強度比金屬的低,而且其齒輪也可能會很快就損壞。
圖5:伺服附件細節。確保三角臂固定在適當位置。
伺服支架分為三部分,使其更易于打印。假設零部件是用丙烯晴丁二烯苯乙烯(ABS)打印的,那么可以使用丙酮來稍微溶解ABS,然后將這三部分粘在一起,再使其變干?;蛘?,如果您有條件使用更高質量的3D打印機,也可以一次性打印出整個部件。
圖6:伺服支架組裝細節
六足機器人的剩余部分就沒有那么復雜了:機身身體由兩塊板組成,我們可以在其上安裝所需的所有電子設備、電池和傳感器。您可以在打印之前設定好用于安裝電子設備的孔,也可以在打印之后再鉆孔。所有零部件和打印說明均可在 Github上獲取。
圖7:組裝好的身體:“A”為上板,“B”為底板。您還可以看到安裝在伺服上的超聲波傳感器。
成功!到這里,您已經完成了機器人的組裝,完成了本教程中最困難的部分。如果出現了什么問題,請不要擔心,再次進行嘗試。如有必要,請嘗試對打印件進行微調,然后查看是否有效。
接線
到目前為止,這是最簡單的部分了,因為我們將使用 Adafruit PWM擴展板來完成大部分工作。我們把擴展板連接到 Arduino,然后把伺服連接到擴展板。如果您使用的模塊無法直接連接到 Arduino,只需要將SDA、SCL以及 V+連接到 Arduino相應引腳即可(詳細信息請參見下圖)。
您可能已經注意到了,這里有一個放置電容器的位置,但是卻沒有電容器。不用擔心,這是有意為之!當許多伺服同時運轉時,電流峰值將達到幾安培。電容器將用來消除這些尖峰。您可能需要這種電容器來確保所有伺服的電源穩定。對于這種目的,使用電解電容器是最合適的,但是對電容值的選擇更多的是憑借猜測,而不是確切的科學計算。通常來說,電容值越大越好。電容器的電壓應略高于電池電壓,因此,如果使用6V電池為所有伺服供電,那么6.3V 4700μF應該可以滿足需求。
圖8:接線圖
在擴展板上,您還會注意到有一個單獨的電源端子。那是因為 Arduino本身無法提供足夠的電流來一次運行一個以上或兩個以上的伺服,需要將電池連接到此端子以及 Arduino電源輸入端(VIN和GND引腳)。
就是這樣,基本的接線已經完成!如果需要,您還可以添加更多模塊和傳感器,例如超聲波測距儀。
圖9:接線細節:建議將所有連接到同一條腿上的伺服的電纜困扎在一起。這樣,您將就知道哪條電纜通向哪個伺服。而且,這樣看起來也會比一團纏結的線纜更美觀一些。
圖10:帶有 HC-SR04超聲波傳感器的接線圖
在本教程中,我將添加一個超聲波傳感器,以使機器人能夠在附近有障礙物的情況下移動。我之所以選擇 HC-SR04,是因為它們非常便宜,并且易于與 Arduino一起使用。而且,這種特定傳感器的形狀類似于眼睛,您可以借此來分辨出機器人在看什么!
我將傳感器安裝在一個額外的伺服上(有關安裝細節請參見圖7)。對該傳感器進行接線也非常簡單,只是請注意不要將VCC引腳直接連接到電池上!如果您使用的是6V電池,這樣連接可能會損壞傳感器。將VCC引腳連接到 Arduino 5V輸出端,并將GND連接到GND。您可以將TRIG和ECHO引腳連接到剩下的任何數字引腳上,但要記得在代碼中對它們進行適當設置。我將它們連接到引腳3(TRIG)和引腳2(ECHO)上,因為我想在需要串行端口的情況下保持引腳0和1斷開。
結論
現在,您應該已經完成了所有硬件的組裝。接通電源之前,強烈建議您對所建立的每個連接進行測試和確認。
希望您到目前為止沒有遇到很棘手的問題。如果您對該設計有任何改進的建議,請在 Github上與我交流!請繼續關注本項目的第二部分,我們將進入到下一階段,進一步研究分析逆動力學,并且對這個神奇的 Arduino六角機器人(或者Ardupod )進行編程。
接下來您將看到的是 ArduPod一次伸展所有腿部!
審核編輯:湯梓紅
-
接線
+關注
關注
29文章
705瀏覽量
33108 -
Arduino
+關注
關注
187文章
6464瀏覽量
186684 -
六足機器人
+關注
關注
9文章
23瀏覽量
17031
發布評論請先 登錄
相關推薦
評論