當代版木牛流馬?國外網友造出「會走路的桌子」,引百萬人圍觀

机器之心發表於2024-09-13
你想喝瓶啤酒,於是就把桌子叫了過來。這不是吃了菌子才有的場景,而是國外網友的一項發明,名叫 Carpentopod。

圖片

整個桌子有 12 條腿,裡面內建了電機,是木工、電子和程式設計結合的產物。只要按下遙控器,桌子就會向你走來,像一個家用機器人一樣。

從圖上可以看出,Carpentopod 走起來非常平穩,這是它的腿部引數不斷「進化」的結果。這個「進化」過程在軟體的虛擬環境中進行,數千個虛擬腿部變體在該環境中競爭,只有得分高的腿部變體才能混合「基因」。

如此精巧的結構製作起來自然是非常不易。作者表示,「早在 2008 年,我就寫了一些有趣的軟體來生成各種最佳化的步行機制。近年來,我掌握了一些電子和木工技能,於是能夠將其中一種機制變成一個真正的無線步行木製咖啡桌。」

這種機器人技術與木工的結合令人眼前一亮。作者 @Giliam de Carpentier 表示將參加近期的一個活動,屆時會做更多介紹。
圖片
圖片
這個咖啡桌在網上吸引了上百萬人的關注,很多人表示想要一個。
圖片
在一篇文章中,作者介紹了從設計到材料選擇,再到加工和裝配的全過程。其中包括使用數控機床加工竹板部件,還包括控制電機和 Arduino 系統以實現桌子的移動功能。
圖片
文章連結:https://www.decarpentier.nl/carpentopod

設計新連桿

Carpentopod 腿部連桿是由作者編寫的軟體生成的。這個軟體讓數千個虛擬腿部變體進行競爭,以此進化。為了挑選出最佳的變體,每個變體都被賦予一個基於其行走速度、間隙和材料使用的「適應度」分數。在行走週期中最低的三分之一階段,作者額外獎勵了那些腿尖能更水平和更平滑移動的變體。這樣的設計有助於三條腿協同作用,以最大程度減少行走時的晃動和足滑。

透過比較每種變體的適應度分數,只有最優秀的變體才能混合其基因(即腿部引數),創造出一代又一代的新變體。除了透過「自然選擇」混合基因外,作者還定期引入基因突變,以幫助發現新的解決方案並保持多樣性,直到找到最佳解決方案。作者用 C++ 編寫了包括運動學求解器在內的所有程式,使得這個模擬每秒可以進化數十代,讓人可以清晰地看到從初步設計到高度最佳化設計的轉變。

圖片

上面的動圖展示了 20 秒鐘的進化過程。每幀顯示 5000 個「存活」的變體中的一個。同時,影片中疊加了所有 5000 個個體的腿尖軌跡,這些軌跡隨時間推移合併成一個紅、綠色光暈,最終收斂成一個單一的解決方案。作者最終選擇的腿部連桿,是透過執行一個規模更大、時間更長的模擬程式簡單選出的。命名結合了古拉丁語和希臘語單詞:carpentum(一種有蓋的馬車,如下圖)和 pod(代表腳或有腿的)。
圖片
看過 Theo Jansen 鼓舞人心的 Strandbeest 雕塑的人可能都會發現,他的雕塑的腿部連桿機構與 Carpentopod 連桿機構十分相似。但 Carpentopod 的連桿具有一套完全不同的元件比率,以及一個額外的關節點和一個進化過的圓形腳趾直徑。這些額外的引數使得進化過程能夠找到一種更緊湊、減少腳部滑動的解決方案。
圖片

圖片

Strandbeests 是荷蘭動感雕塑藝術家 Theo Jansen 發明的「風力仿生獸」,依靠機械原理和自然風力移動前行,結構巧妙之處在於合理的利用平衡性進行物理變數的轉化,能源轉化率非常高。

腳部滑動的原因是不同的腳趾著地的速度不完全一致,因此在實踐中會導致這些腿試圖相互減速。(不過,Strandbeest 的腿似乎通常都採用某種靈活 / 滾動的腳趾,而不是剛性的腳趾,這可能在一定程度上有助於彌補這種影響)。下面的動圖比較了兩種不同的設計,包括它們對尺寸、重心和腳滑動 / 滑行的影響。

圖片

設計會走的桌子

多年來,上述成果只是一個興趣專案的有趣結果。但最近幾年,作者也對製作實物產生了興趣。他嘗試製造的第一件東西是之前版本連桿的一個微型模型,由於其對緊湊性的最佳化較少,因此不適合成為最終的 Carpentopod 桌子。這只是為了測試他新開發的技能, 並在嘗試更大專案之前試用新的 CNC(數控機床)。

圖片

接下來,他決定製作一個可以行走的木製咖啡桌,因為他認為這既實用又具有美觀價值。由於 Carpentopod 連桿中的每個獨立腿部只佔行走週期的三分之一,因此這個桌子本身需要十二條腿以保持穩定。為了保證行走的平滑性,腿部元件也需要以亞毫米級的精度製作並維持這種狀態。這就是作者選擇用層壓竹板進行 CNC 加工的原因,這種材料堅固、自然、耐用且穩定,非常適合將機械元素與有機風格結合起來。

作者使用 Autodesk Fusion 360 設計了桌子的所有元件,這使他能夠在同一個軟體包中完成建模、測試、渲染和所有 CNC 的準備工作。能夠在其行走週期的任何階段從任何角度實際檢視完全組裝的模型,極大地方便了美學調整和確保所有間隙都恰到好處。
圖片
圖片
圖片
圖片
在一端的六條腿和另一端的六條腿之間,作者還留出了一箇中空的「腹部」,用來放置電子裝置、電機和電池。為了讓它看起來不那麼稜角分明,他把框架和腹部設計成弧形,就像一個倒置的百寶箱。這可能是有些人說它看起來像 Terry Pratchett《碟形世界》(Discworld)小說中的「行李箱」(如下圖)的原因之一。
圖片
中央的腹部還能使所有支腿至少與中心保持一定距離,從而使所有支腿都能更有效地參與轉彎。每組六條腿都被設計成與自己的曲柄軸相連,由一個電機驅動。這樣,它們只需要兩個單獨控制的電機就能像坦克一樣「驅動」和轉動桌子。

構建過程

為了將 3D 設計實物化,作者儘可能多地使用 CNC。這不僅因為精確度的需要,也因為這樣可以更容易地批次製造出十二個相同的木製部件。由於這只是一個興趣專案而不是生產線,所以作者決定使用他便宜的三軸 CNC 路由器親手製作所有東西。

三軸 CNC 只能從頂部去除材料。但是由於許多零件也需要從底部和 / 或側面移除材料,以製造更復雜的形狀和凹陷,作者將大部分腿部零件設計成由三片層壓竹子製成,他可以分別加工每層竹子,然後將其粘合在一起。

圖片

當然,即使是單個部件也可能需要使用不同尺寸和形狀的切削工具多次過刀,並可能需要精確地翻轉以進行雙面加工。但這正是數控加工的現實 —— 如果你不想買更貴的五軸 CNC,也不想使用塑膠進行 3D 列印的話,這就是你必須面對的。

除了作者自己數控加工、拋光、上漆並用更多的滾珠軸承和鋼軸組裝的 100 多個竹製部件外,設計還要求製作兩個曲軸。他最終透過將 D 形軸和帶 D 形孔的旋轉偏心體錘在一起,精心地從普通鋁杆和鋁板中數控加工出這些部件。
圖片
圖片
圖片
圖片
桌子的弧形「腹部門」是透過在同一層壓竹中精細地切割製成的,然後蒸汽處理使其更加柔韌,最後在彎曲夾具中乾燥,以賦予其新的形狀。然後,這些部分被貼上在兩個帶有嵌入式磁鐵的隱形鉸鏈肋上,使得門易於開啟和關閉。最後,他還焊接了一件與之高度相同的電視櫃,並將一塊芒果木加工成兩件傢俱的桌板,有效地將它們組合成一套。

讓桌子動起來

兩個六腿部分應由各自的電機驅動。但實際上,是每個部分的單個曲軸協調腿部的相對運動。在下圖中可以看到,作者只是簡單地推動一個沒有電機的部分向前移動,該部分就可以表現得像一個輪子。

圖片

圖中還展示了腳趾是如何輕觸地面(由黑線表示),但並不試圖穿透它的。這意味著,桌子在行走時不會有太多的「顛簸」。當然,最小化顛簸也是連桿在進化過程中的適應度指標之一。

為了讓它自行移動,作者訂購了兩個便宜的齒輪驅動的 24V 無刷電機,這類電機通常用於自動窗簾,輸出最大 1.5 Nm @ 130 RPM。它們內建的電子裝置還允許使用額外的 PWM 訊號線直接控制速度。遺憾的是,當嘗試讓它們低速執行時,電機幾乎立即進入了一種因溫度過高而自動持續幾秒的關機保護模式,即使僅在極小的負載下也是如此。幸運的是,將 PWM 訊號保持在 100%,並直接改變電壓,情況就好多了。如下圖所示,作者直接將可除錯的實驗室電源連線到其中一個六腿部分的電機上。

圖片

為了能自動控制電機電壓,作者購買了兩個便宜的升降壓轉換器模組,這些模組可以將任何電池的電壓轉換成 0 至 24 伏之間的任意電壓。然後,他對這些模組進行了改造,使它們的輸出電壓可以直接透過一個來自改造後的 Arduino Nano 微處理器板的快速 PWM 訊號來設定。這些電壓轉換模組還提供了一個可調的最大電流設定功能,這使他能夠對每個電機的最大堵轉扭矩進行控制,從而確保了操作的安全性,尤其是保護了手指。

接下來,他將露出的霍爾效應電機感測器的訊號接入了 Arduino 板,並用 C 語言編寫了一套軟體來實現自己的閉環電機控制系統。這樣一來,電機現在能夠獨立且精確地控制到任何可能達到的速度和位置,而且這種控制不受負載的影響。

圖片

在最後一步,作者將一個藍芽模組連線到 Arduino 上,並編寫了一些 C 語言程式碼,使其能夠連線並解析來自改造的無線 Nunchuck 操縱桿的資料。在安裝了一個 14.8V 的鋰電池之後,桌子就可以在客廳裡任意走動了,作者透過一個小型遙控器控制桌子。當代版木牛流馬?國外網友造出「會走路的桌子」,引百萬人圍觀
最後,作者公開了他的連桿圖紙,想要複製該專案的讀者可以參考。
圖片

相關文章