導語:由於工業機器人不開源,無法二次開發,不能讓它按照我們想要的軌跡運動,於是索性直接買個小的開源機械臂,這樣既能夠對底層程式碼進行了解,也能動手實踐一下,在此記錄LeArm的學習歷程。
LeArm是深圳幻爾科技Hiwonder旗下的一塊產品,它是基於Scratch的6自由度可程式化機械臂,採用圖形化程式設計,配備十餘種電子模組,相容Arduino程式設計,支援二次開發。它擁有具有反饋功能的智慧序列匯流排舵機,可以實現夾取、分揀等功能,支援3種程式設計方式和5種控制方式。這裡我採用的是基於STM32微控制器的程式設計方式。
機械臂本體:機身由6個數位舵機組成,具有6自由度,最後一個自由度為夾爪的夾取,主控板為開源三合一開發板,末端執行器為合金機械爪。
三合一開發板:主要包括舵機介面,匯流排介面,電源介面,控制板開關,usb介面,離線按鍵(100號動作組)等。
晶片:STM32微控制器晶片。
藍芽4.0模組:用來接收手柄控制或手機控制的藍芽訊號。
PS2手柄和手柄接收器。
昨晚到的機械臂,因為我購買的是成品,所以很多零件不用自己組裝,直接將電源介面與電源介面卡連線接電即可。
疑惑:昨晚試了一下手柄控制,發現手柄控制沒有反應,手機控制嘗試過可以進行控制。
解決方法:重新燒錄初始程式到開發板中,此時手柄可以實現控制,問題解決。
手柄控制有兩種控制方式,包括單舵機模式和動作組模式。
單舵機模式:手柄上的按鍵單獨控制每個舵機的正反運轉。
動作組模式:手柄只能執行動作組0-20號的動作,組合鍵執行。
注:機械臂動作組最多有230個,每個動作組最多隻能有255個動作,超過255個只能線上執行不能下載。手柄上的組合按鍵只能實現0-20號動作組,超過20號的動作組只能通過上位機來實現執行。
3.1 上位機&動作組編輯
連線usb口和電腦介面,開啟上位機軟體,可以自己定義多個動作構成一個動作組,也可以開啟已有的動作組檔案,並將動作組下載到開發板中,新下載的動作組會覆蓋原有的動作組。
3.2 串聯動作檔案
多個動作組作為一個動作組執行。
3.3 離線執行
100號檔案,100號動作組,按下離線按鍵即可。
3.4 APP自定義控制
電腦下載動作組到開發板中,通過手機來定義動作組名稱,編號與下載到開發板中編號一致。
一系列操作不再贅述,簡而言之就是程式的編譯與燒錄。
燒錄步驟:接上usb線,脫帽,開啟機械臂電源開關,選擇需要燒錄的檔案.hex字尾,開始燒錄,提示一切正常後,斷開ubs接線,插回跳帽,按下RST按鍵,切換為執行模式。
根據以上的知識點,我們可以給自己設計個題目來綜合運用目前所學的知識。
step1:將整個路徑分解為多個路徑點,再將每個路徑點作為一個動作
如圖所示,將這個路徑規劃為10個動作,並將整個動作組下載到手柄能夠執行到的動作組編號中。(我這裡下載到的是6號動作組)
step2:連線手柄藍芽,一切正常顯示後,通過手柄對應按鍵來執行動作組6號。如發生手柄不能控制機械臂情況,則需重新燒錄程式實現初始化。
在實操機械臂後,有了一定的認識,對於精度方面,當然不能要求這樣一款小型的物美價廉的機械臂和工業機械臂相比,同時發現這款機械臂底座有點輕,需要加重底座來實現更穩的控制,本次作業只應用到了機械臂的基礎操作,後續將開始微控制器底層編碼的瞭解以及二次開發的應用,正好之前玩過樹莓派,初步感覺可以用LeArm+樹莓派實現二次開發。