免費下載!
[!--downpath--]就這樣一年半了,項目斷斷續續仍在進行,期間我混了個結業,相信你們也經歷了好多吧。近來北京疫情,結業后的我那里也去不了,只能在宿舍等中學的投喂,這么剛好,讓我們項目繼續。
本節主要完整介紹這個機械臂的開源項目,首先介紹該項目的整體概述,然后介紹機械臂的硬件聯接,最后帶你們初步過一遍項目下位機的代碼,并才能對項目怎么布署有一個大致的印象。
一.項目概述1.1背景介紹
本項目是一個開源的六軸機械臂項目,項目名稱為-。是一個英國創客品牌,公司的官網地址為
她們公司主要業務為開源硬件設計和創客社群營運,所以本項目是她們研制的產品,并且從公司的產品頁面可以看見本項目早已不在繼續,產品頁面地址為
不過這并不妨礙我們自己動手搭建一個性價比極高的機械臂。
1.2項目獲取
謝謝公司將該款機械臂的控制系統的下位機代碼開源到了,讓我們才能獲取。項目地址為
因為國外訪問的不穩定性,我們也可以從國外鏡像網站上獲得,網站為
熟悉git操作的可以直接使用gitclone,不熟悉git的同學可以直接在克隆按鍵的出來框中選擇zip下載。項目介紹都是英語,有點難受。不要怕,接出來我們一起過一下。
其實完成下載并解壓后你會得到一個叫-項目文件夾,文件夾中結構為
arduino-sainsmart
├── arduino
│ ├── Makefile
│ └── sainsmart.ino
├── etc
│ └── dem
├── spec
│ └── .rb
├── controllerbase.hh
├── path.hh
├── profile.hh
├── calibration.hh.default
├── README.md
├── TODO.md
├── 一些介紹圖片
└── 5個.rb文件,可以不管
項目文件中包含了5個C++文件(.hh),5個ruby文件(.rb),1個文件(.ino)和許多介紹圖片(.jpg),通過圖片我們可以對項目有一個大致的了解,.md文件中包含了項目的描述以及后續須要發送的并口指令。
項目整體使用調用C++文件的方式機械助力臂扳手,所有的ruby文件都用于使用xbox控制機械臂,但我沒有xbox,所以并不準備使用這一功能,因而暫時可以不看ruby文件。
二.硬件聯接2.1硬件器件介紹
打開項目文件夾掃一遍圖片就可以看見本項目的機械外型和硬件器件,這種也可以參考本系列的前兩篇文章,這兒默認你們1.早已在心里有了機械臂的模型,2.早已訂購了所須要的電氣器件。
項目使用的控制板為UNO,這是一款熱門的diy板子,推薦訂購的板子,外加拓易拉寶,共140元。拓易拉寶插到UNO上后使用外接5V電源對拓易拉寶進行供電。使用并口線聯接UNO和筆記本進行燒寫調試。
六軸機械臂共有六個關節,加上腹部外加夾爪總共須要7個襟翼機械助力臂扳手,也可不用夾爪總共六個襟翼。1234軸使用MG995襟翼,56軸及外加軸使用9g襟翼。襟翼總共有三根導線,分別為橘黃線、紅線、棕線,其中藍色為接地線(重要),白色為+5v,橙紅色為訊號。
我們簡單對襟翼轉動的原理進行介紹,襟翼使用PWM波控制角度,PWM波是指周期脈沖方波,其中1表示接通,0表示斷掉,波形如右圖所示。PWM波由無數個周期波形組成,每位周期中包含一段高電位和一段低電位。襟翼的脈沖周期為20ms,其中每一周期中的高電位時間可在0.5ms與2.5ms之間調節。假如以垂直襟翼方向為0度,這么脈沖高電位時間與襟翼角度的關系如右圖所示。我們控制襟翼的角度顯然是在控制輸入襟翼PWM波脈沖中高電位所占的時間。這一部份可以參考孫老師的視頻
2.2聯接示意圖
好,了解完各個器件后我們將她們連在一起,依次將襟翼接在拓易拉寶的插口上,如圖為示意圖,請保證棕線接在GND上,默認
關節1(BASE)接11引腳
關節2()接10引腳
關節3(ELBOW)接9引腳
關節4(ROLL)接8引腳
關節5(PITCH)接7引腳
關節6(WRIST)接6引腳
外加關節()接5引腳
假如你已然搭建好了機械結構,并聯接好了所有的襟翼,將拓易拉寶進行了外接5v電源,這么恭喜你,你已然有了一臺六軸機械臂的本體。關于系列(二)中的建模雖然存在好多問題,我決定對機械臂重新建模,重新建模后的機械臂采用3d復印件作為所有桿件,便捷天貓購買,同時大大降低了零件的數目,機械臂的末端三軸坐落同一點,滿足機器人逆解要求。
三.軟件燒寫及使用說明3.1控制器及控制軟件
本項目使用的控制器為UNO,相信喜歡DIY的同學都對他非常熟悉,通過上傳固件即可實現對輸出IO口的控制。的控制程序編撰和上傳可以使用IDE,下載地址為
按照上文介紹的襟翼PWM波控制原理,可以曉得整個控制系統即為將我們想要的機器人位姿轉換為6個多級對應的PWM脈沖長度。讓我們再過一下項目文件夾中的文件
arduino-sainsmart
├── arduino
│ ├── Makefile
│ └── sainsmart.ino
├── etc
│ └── dem
├── spec
│ └── .rb
├── controllerbase.hh
├── path.hh
├── profile.hh
├── calibration.hh.default
├── README.md
├── TODO.md
├── 一些介紹圖片
└── 5個.rb文件,可以不管