資料介紹
描述
介紹
這個項目是我參加 2018 年 Arduino / Distrelec Automattion 競賽的參賽作品。它基于我今年早些時候設計并作為一個想法發布的滑冰機器人。我需要做的“唯一”事情就是開發一個可以通過 Blynk 控制的版本,然后在有良好的用戶界面后添加更多功能。當然事情從來沒有那么容易,我在下面寫了一些關于這個項目的東西。
目標是擁有更多功能,比如自主模式,但我需要在 9 月初專注于擁有一個工作機器人和盡可能整潔的東西,以適應比賽截止日期。我決定在我的 Blynk 應用程序中添加帶有伺服和超聲波傳感器以及簡單用戶界面的功能。自主移動是我接下來要做的事情。無論如何,我確信我的機器人在很多方面都是獨一無二的,并且可能展示了一種將行走與輪式推進相結合的方式。
背后的概念
機器人通??梢苑譃閮深?,輪式或步行式。輪式機器人設計簡單(基本上是遙控汽車)且移動速度快。有腿機器人更像是一項工程挑戰,因為它們需要復雜的編程才能移動四肢,挑戰本身就是我個人開發 KITtyBot 的原因之一。有腿式的優點是可以翻越障礙物和上下樓梯。這對于建筑物內的救援任務至關重要。但是在平坦的地面上,步行機器人比帶輪子的機器人慢。當然,這些概念可以通過多種方式組合,以便從兩個世界中獲得最佳效果。帶有高級懸架的輪式機器人可以越過障礙物,最終“懸架”可以更像“腿”,允許行走或攀爬。
我的項目評估了一個帶有被動輪子的機器人,即它們缺乏推進力。取而代之的是一個伺服系統,可以讓車輪傾斜,基本上就像汽車的前輪一樣。移動是通過滑冰(或者可能像劃獨木舟)來完成的,即利用可能性來調整輪子的角度并使用腿部運動向前推動。至少與普通步行相比,這允許進行相當快速且節能的運動。與具有“腿懸架”的傳統輪式機器人相比的優勢在于不需要電機驅動輪子。機器人可以隨時恢復行走。
大部分設計與我在項目中心發布的機器人 KITtyBot 相似。它使用相同的反向運動學來移動腳,如果它確實行走,它使用我為 KITtyBot 開發的相同步行步態。新的部分是腳上增加的“旱冰鞋”。輪子的接觸點位于腳尖在 KITtyBot 上的位置。
構建機器人
根據提供的文件打印零件。在開始之前,請花一些時間查看圖片并弄清楚如何組裝零件。
應首先組裝髖關節。我通過添加更多 3D 打印部件從 KITtyBot 開發了設計。為此,我還必須重新設計身體,新的髖關節需要多出幾毫米的空間。如果您碰巧有 KITtyBot 的零件在身邊,或者想將其中一個改裝成這個機器人,您可以這樣做。組裝好所有部件后,外形尺寸將相同
請注意,有兩個版本稱為 fl/rr(左前/右后)和 fr/rl(右前/左后)。制作四個髖關節需要每類各兩套。確保您對零件進行了分類。除了這四個引腳之外,還需要一個新的身體。保留了原版 KITtyBot 的腿和保險杠。
下圖顯示了關節的組裝。下圖中的分步說明顯示了如何進行 fl/rr 接頭。一旦你用完了一半的零件,另一個關節應該是直的。:)
接下來是腳關節。這還包括兩個 3D 打印部件和兩個伺服系統。有四個部分,每個部分稱為先腳和后腳。它們沒有分為 fr/rl 和 fl/rr 版本,因為它們會隨著伺服系統的安裝方式而改變。下面的圖片描述了安裝順序。
這樣做之后,腿就可以完成了。在繼續之前,最好確保所有 12 個舵機都居中。最好的方法是組裝電子設備,見下文,連接所有伺服系統并加載代碼。當 Arduino 啟動時,所有伺服系統將居中(命令信號 90 度)。
上肢、大腿和安裝輪子的部分(稱為腳)具有與伺服喇叭配合的凹槽,伺服喇叭通常與舵機一起交付。將喇叭粘到凹槽中。確保使用適用于連接 3D 打印材料和制成喇叭的尼龍塑料的膠水。我用的膠槍很好用,一些更好的 CA 膠也可以。
完整的腿組件應如下圖所示。首先將兩個伺服組件連接到大腿部分。大腿與垂直方向成 30 度角。這將在車輪伺服中心與下臀部 alpha 伺服中心對齊時實現。使其盡可能靠近,并在組裝好所有內容后微調代碼中的中心位置(見下文)。
然后可以將腳部組裝到它的伺服器上。車輪由 3D 打印的輪輞制成,帶有一個 O 形圈作為“輪胎”。輪子用 M3 螺絲和螺母安裝到腳上。在腳和輪之間使用兩個墊圈,以使其盡可能平穩地滾動。
然后可以將腿與身體組裝在一起。保險杠的凹槽中應粘有伺服喇叭。最好的方法是將伺服驅動器安裝到保險杠上,盡可能接近所需的角度,見下文,并用螺絲固定。然后可以將帶有兩條腿的完整保險杠安裝到車身上,并用伺服螺釘固定保險杠。注意:伺服系統隨附的所有螺釘都需要將伺服系統組裝到髖關節和腳關節上。你可能有一些額外的安裝螺絲,至少有備用伺服系統是個好建議,因為它們很容易壞掉。
下圖顯示了組裝好的機器人。電子面包板應安裝在機器人頂部。用尼龍搭扣將電池固定在“腹部”下方。可以取下來充電,也可以換上新充電的,還可以通過左右移動電池來調整重心。
添加超聲波傳感器和伺服
該項目的目標是借助安裝在伺服系統上的超聲波傳感器 HC-SR04 實現自主導航。好吧,3D 打印部件方面的硬件已經準備就緒,功能本身已經與電子設備一起進行了測試。我只是簡單地添加這些項目,因為它們在比賽截止日期時是這樣的,你可以選擇組裝它們并稍微玩一下,或者編寫自主導航和發布的代碼。:)
前保險杠應更換為美國保險杠,傳感器支架應組裝在第 17 個舵機的頂部。伺服本身安裝在前保險杠中。做這一切時,重心會向前移動。將機器人頂部的面包板移到后面是個好主意。
連接電子設備
連接組件非常簡單。然而,有些事情值得一提。在繼續之前,我覺得有必要寫一些關于 LiPo 電池的東西(我也在我之前的項目 KITtyBot 中寫過免責聲明)。
我使用完全沒有保護的鋰聚合物電池。這可能是有風險的,主要的危險是放電太快或太深。只要不是意外短路,第一個危險就可以避免。普通 R/C 電池的放電率為 25 C,在這種情況下允許 12 A。兩個 UBEC 將防止它在任何情況下各自高于 2 至 3 A。如果電池電壓降至 6 V,UBEC 無法為舵機和 MKR 提供電壓,這恰好是低電壓的限制,因此可以防止第二個危險。為了增加監控,Blynk 應用程序中安裝了一個電壓指示器。KITYBot 有一個主動電壓監控,可以讓機器人休息,但不需要它,因為機器人會在電壓過高之前自行停止工作。
最后我必須強調,電池應使用專用充電器充電,并按常規小心處理,切勿在無人看管的情況下充電。電池應從機器人上拆下(使用尼龍搭扣安裝)并在防火袋內充電,或至少與易燃材料保持安全距離,以便火勢得以遏制且不會蔓延。還要安全地存放電池。
如果您不熟悉鋰聚合物電池,請咨詢當地的 R/C 業余愛好商店并購買電池以及合適的充電器,可能還有用于充電和儲存的防火袋/容器。這些物品通常帶有警告標志。閱讀它們并運用您自己的良好判斷力。:)
將兩個 UBEC 連接到電池引線。還有另外兩根電線直接從電池側饋電。在我的例子中,這些“兩根電線”是一根報廢的伺服電纜,信號線(黃色或白色)已被移除。它整齊地安裝在面包板上的公-公接頭上。然后它變得類似于 UBEC 的電源輸出線。
如原理圖所示,一個電源 UBEC 1 為伺服控制器供電。另一個 UBEC2 連接到面包板上的“上電源軌”,為 MKR 供電。如果需要,此軌稍后可用于為更多 5 V 設備供電,請參見下文。電池電源(在我的例子中是剝離的伺服電纜)連接到較低的電源軌。A1 引腳由此通過兩個電阻饋電以測量電池電量。通過這兩個電阻器,電池功率按比例降低,因此 10.6 V 轉換為 3.3 V,從而為 8.4 V 的最大電池電壓提供了相當大的余量。
當我第一次連接電子設備時,我遇到了抖動伺服系統的嚴重問題。這是一個已知現象,伺服控制器準備添加一個電容器來平衡電壓振蕩。我看到了“經驗法則”,每個伺服使用大約 100 uF 的容量,在我的例子中加起來達到 1600 uF。我在我的東西中發現了一個 2200 uF 的電容器并焊接到卡上,一切正常。所提供的 3 A 對于所有這些數量的伺服系統來說有點低(如果所有 16 個伺服系統同時停止,最壞的情況是大約 8 到 10 A),但是隨著電容器的增加,功耗的峰值可能是平了。
如果您想添加美國傳感器和伺服器,還有另一個示意圖顯示要添加的內容。伺服和超聲波傳感器都在 5 V 下工作最佳。從面包板的 5 V 導軌供電。這些組件本身通過從 MKR1000 獲取 3.3 V 信號來工作。但要注意一件事。來自 US 傳感器的返回信號“回聲”將為 5V。為了保護 MKR1000,分壓器必須使用 2.2 和 1.0 K 電阻(或任何其他電阻比約為 1 比 2 的電阻對)。
Blynk 應用程序
這個項目真正的新穎之處在于使用 Blynk 以便在我的 iPhone 上擁有用戶界面并能夠通過 wifi 控制它。Blynk 的使用引起了對如何編寫代碼的重新思考。Blynk 的基本規則是:
- 沒有延誤
- 避免在 loop() 中有代碼
- 使用時間(而不是做上面的兩個禁忌)
這樣做的原因(我認為)是需要經常調用 blynk.run() 。如果不是,一切都會變糟。我計劃重用和開發的 KITtyBot 代碼肯定打破了第二條規則,因為它有幾秒鐘的冗長函數調用。我可以通過偶爾在代碼中加入一個 blynk.run() 命令來讓它工作,但是當閱讀論壇時,很明顯核心專家說“使用計時”然后是“它不是 har根本”。我把這當作一個挑戰并決定重寫以適應“Blynk方式”
所以 Arduino 每 100 毫秒調用一次函數。執行此操作時,它要么讀取按鈕狀態以接收新命令,要么繼續執行 100 毫秒前的操作。滑板或步行步態由幾個連續的動作組成,其中一些可以在 100 毫秒的間隔內執行,一些需要分成更小的部分,同步動作通常需要 500 毫秒。這一點,連同電源問題,在比賽截止日期前花了相當長的時間來解決。
操縱桿控制正常滑行。機器人是非??煽氐?,它可以前進和后退,也可以做非常急的轉彎。我還添加了一個開關來將模式更改為一種叫做“舞蹈”的東西,在這種模式中,操縱桿改為控制身體在兩個方向上的運動。添加更多內容是為了顯示通過添加 Blynk 小部件和幾行代碼并使用我為 KITtyBot 開發的功能可以輕松添加新功能。正常行走和轉彎的方式與 KITtyBot 上的相同,只需按下四個按鈕之一,并在您想讓它移動時一直按住它們(我必須做的“唯一”事情就是重新考慮 Blynk)。
電池指示器只需添加一個連接到 A1 的垂直電平即可。限制是 580 到 810。這個,10.6 V 是模擬引腳上的最大值 1023,電平測量值在 6.0 到 8.4 V 之間(電池應在該限制內運行)。小部件每秒更新一次。
如果添加了 US 傳感器,則距離測量由標記值小部件完成。還添加了一個滑塊來移動平移伺服。后者的值限制在 20 到 160 之間,以便在伺服系統 0 到 180 度的操作范圍內發出命令(為端點提供 20 度的余量)。
下圖顯示了我如何在 iPhone 上組織小部件。我在 Arduino 代碼的開頭添加了關于如何定義每個小部件的注釋。
校準舵機
這張來自 KITtyBot 的圖片展示了如何定義不同的幾何參數。相應的變量可以在 Arduino 代碼中找到。
在使用機器人之前,應微調中心位置。這是通過在代碼中編輯數組 servodeg0 來完成的:
const int servonum = 16; // The amount of servos
const float servodeg0[servonum] = {90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90};
這些值的順序為 alfa、beta gamma 和前/左、后/左、前/右、后/右。所以右前方的beta是數組中的第八個位置或者servodeg0[7](數組的編號從0開始)。最后四個是腳舵機,順序為 f/l、r/l、f/rr/r。
還有一個稱為 servodir 的數組,用于定義舵機的旋轉方向。
const int servodir[servonum] = { +1, +1, -1, -1, -1, +1, -1, -1, -1, +1, +1, +1, -1, -1, -1, -1};
我使用的舵機沿逆時針方向從 0 度移動到 180 度。我在某處讀到有舵機朝另一個方向移動。在這種情況下,陣列 servodir 必須一直改變它們的符號。
啟動 Arduino 并檢查所有舵機的角度。采取措施,看看一切看起來都是筆直和對稱的。
然后在客廳地板上溜冰。:)
- 制作Arduino控制的機器人
- Arduino機器人開源
- Arduino機器人
- Arduino飛行機器人
- Arduino越野機器人
- Arduino機器人開源項目
- 如何制作Arduino相撲機器人
- Arduino機器人開源分享
- Arduino機器人Ludos開源
- Arduino機器人螞蟻
- ARLOK arduino機器人
- 魔方機器人(三)Arduino
- Arduino教學機器人的使用教程免費下載 37次下載
- Arduino開發機器人經典書籍推薦Arduino開發實戰指南:機器人卷
- Arduino機器人制作指南-奧松機器人 34次下載
- 如何使用Arduino制造一個自動平衡機器人 4429次閱讀
- 鑄造機器人是什么?選擇工業機器人應該考慮的方向 1137次閱讀
- 面對疫情 醫療機器人能幫上什么忙? 2126次閱讀
- dfrobotSparki機器人套裝簡介 2064次閱讀
- dfrobotDevastator履帶機器人移動平臺簡介 1515次閱讀
- dfrobotArduino 創意機器人入門簡介 1748次閱讀
- 工業機器人編程入門_工業機器人的編程要求 9571次閱讀
- 醫用機器人的定義_醫用機器人發展 3122次閱讀
- 醫用機器人的功能_醫用機器人分類 2227次閱讀
- 機器人控制器有哪些類型_機器人控制器發展 1.1w次閱讀
- 協作機器人的起源_為什么需要協作機器人 8127次閱讀
- 機器視覺的機器人取代四臺傳統的火焰處理機器人 3270次閱讀
- 如何區分機器人、協作機器人和移動機器人? 6828次閱讀
- 軟體機器人 前所未見的機器人 3692次閱讀
- 機器人的最佳編程語言是什么?機器人十大流行編程語言匯總 3.4w次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數據手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多