您有沒有想過擁有一款可以幫您滿足日常需求的設備?而且該設備能夠區分您(主人)和其他非授權用戶,這并非簡單的普通工具。在本教程中,我們將向您介紹一款能夠識別并理解您語音命令的智能機器人手臂。此機器手臂通過OpenCV軟件實現了人臉識別系統。(為了測試目的,我們開發了算法來檢測小球顏色。)
作為MakeMIT硬件馬拉松項目的一部分,我與同事Isac Andrei和VladNiculescu合作研發了該智能機器人手臂。由于其創新程度和創造性,該項目在硬件馬拉松中排名前10。
硬件
Arduino UNO
麥克風
網絡攝像頭
軟件
Arduino IDE
GitHub(https://github.com/DevicePlus/SmartRoboticArm)
工具
膠槍
丙烯酸樹脂
螺絲
膠帶
電鋸
第一步:結構與力學
處理機器手臂的手腕時,必須非常小心。如果不考慮伺服電機角度就開始組裝手腕部件,那么可能會導致手臂發生故障——機器人手臂可能發生您無法控制的混沌行為。在步驟1中,您需要做的就是將5臺伺服電機連接到Arduino開發板上,并找到每個伺服機構的正確位置。正確的順序是自下而上進行校準。
I.底座
底座設計為可向左移動90度,也可向右移動90度。將它放置在金屬升降機上進而使基座可以旋轉。這是一個關鍵部分,因為當發出語音命令的人移動時,手臂必須跟隨并追蹤人物。而且這種跟隨必須準確,以便攝像頭總能發現人臉。
圖1:底座頂視圖
底座隨動系統安裝在一個40 x 30厘米的大亞克力板上,以保持穩定。您也可以用更強大的材料替代亞克力板,從而支撐能夠拾起重物的大機器人手臂。
伺服電機安裝在一塊12 x 12厘米的較小亞克力板上。我們在小板中間鉆取了一個與伺服電機尺寸相同的孔。然后,將伺服電機用螺絲擰到孔上(圖2)。
圖2:底座(前視圖)
II.肩部
肩部由兩臺伺服電機組成,它們相互配合以拾取物體并放置在正確的位置。該項目最重要的校準就在肩部。這兩個伺服系統必須完美結合,從Arduino開發板上獲得完全相同的命令,并且必須反相同步。為了獲得良好的同步性,將兩臺電機放置在機器人手臂上之前,必須將其面對面放置并通過編程擺動到同一側。
圖3:伺服電機同步性
如果它們的行為不一致,那么處于上游位置的伺服電機會強制第二個電機移動,從而產生短路,最終導致第二個伺服電機燒掉。
如果伺服系統的分辨率不一樣,您將無法使它們同步。在這種情況下,最好的辦法則是僅使用一種伺服電機。如果它們質量很好,那么實際扭矩會與數據表相同,并且具有提升重物的能力。
另外,為了安全起見,在肩部的基座上裝一個旋鈕非常好。您也可以使用金屬支架,將其放置到所需角度,以防止機械臂墜落。
圖4:肩部組件
圖4顯示了我們之前構建的安裝在底座上的肩部。伺服機構固定的部位采用旋轉結構。肩部必須牢固地固定在基座上,但也必須能夠自由旋轉。平衡旋轉部分的每一邊也很重要,因為我們的裝置含有一些較重的支撐金屬部件。中心重量必須相同,這樣機器手臂旋轉時才不會掉落。對于這一部分,我們還放置了一個金屬筋(即金屬彎頭),以便伺服機構沒有插入時維持機器臂重量。
III.肘部
現在,我們來看一下肘部。肘部伺服部分通過手臂高度控制。由于手臂必須返回到原來位置,所以肘部延伸部分與肩部之間的最大角度不得超過100度。我們對該機器人手臂原型的肘部伺服系統進行編程,讓手臂撿起一個球——系統會協調捕捉器和肩膀,兩者相互配合,最終將球拾起。
肘部的工作原理如下:
當肘部延伸部分與肩部之間的角度較小時,肩部的角度將增大;
當肘部和肩部之間的角度較大時,肩部的角度將會減小。
圖5:肘部
肘部使用SketchUp STL設計,并用3D打印機打印。(STL擴展可以將圖形轉換為能夠打印的3D模型)。根據設計,肘部在允許彎曲的角度連接2個延伸部分。
圖6:肘部的3D模型
當然,肘部的延伸部件需要能夠很容易地抬起,所以除了肘部,延伸部分不應連接其他任何東西。每個丙烯酸樹脂延伸部件尺寸為20 x 7厘米。延伸部分的另一端用小丙烯酸片粘合起來,以便將兩部分固定在一起。您可以改變尺寸,但是由于伺服機構的限制,機械臂的尺寸不應太大。
如果您決定更改尺寸(比如制作一個較小的手臂),那么請確保計算出零件的正確尺寸。否則,手臂將發生故障,無法拾起重物。網絡攝像機安裝在延伸部件上。
圖7:安裝在機器人手臂上的網絡攝像頭
IV.手腕
手腕由能夠抓取某些小物體的爪鉗/捕捉器構成。在本文中,我們以抓取小球為例。當然,手臂還可以抓取并提起適合爪鉗的其他物體。您還可以根據您的具體偏好進行設計——必要時請使用SG90 SketchUp文件進行必要修改。您需要做的就根據所抓物體的形狀來改變爪鉗形狀。
圖8:手腕
手腕部分也使用SketchUp中的3D模型構建。如果我們想要拿起較重的物體,可以用爪鉗抓住它們。但是,爪鉗抓取物體時比較有力,可能會對其造成損壞。
圖9:手腕的3D模型
步驟2:連接伺服電機
1.底座
圖10:底座伺服系統的接線圖
底座伺服(圖2)被設置為從0度開始,這意味著它將從左側開始搜索用戶。其旋轉角度為140度——機器人手臂可追蹤人員遞送物體的范圍。我們在0度進行校準——這是伺服的中心,葉片面向上方垂直放置。
在控制功能中,基座的分辨率為4度。這是因為在這種情況下,精度不需要太完美。較高的精度反而會導致處理變得緩慢。
每次我們都都需要檢查伺服電機的位置,因為相互作用實時進行。為此,我們開發了兩個功能:左方和右方。這兩個功能可以從35個不同位置追蹤人員。
2.肩部和肘部
肩部與肘部一起能夠完成一項重要功能。他們必須彎曲機器人手臂。我們應當指出以下限制,這很重要:
由于前臂的長度,肩部的操作角度不能小于45度,我們有2個例子:
當肩部處于最低位置時,機器人手臂可以拾起最遠的物體;
當肩部處于最高位置時,機器人手臂可以拾起最近的物體;
我們選定的角度對于肩部來說已經足夠,因為它足以讓手臂拾起物體并將其交給正確的人員。
圖11:肩部范圍
肘部的最大位置不能超過140度,因為該項目的目的是在平面上構建機器人手臂,并且將攝像頭與用戶處保持在同一高度。我們認為只用70度即可,因為這足以彎曲機器人手臂。
肩部角度和肘部角度之間的組合使手臂具有很大的靈活性,從而形成完整的機器手臂,最終實現拾取物體的功能。
圖12:肘部范圍
圖13:肩部伺服接線圖
圖14:肘部伺服接線圖
本智能機器人手臂教程的第1部分描述了手臂的一般機械結構,以及伺服電機如何與手臂不同連接處進行連接的方法。
-
伺服電機
+關注
關注
85文章
2057瀏覽量
58098 -
智能機器人
+關注
關注
17文章
872瀏覽量
82468 -
機械結構
+關注
關注
3文章
27瀏覽量
4741
發布評論請先 登錄
相關推薦
評論