在油管上有這么一位博主 Shane Wighton,他在運(yùn)動(dòng)方面經(jīng)常被妻子血虐。于是,他經(jīng)常造一些諸如 " 百發(fā)百中弓箭 "、" 百發(fā)百中籃球板 " 等作弊道具來(lái)挑戰(zhàn)他妻子。
這一次,Shane Wighton 買了設(shè)備跟妻子打臺(tái)球。結(jié)果不出意料,Shane Wighton 再次被妻子無(wú)情嘲諷。

既然正常比賽打不過(guò),那就用科技打敗魔法。Shane Wighton 決定發(fā)動(dòng)自己的天賦技能 " 創(chuàng)造 ",打造一根全自動(dòng)球桿。
這個(gè)玩意有多酷呢,球桿的算法會(huì)自動(dòng)計(jì)算最優(yōu)的擊球路徑,桌球臺(tái)上方的投影儀會(huì)給出最佳擊球位置,使用者只需要扣動(dòng)扳機(jī)即可變身桌球國(guó)手。
具體效果如何?咱直接看動(dòng)圖。

只見(jiàn)使用者拿起球桿,上膛、扣扳機(jī)、球桿自瞄、擊球入洞這一系列動(dòng)作行云流水。使用者需要做的僅僅是把球桿對(duì)準(zhǔn)白球,球桿就會(huì)自動(dòng)計(jì)算擊球路徑,完成擊球。真正做到 " 我有手,我上我也行 "。

那么一根自瞄球桿是怎么制作的呢?
兩大裝置打造自瞄球桿
制作自瞄球桿,需要完成 " 球桿改造 " 以及 " 自瞄系統(tǒng)搭建 " 等兩項(xiàng)工作。其工作難度,也是只有億點(diǎn)點(diǎn)拉,懂一點(diǎn)高數(shù)、機(jī)械原理、代碼編程、視覺(jué)算法、機(jī)器學(xué)習(xí),再有一個(gè)靈光一點(diǎn)的腦子就行啦。
球桿改造
首先,讓我們看一下球桿改造部分。進(jìn)行球桿改造,主要需要球桿能夠?qū)崿F(xiàn)球桿方向自動(dòng)調(diào)節(jié)、自動(dòng)推桿擊球以及接收來(lái)自瞄準(zhǔn)系統(tǒng)反饋的擊球操作。
關(guān)于球桿的方向調(diào)節(jié)系統(tǒng),作者分享了他在前期思考時(shí)腦海中的畫面就像下圖這樣。他希望球桿能夠擁有靈活的高精度方向調(diào)控能力,同時(shí)兼具在高速撞擊臺(tái)球時(shí)能保持方向不變的剛度。

這個(gè)方向調(diào)節(jié)體型,小伙伴們心里有想法嗎?
為了實(shí)現(xiàn)球桿能夠滿足使用需求,作者采用了擁有 6 個(gè)自由度的平臺(tái)并聯(lián)機(jī)構(gòu) "Stewart"(斯圖爾特平臺(tái)),能夠很好的完成球桿調(diào)節(jié)方向的功能。
確定好調(diào)節(jié)方向的工具之后,作者開(kāi)始進(jìn)入鋼鐵俠造鎧甲模式。先是計(jì)算各個(gè)元器件的尺寸,在電腦上建模模擬運(yùn)動(dòng)效果,編寫代碼。

接著火力全開(kāi),自己完成零部件加工、設(shè)備安裝等。

這貨家里簡(jiǎn)直就是個(gè)小型加工廠,我絲毫不懷疑在資金充足的情況下,他能打造出一具鋼鐵俠鎧甲。
小伙伴們要注意用于控制支腿的伺服電機(jī)進(jìn)行潤(rùn)滑,不然球桿可能會(huì)像下面這樣瘋狂抽搐。。。

搞定方向調(diào)節(jié)裝置,接下來(lái)便是自動(dòng)推桿擊球功能的實(shí)現(xiàn)。相較于斯圖爾特平臺(tái)的復(fù)雜,推桿擊球功能明顯要更加的簡(jiǎn)單,使用一個(gè)氣缸即可完成。
這樣,通過(guò)斯圖爾特平臺(tái)和氣缸這兩個(gè)工具,我們的球桿已經(jīng)能夠?qū)崿F(xiàn)多方向調(diào)節(jié)已經(jīng)自動(dòng)推桿,接下來(lái)便是安裝單片機(jī)以及無(wú)線模塊,實(shí)現(xiàn)球桿的方向調(diào)節(jié)及推桿可控。

正所謂,不會(huì)機(jī)械加工的程序員不是好工程師,作者通過(guò)一頓操作,把代碼便攜、零件加工和設(shè)備調(diào)試等工作全部包攬了。
至此,球桿的改造工作基本完成,接下來(lái)要進(jìn)行的就是自動(dòng)瞄準(zhǔn)系統(tǒng)的制作了。
自瞄系統(tǒng)
制作自瞄系統(tǒng),一共要完成 " 視覺(jué)定位 "、" 軌跡計(jì)算 " 這兩大部分。
我們先來(lái)說(shuō)比較容易理解的視覺(jué)定位部分。視覺(jué)定位系統(tǒng)主要有一臺(tái)安裝在桌球頂部的攝像機(jī)提供畫面支持,攝像機(jī)將錄制到的畫面?zhèn)鬏數(shù)诫娔X,電腦在進(jìn)行畫面分析。

嗯,這臺(tái)攝像機(jī)還可以進(jìn)行移動(dòng)調(diào)整錄制角度,全方面無(wú)死角的捕捉臺(tái)球桌上的臺(tái)球,掌控全局!是不是有種動(dòng)漫里面主角開(kāi)掛的既視感,五條悟直呼內(nèi)行。

當(dāng)然,我們還需要一些輔助措施讓電腦將接收到的畫面調(diào)整為與實(shí)際畫面一致,防止擊球軌跡出錯(cuò),導(dǎo)致球不入洞。
作者通過(guò)在臺(tái)球桌上黏貼白點(diǎn)以及 QR 碼的方式,讓電腦進(jìn)行基準(zhǔn)面調(diào)節(jié),實(shí)現(xiàn)了臺(tái)球桌在電腦內(nèi)畫面始終方正的樣子。

接下來(lái),使用一丟丟魔法代碼,讓計(jì)算機(jī)識(shí)別臺(tái)球、球洞以及庫(kù)邊。

代碼完成。接下來(lái),電腦可以根據(jù)基準(zhǔn)面反推出球洞、桌面保險(xiǎn)桿以及球的位置,再通過(guò)視覺(jué)算法進(jìn)行標(biāo)記,完成目標(biāo)識(shí)別。

這下球和球洞都能識(shí)別了,該開(kāi)始讓球桿自己開(kāi)始學(xué)習(xí)擊球了,也就是進(jìn)入自瞄系統(tǒng)的 " 軌跡計(jì)算 " 部分。
要想完成軌跡計(jì)算,首先要讓電腦知道球桿朝向。萬(wàn)能 QR 貼紙?jiān)俅纬霈F(xiàn),一張貼紙能讓電腦找到球桿,兩張貼紙讓電腦明白球桿指向,居家 diy 必備好伴侶。

QR 貼紙:我標(biāo)記了一處地點(diǎn)。
但是等一下,這兩張 QR 碼只能在電腦上形成也和 2D 圖像,電腦并不知道球桿的傾斜角呀,這擊球的時(shí)候豈不是亂了套?

那怎么省時(shí)省力的獲取傾斜角呢?讓我們看看電腦感知到的畫面中哪些數(shù)據(jù)跟傾斜角相關(guān)。
最后,作者發(fā)現(xiàn)電腦能直觀獲得的便是球桿 2 個(gè) QR 碼所生成圖像長(zhǎng)度的變化,而圖像長(zhǎng)度的變化受傾斜角的影響。(這題我會(huì)啊,小學(xué)時(shí)候?qū)W的解方程嘛!)
也就是說(shuō),我們用一把量角器量得傾斜角的度數(shù),再結(jié)合電腦中圖像長(zhǎng)度的變化,我們就可以獲得傾斜角和圖像長(zhǎng)度的變化關(guān)系。將這個(gè)變化關(guān)系輸入到代碼中,代碼便可以通過(guò)圖像長(zhǎng)度自動(dòng)計(jì)算球桿的傾斜角。
為了減少用手支撐球桿發(fā)生的抖動(dòng)影響計(jì)算機(jī)計(jì)算傾斜角,作者還給球桿設(shè)計(jì)了一個(gè)支架,增加球桿的穩(wěn)定性。

這樣架起來(lái)的球桿,倒是有幾分炮臺(tái)的感覺(jué)了 ~
球桿及臺(tái)面數(shù)據(jù)已經(jīng)識(shí)別完成,接下來(lái)就是進(jìn)入擊球軌跡測(cè)算的環(huán)節(jié)。在算法實(shí)裝之前,作者先在電腦上做了一個(gè)簡(jiǎn)單的算法進(jìn)行球桿的擊球測(cè)試。這個(gè)算法會(huì)告訴作者擊球路徑及角度。

看著好像挺酷的,但是電腦桌面跟臺(tái)球桌面離那么遠(yuǎn),不可能每次測(cè)試都往電腦瞟一眼呀。
于是乎,作者做了一件非常酷的事情,他將投影儀安裝到臺(tái)球桌頂部,將電腦畫面投影到桌面上,直接把臺(tái)球桌變成了星際作戰(zhàn)會(huì)議桌。

不得不說(shuō),這個(gè)投影儀和界面設(shè)計(jì),很有衛(wèi)星追蹤的感覺(jué)。

接下來(lái),萬(wàn)事俱備,只欠東風(fēng)。最后再把算法這些再過(guò)一遍,自瞄球桿準(zhǔn)備進(jìn)入作戰(zhàn)狀態(tài)!

把老婆叫過(guò)來(lái),摩拳擦掌,準(zhǔn)備讓她看一眼自己的發(fā)明。
天際鷹眼系統(tǒng)已就位,地面已接收到鷹眼運(yùn)動(dòng)軌跡數(shù)據(jù),球桿出擊!

嗯,怎么說(shuō)呢,這么近距離能夠成功讓球不進(jìn)洞,也算是一種另類的精準(zhǔn)吧。難道說(shuō)運(yùn)動(dòng)天賦差的人做出來(lái)的道具也沒(méi)有運(yùn)動(dòng)天賦嗎?
再把各種公式各種軌跡運(yùn)算數(shù)據(jù)重新計(jì)算整理,球桿還是時(shí)靈時(shí)不靈,完全摸不透出錯(cuò)的規(guī)律。

思來(lái)想去,軌跡計(jì)算公式?jīng)]有出錯(cuò),球桿的推桿精度沒(méi)有出錯(cuò),那只能是在進(jìn)入計(jì)算環(huán)節(jié)之前的某個(gè)環(huán)節(jié)存在問(wèn)題。最終,作者將問(wèn)題鎖定到了用于錄制畫面的攝像機(jī)上面。
由于廣角攝像頭的采用,攝像機(jī)錄錄制的畫面是存在光學(xué)畸變的,即便通過(guò)算法進(jìn)行畸變校正,問(wèn)題仍然存在。

面對(duì)這種畸變,作者最開(kāi)始想通過(guò)物理校準(zhǔn)的方式來(lái)消除畸變,但連續(xù)四天的失敗嘗試,讓他意識(shí)到情況不對(duì)勁,不論他怎么做,軌跡測(cè)算就是會(huì)出現(xiàn)問(wèn)題。

想來(lái)想去沒(méi)辦法,他重新聚焦算法,想從算法這一塊入手。這一看直接讓他發(fā)現(xiàn)了失誤的源頭——他用于矯正畸變的算法,其實(shí)是之前針對(duì)另一款攝像機(jī)設(shè)計(jì)的,他只要將算法修改為適用于正在工作的攝像機(jī)就好了。
終于,皇天不負(fù)有心人,修改完算法之后的擊球軌跡總算正常了,擊球嘎嘎猛。

至此,雖然球桿還未開(kāi)發(fā)自瞄功能,目前也只是充當(dāng)了自動(dòng)擊球的作用,但經(jīng)歷了第一波被老婆嘲諷以后。他決定謹(jǐn)慎行動(dòng),先多番測(cè)試一下球桿的穩(wěn)定性。
不得不說(shuō),Shane Wighton 確實(shí)是一個(gè)會(huì)整活的鬼才。測(cè)試算法是枯燥的,于是他想了個(gè)辦法,拉別人入伙來(lái)一起做測(cè)試。
通過(guò)在網(wǎng)站上制作一個(gè)簡(jiǎn)單的小程序,參與測(cè)試的人可以獲得自動(dòng)球桿的控制權(quán)以及在桌球臺(tái)上標(biāo)記擊球點(diǎn)進(jìn)行擊球。
經(jīng)過(guò)多輪測(cè)試以后,球桿的擊球獲得了保證,作者同時(shí)還獲得了大量的擊球數(shù)據(jù),為后面的自瞄算法提供了數(shù)據(jù)支撐。

所有的基礎(chǔ)問(wèn)題已經(jīng)解決,接下來(lái)就是完善算法,實(shí)現(xiàn)球桿擁有大腦,成為真正的自瞄球桿。
在算法設(shè)計(jì)當(dāng)中,作者希望每次擊球開(kāi)始時(shí),電腦會(huì)自動(dòng)計(jì)算所有潛在的擊球路徑,并選擇能夠?qū)崿F(xiàn)連續(xù)擊球進(jìn)洞的最優(yōu)路徑。

要想實(shí)現(xiàn)計(jì)算機(jī)能夠提供精準(zhǔn)的擊球路徑,大量的機(jī)器學(xué)習(xí)那是必須的。但是迫切想要一雪前恥的心不允許作者花費(fèi)太多的時(shí)間在機(jī)器學(xué)習(xí)上面。
于是乎,作者采用了一個(gè)相對(duì)來(lái)說(shuō)更便捷高效的方法——繪制有向圖。簡(jiǎn)單來(lái)說(shuō),通過(guò)有向圖,作者讓電腦學(xué)會(huì)了在保證能進(jìn)球的情況下計(jì)算擊球時(shí)的最短路徑。

這一頓操作下來(lái),臺(tái)球桌在電腦眼里看來(lái)已經(jīng)變成這個(gè)樣子了,有種在打海戰(zhàn)時(shí),魚雷追蹤船只的感覺(jué)。

接下來(lái),超級(jí)大腦已部署,星際目標(biāo)指引衛(wèi)星(投影儀)已部署,球桿準(zhǔn)備就緒。Shane Wighton 再次向他老婆發(fā)起了挑戰(zhàn)。

這一次,由 Shane Wighton 的老婆開(kāi)球,打了 2 桿之后,輪到 Shane Wighton 擊球。然后,便是 Shane Wighton 的擊球,Shane Wighton 的擊球,Shane Wighton 的擊球,徹底展示什么叫做理工直男。

最后,讓我們了解一下作者。Shane Wighton 之前就讀于北卡羅來(lái)納大學(xué)夏洛特分校,擁有機(jī)械工程學(xué)士學(xué)位和計(jì)算機(jī)科學(xué)碩士學(xué)位,目前在 3D 打印技術(shù)開(kāi)發(fā)商和制造商 Formlabs 公司擔(dān)任首席工程師。
Shane Wighton 本人在油管上擁有非常高的熱度,因?yàn)樗拮拥倪\(yùn)動(dòng)天賦確實(shí)過(guò)于強(qiáng)大,導(dǎo)致 Shane Wighton 經(jīng)常需要制作一些黑科技來(lái)找回一點(diǎn) " 面子 "。
除了自瞄球桿以外,作者還制作了,全自動(dòng)瞄準(zhǔn)弓箭,百發(fā)百中籃球板,全自動(dòng)理發(fā)機(jī)等黑科技設(shè)備,活脫脫的物理外掛制造家。

原文地址:http://www.myzaker.com/article/62f32c908e9f09492c2d6b5e
轉(zhuǎn)載請(qǐng)注明:油管網(wǎng)紅博主打造「全自動(dòng)擊球」桌球桿,扣動(dòng)扳機(jī),變身丁俊暉 | 快導(dǎo)航網(wǎng)






川公網(wǎng)安備51012402001058號(hào)