資料介紹
描述
介紹
我喜歡機器人手臂。我喜歡你只需要一些簡單的機械部件、一些伺服器或電機、一個好的軟件,你就可以獲得一個不僅壯觀有趣而且真正有用的設備。我想建立一個,因為我有一個我非常喜歡的機器人課程。
當你建造一個機械臂時,你可以學到很多東西,所以我認為這是一個很好的中級項目,可以加深你在機器人方面的知識。開始吧!
機械臂
你可以從大約 20 美元購買機器人手臂。為了進行實驗,我想從更便宜的開始。稍后我將建造或購買更強大的機器人手臂,但現在我將在Banggood 制作這款25 美元的 DIY 機器人手臂。
這是一個 4DoF(自由度)機械臂,其中 3 個伺服器用于移動,一個用于執行器(我在項目中將其稱為夾具)。這意味著夾具可以移動到特定區域的任何位置,但其角度不能改變。這是一個很大的限制,但現在還可以,它仍然適用于很多事情。
DIY 套件帶有 4 個伺服器,因此實際上除了控制器之外,您還可以獲得構建機器人手臂的每個組件。這些伺服器還不錯,但我更喜歡這些:
這些伺服系統比藍色的伺服系統快,并且使用金屬齒輪而不是塑料。
機器人零件有 4 個塑料片。您必須從這些表中刪除零件。
由一堆零件組成的機械臂套件。我建議您觀看以下視頻。在這段視頻中,一個俄羅斯人正在建造相同類型的機械臂。建筑部分于7:43開始。
我在包裝上獲得了有關如何構建機械臂的鏈接,但圖像和說明的質量都非常低。那個視頻好多了 可能你可以弄清楚什么是什么,但如果你這樣做,你最終會陷入組裝、拆卸、重新組裝的幾乎無限循環。
插入舵機時要非常小心。當您擰緊螺絲時,這種塑料的設計很容易折斷。螺釘的最佳緊固度對機器人的其他部分也很重要。把它們弄得太緊,你就不能用伺服系統移動機器人手臂的各個部分。
經過一番搭建后,您將擁有自己的機械臂。
定位伺服系統有足夠長的電纜,但夾具需要更長的電纜。我拆開了那個伺服器,拆掉了舊電纜,我使用了至少兩倍長的電纜。
腦
好吧,機器人手臂已經準備好了,但很可能你想以某種方式控制它。為此我需要一個微控制器,因此我選擇了我的Arduino 101來完成這項工作。
它是唯一使用英特爾微控制器(英特爾居里)的官方 Arduino 板。它具有內置陀螺儀和加速度計。它也有藍牙,所以它讓我有可能在未來通過 BLE 控制機器人。該板的另一個非常有用的功能是串行通信的工作方式。與大多數 Arduino 不同,USB 串行和引腳 1 和 0(TX 和 RX)上的 UART 并不相同。它有它的好處,比如當我重新編程 Arduino 時,我不必從引腳 0 和 1 斷開任何其他通信電路。它也可用于調試目的。
如果你想使用 USB 端口的串口,那么你必須使用“Serial”,如果你想使用 GPIO0 和 GPIO1 引腳,那么你有“Serial1”
Arduino 101 有 4 個支持 PWM 的 GPIO(GPIO3、GPIO5、GPIO6 和 GPIO9),我用它們來控制舵機。
溝通
我的機械臂可以通過串口進行控制(具體為 Serial1)。為此,我使用了最新的通信模塊WIZ750SR 。
這是一個帶有 Cortex-M0 MCU 的小型以太網模塊。它的基本功能是串行轉以太網模塊,但您可以輕松地重新編程模塊以滿足您的需求。如果你愿意,你可以把這個板變成一個 I2C 到以太網板。
一個非常酷的功能是板載 TCP 服務器(或客戶端)。使用 TCP 服務器,您可以遠程控制 Arduino,就像您通過 USB 串行所做的一樣,但可以在世界任何地方!在 Arduino 方面,它是完全透明的。您無需在草圖中添加任何額外代碼即可使用此模塊。
?
?
我還有一個 WIZ750SR-TTL-EVB 評估板。我可以為 WIZ750SR 供電并有一個調試 USB 端口,但除了一些早期的實驗外,我沒有使用它。
Arduino 101 和 WIZ750SR 都使用 3.3V,因此我不必對 TX 和 RX 引腳使用電平轉換。Arduino 還通過其電源為以太網模塊供電。該電路非常簡單,您可以在本項目的原理圖部分找到它。舵機有自己的 5V 電源。
設置模塊
要使用此板,您必須先對其進行配置。我不會重新記錄這部分,因為 WIZnet 的人已經在這里完成了,你可以確定你總是在那里獲得最新的文檔。
他們的文檔很棒,但我有一些值得了解的信息,并且我有一些(已解決的)問題值得分享。
首先,您可以從評估板的 USB 端口為開發板供電,但除此之外,此端口主要用于調試和刷寫。我相信您無法使用 USB 端口與 WIZ750SR 的 TCP 服務器通信,但如果您連接到此 COM 端口,您將收到調試信息。這讓我一開始有些困惑,因為我不知道會發生什么。
其次,如果 WIZ750SR 連接到您的網絡時藍色 LED 亮起,那么您的板應該正常工作,繼續使用配置工具,它應該找到板。
當我嘗試在配置工具中搜索設備時,我最大的問題發生了。第一次它工作得很好,但后來我沒有時間,所以我停在那里。兩周后,我再次嘗試執行此操作,但在多個操作系統和多個網絡上的計算機下再也找不到板子了。
我使用最新固件通過評估板的調試 USB 端口進行了重新刷新,并且它工作正常。我的 Windows PC 仍然找不到它,但 Ubuntu 下的 Python 版本可以。我不確定是什么問題,但這些步驟最終解決了我的問題。成功配置 WIZ750SR 后,我的 Windows PC 也可以再次找到它,所以我繼續工作。
正如我所讀到的,帶有虛擬網絡適配器調用的虛擬機也會弄亂搜索,所以如果你在搜索時遇到問題,你應該看看。
測試 TCP 通信的一個很好的工具是NetCat 。使用此軟件,您可以連接到 WIZ750SR 上的 TCP 服務器。安裝 NetCat 后,使用此命令進行連接:
nc [tcp_server_ip] [tcp_server_port]
之后,您可以直接從 WIZ750SR 發送和接收數據。我經常使用這個工具。
從 A 移動到 B
要移動機械臂,您必須告訴控制器您想要什么。最簡單的方法是直接更新所有舵機的角度。更新關節角度可以通過一些試驗和錯誤來完成,它實際上可以很好地工作。
瑣事:使用關節角度控制機器人手臂存在一個問題:很難找到特定 XYZ 坐標的最佳關節角度,以及可選的 Roll、Pitch 和 Yaw 角度(世界坐標)。從關節角度和線段長度獲取世界坐標是一個非常簡單的計算,但從世界坐標獲取關節角度是一個復雜得多的過程。一種稱為逆運動學的解決方案就是這樣做的工具。
在我的下一個機器人手臂項目中,我將使用逆運動學來控制具有世界坐標的機器人手臂,但現在我將僅使用關節角度來控制機器人。
系統的速度是這里的一個關鍵點。伺服系統非常快,但它們仍然需要時間才能到達接收到的位置。另一方面,跳線不喜歡快速移動,所以我不得不放慢速度。無論是在硬件部分還是軟件部分。
我通過為系統創建路徑計算并插入延遲來做到這一點。當您為機器人手臂發送新的關節角度時,您必須提供一個額外的參數:速度(mDelay)。基本上,您是在告訴機械臂控制器循環的最小步進時間。路徑計算器將計算每個定位伺服系統的可選步長。這意味著所有舵機將在大約同一時間達到其目標,并且速度取決于延遲。結果是每次都非常漂亮和平滑的線性運動。
效應器以不同的方式工作。基本上它只能有打開或關閉(具有3個不同級別的關閉強度)狀態,沒有平滑過渡。顯然你會想盡快抓住物體,同時移動應該是平滑和漂亮的。
該系統目前有兩種類型的命令。這是他們兩個的示例:
- G 1 --> 輕輕合上夾具。0 表示打開
- A 10 130 120 110 --> 以 10 毫秒的步進時間、130o 上關節角度??、120o 下關節角度和 110o 基礎旋轉器角度移動機器人手臂。
用于遠程控制的 Android 應用程序
好的,所以此時我可以從世界任何地方控制機械臂,但我必須手動編寫每個新命令。這種方式并不好玩。我需要一種更加用戶友好的方式來控制機械臂,所以我制作了一個 Android 應用程序來做到這一點。
該應用程序有一個 TCP 客戶端,因此它可以直接連接到 WIZ750SR 的 TCP 服務器。機械臂不存儲舊動作和未來動作的圖。它只知道當前的目標位置。這意味著應用程序不僅將整個運動圖發送到機械臂,而且會根據位置反饋定期向機械臂發送新位置。如果您關閉應用程序或斷開與 WIZ750SR 的連接,則機械臂將在到達最后接收到的位置后立即停止移動。
連接到機械臂后,您將進入配置屏幕。它包含 3 頁。第一個是 Run(稍后會詳細介紹),第二個是 Init,第三個是 Loop。Init 和 Loop 基本相同,它們唯一的區別是它們保存位置的位置。
除了保存按鈕外,屏幕還包含 4 個搜索欄和一個抓手按鈕。這些滑塊用于設置移動的位置和速度,而夾具按鈕用于打開或關閉效應器。所有更改都是瞬時的,因此您會立即看到機器人手臂上的新位置,但是您必須單擊保存按鈕才能將其添加到繪圖中。這是一個簡短的演示:
如果同時更改夾具狀態和機械臂位置,則會將其保存為兩個不同的命令。首先是夾具命令,然后是位置命令。
如您所料,情節的運行將從 init 開始。初始化和循環就像 Arduino 的設置和循環功能一樣工作。Init 適用于以后不會重復的動作。當初始化命令完成后,循環命令將隨之而來。循環命令將永遠重復,或者至少在您停止繪圖之前重復。如果您不需要循環或初始化,則只需將該字段留空。
這些字段是 EditText 字段,這意味著您可以輕松地編輯或刪除它們的內容。如果您不想使用滑塊,您可以手動編寫命令。您也可以復制和粘貼該圖。該應用程序將記住您運行的最后一個繪圖以供以后使用。
“配置”下的第一行用作測試的視覺反饋。左側部分顯示機器人手臂的最新目標位置(S - 發送),而右側字段是它的當前位置(R - 接收)。只要目標和當前位置相同,應用程序就會向機械臂發送一個新的目標位置。
Received command explanation:
5 0 100 116 60 --> Speed: 5, Gripper: open (0), upper joint angle: 100, lower joint angle: 116, base rotator angle: 60
?
如您所見,當只有 init 時,機械臂在執行完 init 命令后立即停止。
使用我的應用程序,您可以做很多事情,但未來還有很多改進的可能性。我計劃在圖中使用函數、條件控制、帶參數的循環等。
如果你想構建一個類似的機器人,你可以在這個項目的代碼段中找到 Arduino 代碼和機器人手臂控制器應用程序。
結果
我同時使用了 init 和 loop 命令,它允許我執行一些中等復雜的任務。這是一個關于我的機器人手臂如何設置一些橡皮鴨(init)然后開始一個接一個地移動它們的視頻,永遠(循環)。
正如您所看到的,如果您考慮到這是一個非常便宜的機械臂,具有嚴重的硬件相關限制,運動非常流暢、連續和準確。
結論
我的軟件運行得很好,將來我一定會努力改進這個機械臂,或者我會建造一個更先進的。我實現了我為這個項目計劃的一切,沒有任何嚴重的阻塞問題。
Arduino 101 非常適合這個用途。該板的唯一限制是僅有 4 個支持 PWM 的 GPIO。如果我將來構建一個自由度更高的新機械臂可能會成為問題,但是單獨的 USB 串行和 GPIO 串行在開發過程中非常有用,并且該板還可以提供大量計算能力。
我認為 Android 應用程序是個好主意,但是我必須使它更健壯、用戶友好并增加其功能。目前它是一個 alpha 版本。
WIZ750SR 是一個非常好的驚喜。我擔心這塊板會出現更多問題,但在配置之后,它工作得很好。它是完全透明的,我對此沒有任何問題。這是一個非常易于使用的設備,也是我曾經與我的任何微控制器一起使用過的最好的以太網模塊。
使用機械臂工作非常有趣,所以我一定會更多地了解它,然后與您分享我的知識!感謝您的閱讀!
?
- 全硬件TCP/IP嵌入式以太網控制器w5500中文資料 22次下載
- RJ45以太網口EMC設計總結 85次下載
- 基于FuzzyP的多臂機器人機械臂控制系統 13次下載
- 基于BGP MPLS的以太網VPN環境搭建源碼 16次下載
- PLC如何通過以太網與上位機之間進行通信詳細資料說明 61次下載
- 如何使用深度強化學習進行機械臂視覺抓取控制的優化方法概述 22次下載
- 如何解決通過以太網與施耐德Premium的PLC通訊的問題 9次下載
- 以太網物理層的有什么基本功能?如何通過Verilog HDL實現 273次下載
- Microchip以太網開關和EtherCAT工業控制器及MAC PHY控制設計解決方案
- MSP430和DM9000的以太網接口設計詳析 41次下載
- 如何通過以太網連接GPMC 5次下載
- 基于以太網的電機控制與診斷研究 32次下載
- 以太網調試軟件wizport
- 交換以太網在網絡控制系統中的應用
- 工業以太網中流量控制策略的研究
- 以太網交換機怎么用 以太網交換機有什么用 2066次閱讀
- 工業以太網的特點 工業以太網的關鍵技術包含哪些? 1079次閱讀
- 【開源獲獎案例】四軸機械臂控制系統 856次閱讀
- 以太網筆記:快速以太網100Base-TX接口及編碼 8596次閱讀
- FPGA如何為以太網和千兆以太網解決低功耗問題 3828次閱讀
- 基于通用型單片機和以太網控制器實現嵌入式以太網接口的設計 3217次閱讀
- 工業以太網的特點_工業以太網的技術特點 6993次閱讀
- 一文詳解什么是實時以太網 1.3w次閱讀
- 汽車以太網與工業以太網物理層對比 1.4w次閱讀
- 汽車以太網標準為什么這么重要?汽車以太網標準有什么作用? 1.5w次閱讀
- 如何使用西門子PLC通過以太網模塊和觸摸屏建立以太網通訊? 2w次閱讀
- 開啟400G以太網:Spirent 400G以太網測試系統 1482次閱讀
- 基于Xilinx FPGA的千兆以太網控制器的開發 3w次閱讀
- 嵌入式工業以太網的應用研究 1449次閱讀
- 細談應用工業以太網的優勢 1690次閱讀
下載排行
本周
- 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次下載 | 免費
評論
查看更多