序
Dexter 是一個(gè)開源的機(jī)械臂,主要由 3D 打印機(jī)制造。它使用 5 個(gè) NEMA-17 步進(jìn)電機(jī)控制其 5 個(gè)軸以及其中 3 個(gè)軸上的諧波驅(qū)動(dòng)。由于步進(jìn)電機(jī)沒有編碼器,所以設(shè)計(jì)者在每根軸上都安裝了正交光學(xué)編碼器,如果強(qiáng)度不夠,它們有時(shí)會(huì)跳過。有了這些編碼器,Dexter 上的 FPGA 微控制器就可以快速對傳感器進(jìn)行輪詢,并實(shí)時(shí)校正電機(jī)的位置。由于有網(wǎng)關(guān)的存在,可以每秒對每個(gè)軸進(jìn)行 500 萬次輪詢,從而創(chuàng)建一個(gè) 200 納秒的反饋循環(huán)。Dexter 是經(jīng) GPL3 授權(quán)的,因此可以隨意復(fù)制和修改設(shè)計(jì)。
設(shè)計(jì)細(xì)節(jié)
Dexter 是一個(gè)開源的 5+軸機(jī)械臂。它的零件是用聚乳酸(PLA)進(jìn)行三維打印的,并用碳纖維帶固定在一起進(jìn)行。它使用 5 個(gè) NEMA-17 步進(jìn)電機(jī),在 3 個(gè)軸上有諧波驅(qū)動(dòng)。它們沒有編碼器,很容易滑動(dòng),所以開發(fā)者在軸上設(shè)置了光學(xué)編碼器。采用兩個(gè)傳感器,相位相差 90 度,從而得到了一個(gè)正交編碼器系統(tǒng)。通過軟件將這些值內(nèi)插為 sin 和 cos,并允許測量每個(gè)軸。
設(shè)計(jì)中使用一個(gè) FPGA 來實(shí)現(xiàn)對來自編碼器的數(shù)據(jù)的實(shí)時(shí)處理。有了網(wǎng)關(guān)軟件,可以每秒測量 500 萬次,并得到一個(gè) 200 納秒的控制回路和電機(jī)。這允許電機(jī)在檢測到光學(xué)編碼器中的變化時(shí)作出反應(yīng)。其中一種控制模式被稱為“跟我來”,它允許有人通過觸摸來控制 Dexter,而不需要對諧波驅(qū)動(dòng)進(jìn)行反向驅(qū)動(dòng)(這樣做會(huì)使它們磨損,最終會(huì)削弱傳輸?shù)耐暾裕?/p>
開發(fā)者希望 Dexter 能夠很容易地幫助新手學(xué)習(xí)為機(jī)器人編程,并且對代碼有基本的理解,所以他們創(chuàng)建了 Dexter 開發(fā)環(huán)境。由于可訪問性的原因,它使用了一個(gè)修改過的 javascript 版本,并且附帶了有關(guān)如何在 DDE 中編程 Dexter 的文檔。
Dexter 使用了 DDE 的套接字連接,但這并不是唯一使用它的方法。Dexter 社區(qū)的一個(gè)成員實(shí)際上開發(fā)了一個(gè)與 Dexter 一起使用的統(tǒng)一庫。使用 FollowMe 模式,你實(shí)際上可以在虛擬現(xiàn)實(shí)中連接移動(dòng) Dexter 與對象交互。觸摸物體將在 Dexter 物理層中產(chǎn)生觸覺反饋。
有沒有覺得很酷,因?yàn)檫@讓 Dexter 可能被用作游戲控制器。
這里,Dexter 身上的許多設(shè)計(jì)創(chuàng)新可以被打散應(yīng)用到你自己的項(xiàng)目中。例如,Dexter 巧妙的編碼器設(shè)計(jì)。光學(xué)編碼器通常使用一個(gè)有孔的圓盤;通過圓盤將光照射到傳感器上,可以通過計(jì)算產(chǎn)生的脈沖數(shù)來確定位置。
Dexter 進(jìn)一步利用光傳感器的模擬值,跟蹤每個(gè)孔幾千個(gè)位置,乘以可用的分辨率。這意味著,通過一個(gè) 3D 打印的編碼器輪和一些嚴(yán)謹(jǐn)?shù)臄?shù)學(xué)計(jì)算將其轉(zhuǎn)換成一個(gè)位置,Dexter 的編碼器可以解決每轉(zhuǎn)超過一百萬個(gè)位置。這是令人驚嘆的精確性,由于計(jì)算能力的進(jìn)步,它的可用性相對較低。
具體來說,一個(gè) FPGA 和一些定制的“網(wǎng)關(guān)”邏輯代碼運(yùn)行編碼器數(shù)據(jù)到 ARM 位置的轉(zhuǎn)換。沒錯(cuò),Dexter 的開發(fā)者正致力于開發(fā)一款嵌入式 Linux 電腦,配備有 FPGA 外圍設(shè)備,用于計(jì)算兩個(gè)關(guān)節(jié)的位置。你可能會(huì)認(rèn)為這有點(diǎn)大材小用了,但是像這樣的手臂,在桌子上的第一個(gè)關(guān)節(jié)中任何小的角度誤差都會(huì)乘以手臂的伸距。你想要半米手臂末端 0.1 毫米的位置精度,你需要 0.01 度的角度分辨率。用一個(gè) 3D 打印的編碼器輪和一些繁重的計(jì)算來獲得這種分辨率是一個(gè)偉大的創(chuàng)新。
結(jié)合這些詳細(xì)的位置反饋和一些好的軟件,你可以設(shè)計(jì)一個(gè)手臂,既強(qiáng)大,而且通過移動(dòng)它很容易訓(xùn)練。Dexter 在一些軸上使用諧波驅(qū)動(dòng),雖然你通常不想強(qiáng)加諧波驅(qū)動(dòng),但位置傳感器的極端分辨率讓機(jī)器人知道何時(shí)將其推出位置,或者施加更多的力來保持位置,或者如果它試圖學(xué)習(xí)一個(gè)新動(dòng)作,驅(qū)動(dòng)電機(jī)朝運(yùn)動(dòng)方向運(yùn)動(dòng),這使得訓(xùn)練變得簡單。
Dexter 有一組可擴(kuò)展的末端執(zhí)行器,通過一個(gè)簡單的 3D 打印鎖環(huán)和 Pogo 針排列連接。無論你需要吸塵器、剪刀還是機(jī)器人手臂末端的鉗子,Dexter 都會(huì)為你提供保護(hù)。
如果說 Dexter 有什么缺陷,那就是運(yùn)行編碼器的 FPGA 代碼是用專用的硬件描述語言 vivado 編寫的。因此,雖然 Dexter 可以為我們提供一個(gè)位流,使我們可以閃存到自己的 FPGA 中,但我們不能調(diào)整編碼器的算法。開發(fā)者的立場是,他們不能承擔(dān)重新設(shè)計(jì) FPGA 代碼,因此不能讓其成為完全開放的源代碼。
最后,就是這只機(jī)械臂 Dexter,摘得了 2018 年 HackadayPrize 全球硬件開發(fā)者大賽的最高大獎(jiǎng),拿走了 5 萬美元的獎(jiǎng)金。如大賽評委對它的評價(jià),Dexter 已經(jīng)不僅僅是各個(gè)組件的集合,它的開發(fā)者將“真正的極客精神”體現(xiàn)在設(shè)計(jì)中,即盡可能使整個(gè)系統(tǒng)的實(shí)現(xiàn)更加實(shí)惠,但仍然保持高質(zhì)量。
關(guān)于 Dexter 的技術(shù)細(xì)節(jié),可打開鏈接查看:https://hackaday.io/project/158779-dexter
與非網(wǎng)編譯內(nèi)容,未經(jīng)許可, 不得轉(zhuǎn)載!
2019 年 3 月 20 日 14:00~16:00,上海新國際博覽中心,這個(gè)機(jī)械手臂將出現(xiàn)在 E5.5352,與非網(wǎng)的展位上,你可以親身體驗(yàn)下它有多神奇。我們等你來!
現(xiàn)在就掃描二維碼報(bào)名吧
不能來到現(xiàn)場的小伙伴也可以在線觀看我們的視頻直播,一睹 Dexter 真容
https://www.moore8.com/special/livevideo/Hackaday
關(guān)于 Hackaday Prize
有人說硬件技術(shù)將很快達(dá)到極限,而在我們看來,硬件創(chuàng)新,尤其是中國硬件工程師的創(chuàng)新,還遠(yuǎn)未走到盡頭,而只是剛剛開始。作為致力于為全球硬件開發(fā)者提供技術(shù)共享服務(wù)的平臺(tái),與非網(wǎng)母公司SupplyFrame旗下最大的全球硬件開發(fā)者社區(qū) Hackaday.com 已連續(xù)五年舉辦全球硬件開發(fā)者大賽 Hackaday Prize,有超過 3000 多個(gè)硬件團(tuán)隊(duì)在這個(gè)賽事中互動(dòng)交流、切磋技藝。
2019 年 3 月慕尼黑上海電子展期間,Hackaday Prize 中國區(qū)賽事將隆重開啟,我們很期待看到國內(nèi)的硬件開發(fā)者大開腦洞、大展技藝。你準(zhǔn)備好了沒,與來自全球的硬件開發(fā)者同臺(tái) PK?