歡迎光臨陜西驪山低速風(fēng)機動力制造有限公司官網(wǎng)!

全國咨詢熱線:

400-8888-888

自由度編程機器人_5自由度教學(xué)機器人總體方案設(shè)計

所屬分類:客戶案例 發(fā)布日期:2024-10-12 瀏覽次數(shù):4

  

  

  前言

  互聯(lián)網(wǎng)時代,技術(shù)自由度編程機器人的進(jìn)步,文化自由度編程機器人的傳播,自由的表達(dá),讓每一個個體都有了閃光的機會。形形色色的極客,各種 DIY,關(guān)注技術(shù)時尚,展示自己創(chuàng)意,也是新時代的賞心樂事。

  工業(yè)機器人,高自由度的機械手臂,明晃晃的高科技啊。擁有一臺靈活控制的機械手,應(yīng)該是極客們的幸福事情。

  

  現(xiàn)在機會來了,Dobot 團(tuán)隊開發(fā)了一款桌面型機械手,可以擺在書桌上,小巧玲瓏,控制簡單靈活。能做什么,就等你開發(fā)了。

  開箱

  不多說,拆箱!看看全家福吧。

  

  不得不提是包裝格外有創(chuàng)意,讓人想起來千層餅??吹缴蠄D那厚厚的一摞泡沫塑料了嗎?看看拆箱時的情景吧。

  給未出殼的機械手來個特寫吧!機械手金屬表面的處理很有質(zhì)感。

  

  抓手設(shè)計的很巧妙,抓緊狀態(tài)->電機旋轉(zhuǎn)->松開狀態(tài)->電機旋轉(zhuǎn)->抓緊狀態(tài),這期間電機不需要反向旋轉(zhuǎn)。

  

  很用心的設(shè)計,連接線上用標(biāo)簽扎線,既可以提示,又可以扎線。

  

  裝配

  Dobot 配件有機械臂主體、電源線、控制器、USB 線、爪子和激光頭等配件,機械臂由三個電機控制。

  

  控制器的每個接線都有標(biāo)簽,其中1號電機接 Stepper_R 電機,2號電機接 Stepper_L 電機,3號電機接 Stepper_rot 電機。

  

  Dobot 主體有三個臂可以運動,分別為圖2-2中的1、2、3表示。其中1號臂由1號電機控制,2號臂由2號電機控制,3號臂由3號電機控制。

  為了獲得當(dāng)前機械臂的姿態(tài),需要安裝傳感器,1號臂安裝標(biāo)簽為 rear arm 的傳感器,2號臂安裝標(biāo)簽為 Forearm 的傳感器(注意:由于2號臂較窄,需要拆卸2號臂才可以裝入)

  

  控制器有兩個接口,分別為 USB 接口和電源接口,插入電源和 USB 接口,則帶有氣泵功能的機械手臂安裝完成。插好 Dobot 機械手上的電機、傳感器連接控制器,然后通過 USB 與電腦相連。

  

  使用

  裝配完成,接下來可以通電操作啦。沒上電之前,機械手軟軟的,先讓機械手?jǐn)[放一個Pose,打開電源開關(guān)??刂破髁⒖探庸軝C械手的控制權(quán),機械手硬了。小伙伴千萬要留意,通電后就不要強行轉(zhuǎn)動機械手。

  下面讓我們先在電腦上測試一下。去Dobot官網(wǎng)下載并安裝驅(qū)動。驅(qū)動是Arduino驅(qū)動,Arduino可是非常流行的開源硬件,簡單易上手,用過的都知道。安裝件dobottools,撥動開關(guān)切換控制器為USB控制。

  

  運行DobotClient軟件,Dobot服務(wù)器會自動運行。點擊右上角的菜單,可以對Dobot進(jìn)行配置,比如設(shè)置機械手末端是抓手、激光筆或者氣泵。

  DobotClient示教功能提供兩種控制模式:單關(guān)節(jié)點動和坐標(biāo)軸點動。單關(guān)節(jié)點動模式直接控制機械手的關(guān)節(jié)轉(zhuǎn)動,挖掘機就是這么開的。坐標(biāo)軸點動模式控制機械手末端移動,由程序計算關(guān)節(jié)運動,這種模式更直觀。接下來就可以控制機械手?jǐn)[Pose了。

  

  使用再現(xiàn)功能可以重復(fù)你先前的操作,不過需要你記錄下每一個關(guān)鍵動作。然后點擊啟動按鈕就可以回放動作了。

  

  手機移動端提供了iOS和Android客戶端控制軟件,本次使用iOS端測試。下載安裝Dobot App,運行之前要做好準(zhǔn)備工作。把控制器切換至藍(lán)牙控制,手機打開藍(lán)牙開關(guān),可以運行App了。

  Dobot App同樣提供了兩種控制模式:通過J1、J2、J3控制關(guān)節(jié)轉(zhuǎn)動,或通過直接滑動機械手臂進(jìn)行控制。

  

  通過設(shè)置再現(xiàn)點,可以重復(fù)執(zhí)行先前動作。

  

  準(zhǔn)備工作完成,先用氣泵抓物體試試。抓硬幣自然不再話下,拿游標(biāo)卡尺來,沒問題。找個茶葉盒,裝上重物,再試試,重量291.8克。能力很強啊,繼續(xù)測試,3.5寸硬盤有596克,真的抓不起來了。

  卸下氣泵,換上抓手??纯葱Ч? 今年是猴年,讓我們看個抓猴子的視頻吧。

  

  結(jié)構(gòu)與控制

  機械手結(jié)構(gòu)

  Dobot機械手結(jié)構(gòu)簡單,設(shè)計巧妙。通過大臂小臂上的連桿機構(gòu)可以保證不論大臂小臂的角度如何變化,末端吸盤始終垂直于水平面。

  

  

  機械結(jié)構(gòu)

  機械手控制模型

  對Dobot機械手的控制就是控制大臂、小臂和底盤的角度,轉(zhuǎn)換為坐標(biāo)系,以此實現(xiàn)對吸盤的定位。AO 、CD永遠(yuǎn)垂直于水平面。XYZ坐標(biāo)系原點位于機械手固定底盤。

  

  機械臂簡圖

  

  看起來這個機械手的控制還是非常簡單的嗎,只要有中學(xué)數(shù)學(xué)基礎(chǔ)就可以理解了。

  編程控制

  API接口

  

  簡單程序流程

  控制Dobot機械臂運動的簡單流程。

  1)調(diào)用ConnectDobot連接機械手

  2)創(chuàng)建一個線程以固定間隔調(diào)用PeriodicTask函數(shù)

  3)設(shè)置大小臂的初始位置、超時時間、末端類型、示教/再現(xiàn)的靜/動態(tài)參數(shù)。

  4)指令機械手移動到指定坐標(biāo)(x,y,z)

  5)獲取機械手姿態(tài),檢測是否移動到(x,y,z),未到達(dá)目標(biāo)位置則跳轉(zhuǎn)4

  6)讀取下一個機械手要到達(dá)的坐標(biāo)(x,y,z),跳轉(zhuǎn)4

  簡單的編程測試

  Dobot API動態(tài)鏈接庫采用C++編碼,支持C、C++、C#、java等語言的開發(fā),需要使用DobotDll.dll動態(tài)鏈接庫、DobotDll.h接口聲明文件、DobotType.h數(shù)據(jù)結(jié)構(gòu)定義文件,這些文件可以通過Dobot官網(wǎng)下載。

  生成lib文件

  在控制Dobot時還需要使用Dobot靜態(tài)庫,由于沒有提到靜態(tài)庫,則需要通過DobotDll.h動態(tài)庫生產(chǎn)靜態(tài)庫,需要以下幾步:

  1)使用VS自帶工具DUMPBIN將DLL中的導(dǎo)出函數(shù)表導(dǎo)出到(.DEF)文件。

  

  DEF轉(zhuǎn)化

  2)將導(dǎo)出的(.DEF)文件整理為符合(.DEF)個數(shù)的函數(shù)導(dǎo)出文件。

  

  DEF修改

  3)使用VS自帶的LIB工具將(.DEF)文件輸出為VS格式的LIB文件。

 自由度編程機器人_5自由度教學(xué)機器人總體方案設(shè)計

  

  LIB生成

  編寫代碼

  使用VS 建立VC++控制臺工程,編寫C++代碼。代碼有點長,貼在這里有湊字?jǐn)?shù)的嫌疑。哈哈,只貼個輪廓了,有需要代碼的小伙伴請留言。

  

  程序測試

  我們編寫的程序能夠控制機械手按照輸入的坐標(biāo)連續(xù)運動。接下來讓我們測試一下書法筆畫圖。書法筆筆頭較軟,即使Z軸方向有誤差,也能順利寫字畫圖。卸下吸盤,拆開包裝,裝上書法筆。

  

  編程控制書法筆

  開機測試

  重復(fù)定位精度

  作為一款機械手,一個非常重要的指標(biāo)就是末端位置重復(fù)定位精度(重復(fù)定位精度)。當(dāng)機械手重復(fù)同一動作時,末端位置的偏差與這一指標(biāo)有密切關(guān)系。Dobot給出的是0.2毫米。也就是說控制機械手反復(fù)執(zhí)行同一個動作,位置偏差不超過0.2毫米。

  讓我們看看重復(fù)性真的如此好嗎?把機械手末端裝上水筆,編程控制末端的坐標(biāo),反復(fù)畫直線,畫線過程是“中à右à中à左à中”,重復(fù)3次。

  

  使用游標(biāo)卡尺測量測量一下圖中藍(lán)色標(biāo)記的位置寬度。

  直線測量位置示意圖

  左中、右中位置是筆不斷往返的點,筆不會停頓,因此是測量重復(fù)精度的最好位置自由度編程機器人;(而中點是起點也是定位點,左、右點是停頓折返點,不適合)。考慮到水筆頭部直徑3mm以及墨水?dāng)U散的因素,可以推斷重復(fù)精度小于0.4mm。

  哈哈,這個精度足夠極客們在實驗室High了。

筆頭直徑

0.3mm

線長

42.20mm

線寬(中)

2.08mm

線寬(左端)

0.71mm

線寬(右端)

0.70 mm

線寬(左中)

0.40mm

線寬(右中)

0.44mm

  伸展范圍

  讓我們再測量一下機械手觸及范圍。以底座前緣為起點,測量機械手末端吸盤能觸及最遠(yuǎn)與最近距離。

  

  伸展范圍測量示意圖

  當(dāng)觸及水平面時,吸盤能控制的最遠(yuǎn)距離278毫米,最近距離31.8mm。

  

  機械手控制范圍測試(動畫 最遠(yuǎn)距離)

  

  最近距離測試1(吸盤)

  

  最近距離測試2(吸盤)

  若允許吸盤高于水平面(高23.5mm),則距底座前緣最近距離為40.1mm。

  

  最近距離測試3(吸盤)

  

  最近距離測試4(吸盤)

  改裝可行性

  極客總是不甘于墨守成規(guī)的,改造才是最有樂趣的事情。接下來讓我們看看Dobot機械手的可改造性。

  機械改裝

  Dobot機械手機械部分最方便改裝的部分是末端。Dobot隨箱送來許多末端配件,讓我們先瀏覽下。配件主要包括抓手、激光筆、觸摸筆、可轉(zhuǎn)動的吸盤。當(dāng)然也可以裝配其它的東西,比如掛個布娃娃,帶個面具之類的。

  

  機械手末端(空)

  

  末端用零配件

  電氣改裝

  Dobot控制器內(nèi)部也有改造的余地。氣泵、繼電器都是可拆卸的。主控板上激光筆接口、抓手接口、控制吸盤轉(zhuǎn)動電機接口、吸盤用氣泵接口都可以改插其它模塊,只要能搞清楚接口引腳定義、電氣特性等。

  

  電氣改造配圖

  編程接口

  Dobot官網(wǎng)提供的開發(fā)文檔包含DobotAPI文檔、通訊協(xié)議、DobotDemo、DobotTools源碼。

  

  開發(fā)文檔內(nèi)容圖

  編程接口Dobot API包括DobotAPI.DLL動態(tài)連接庫及C/C++頭文件。

  l 提供Java、Python、WPF、JS等示例代碼

  l 支持Windows操作系統(tǒng)

  l 支持C、C++、C#、Python、Java、JS等語言開發(fā)

  會C、C++、C#、Python、Java、JS等其中任何一門語言的小朋友,都可以編寫代碼隨心所欲的控制機械手了。

  二次開發(fā)難度

  作為極客,自己打造的程序才有成就感。那么編程控制機械手,上手程度有多難?我花了半天時間,包括閱讀文檔、編程、調(diào)試等,能順利控制機械手畫矩形了。

  《插入視頻:水筆畫矩形.mp4》

  程序使用C語言編寫,共137行代碼。編程中用到了多線程,這個稍有難度。難度中等偏下,有一定編程經(jīng)驗且能獨立編寫100行以上程序的同學(xué),努力一下都可以做到的。

  如果熟悉串口通信編程,還可以繞過DobotAPI,參考Dobot通信協(xié)議文檔,直接編程操作串口,自由度更高,但難度有些偏高。Github網(wǎng)站有Dobot的開源代碼,有興趣的小伙伴可以到Github閱讀(https://github.com/maxosprojects/open-dobot)。

  腦洞大開(有了機械手可以做什么?)

  裝上激光器,結(jié)合人臉識別技術(shù),控制機械手自動瞄準(zhǔn)目標(biāo),配上聲音“舉起手來”,可以拍電影了。

  

 自由度編程機器人_5自由度教學(xué)機器人總體方案設(shè)計

  或者找個四輪移動平臺,裝上機械手,是吊車還是挖掘機還是什么東東,就看你的改裝水平了。

  

  四輪移動機械手

  給機械手裝上抓手,控制機械手甩動手臂,拋球,可以投籃了。給機械手帶個面具,然后配上攝像頭,裝上音箱,給小朋友講故事?;蛘邇蓚€機械手玩擊劍,就看腦洞開的有多大了。

  體驗總結(jié)

  Dobot這款桌面型機械手,的確是為桌面設(shè)計,體積小,不占空間。執(zhí)行動作時非常安靜,步進(jìn)電機噪聲小自由度編程機器人;唯獨氣泵電機的聲音稍大,室內(nèi)環(huán)境完全可以接受。Dobot機械手結(jié)構(gòu)簡單,控制參數(shù)少,容易上手。

  控制器的硬件接口也十分便捷,可以根據(jù)需要,增加相應(yīng)的物理器材。外圍連接方便。可以通過電腦使用USB進(jìn)行控制,也可以通過藍(lán)牙無線控制。不論是Android還是IOS都有可用App。

  Dobot提供了電腦及手機上的控制軟件。特別值得一提的是,手機App操作最方便。GitHub上有Dobot開源代碼,適合有意深入研究的同學(xué)。

  Dobot API支持多種語言開發(fā),包括C、C++、C#、JAVA、Python。API接口函數(shù)少,學(xué)習(xí)簡單,二次開發(fā)難度小。

  總的來說,連接方便、協(xié)議公開、快速開發(fā)、重復(fù)精度高,適用極客。

  最后提兩點建議

 ?。?)控制器和機械手之間的連線有些凌亂,希望更清爽些了;

  (2)加強文檔。我在編程時走了很多彎路,如果文檔清晰,并適度講解控制器內(nèi)部結(jié)構(gòu),會更有利于二次開發(fā)。

  ---------------END----------------

  是不是很好很強大~想要看看這個機械臂的是怎么工作的嗎?

  打開微信搜索并關(guān)注公眾號:極果網(wǎng)

  公眾號回復(fù):機械臂

  比人手還靈活~

  

評論列表

還沒有評論,快來說點什么吧~

發(fā)表評論

真誠期待與您的合作

獲取報價·了解更多業(yè)務(wù)·7*24小時專業(yè)服務(wù)

聯(lián)系我們