小哥硬核手搓AI桌寵!接入GPT-4o,聽得懂人話還能互動,方案可復現
大火的AI寵物,自己手搓一個更有性價比?!
大腦還是GPT-4o的那種,外表長醬紫:
這就是國外一個小哥受到了前段時間火遍全網的皮克斯臺燈機器人啟發,給自己手搓的“小寵物”。
雖然看著有點掉SAN,其實也確實有個源自克蘇魯神話的名字:Shoggoth。(傳說中一種有智慧的、可以模擬生成各種形態的凝膠狀肉體生物)
但別看它外表狂野,其實Shoggoth很友好。
能對話、能互動,還有自己的穿搭小巧思,be like:
Shoggoth通過頭頂的觸手動作,可以有效傳遞自己的意圖、自信、注意力等內部狀態。
只需要簡單的3D打印,接入GPT-4o的API,再利用RL的系統控制策略,就能讓它像“寵物”一樣,輕松地與人類自然對話。
所以太酷了!以后大家的童年玩伴可能不再是毛絨玩具,而是AI“寵物”?
??章魚形態的AI桌寵
小哥手搓的這個章魚機器人結構其實很簡單,還挺適合復現。
基礎硬件就是一個支撐三臺電機的底座,圓錐形頭頂直接3D打印,再懸掛引出一條觸手結構。
觸手結構主要來自于一個柔軟的觸手機器人SpiRobs,通過模仿章魚的抓取策略,能自動適應目標物體的尺寸和形狀,并抓取尺寸相差超過兩個數量級、重量達自身體重260倍的物體。
對數螺旋結構可以通過3D打印低成本快速制造,并展現出優異的可擴展性,包括毫米級微型抓取器、一米長機械臂以及多臂的SpiRobs陣列。
此外,它還非常適合精細操作和復雜形狀物體抓取。
視覺系統上,通過安裝立體攝像頭充當機器人眼睛,用于追蹤觸手末端。
不過小哥在測試中也發現,最初的開式閥芯設計依賴于恒定的電纜張力,任何輕微的擾動都會讓電纜線離開閥芯并纏繞在電機軸上。
如果要解開電纜線,往往首先需要解開將電纜固定在一起的尖端結,并拆卸下整個機器人。
為了修復該問題,小哥為其額外添加了一個線軸罩,可以消除大多數纜線糾纏情況,加快迭代速度。
另外,小哥還增加了校準腳本和預滾動額外的線長,從而可以更為精準地校準電纜張力,在運動期間也能提供相應延長的控制時間。
但3電纜的SpiRobs本身設計上存在一定問題,在自身重力的影響下會不可避免地下垂,所以必須加粗“脊柱”結構以防坍塌,同時避免過硬導致永久形變。
不過放寬心,小哥已經將全部調好的3D打印CAD文件都打包好了,點擊本文末的工程文件鏈接即可獲取。
此外關于觸手的移動控制,為了簡化控制過程,觸手的三個肌腱,也就是一個3D空間被縮小到兩個維度,這樣就能直接使用電腦觸控板作為輸入。
具體來說,就是分別確定三個肌腱在2D平面上的主拉力方向,形成一個總和為零的三角形,然后控制向量投影到每個肌腱的主軸上,計算調整每個肌腱的長度,并與目標方向對齊。
這種2D映射可以很直觀地進行觸手動作調整,在電腦觸控板上拖動光標,就能讓觸手隨之移動。
而這種2D到3D的基礎映射,也為后續基于RL和GPT-4o的控制策略提供了有力支撐。
GPT-4o充當眼睛和嘴巴
Shoggoth系統共有兩個控制層,分別是低級控制和高級控制。
- 低級控制
使用開環預設動作(如點頭或振動)和依賴立體視覺實時反饋的閉環RL策略(如手指跟蹤)。
而立體視覺的使用,在一定程度上也限制了可用視野,于是小哥設計了一個如果尖端超過幀的歸位(homing)動作,約束RL觀察空間。
- 高級控制
采用GPT-4o的實時API,處理語音與視覺事件(如揮手或接近觸發器),然后將其作為文本提示返回。
GPT-4o接收后進行處理,無需對機器人進行微調就能直接下達底層指令。
另外由于LLM的過度或不足調用問題,可以通過Prompt工程設計進行修正解決。
同時由于API調用之間,觸手在靜止待機狀態下生命感不足,于是作者還加入了輕微搖擺的等待行為,使其保持活力感。
至于機器人的感知模塊,也同樣包含兩個部分:手部追蹤和觸手尖端追蹤。
- 手部追蹤:直接使用MediaPipe。
- 觸手尖端追蹤:通過采集多場景數據集樣本,使用K-means聚類過濾冗雜樣本、Roboflow自動標記和主動學習、Segment Anything增強數據集。
然后使用Ultralytics訓練YOLO模型,并進行觸手尖端和手部位置的3D三角測量校準。
為訓練觸手的RL閉環控制效果,小哥還在MuJoCo重建了軟體觸手模型,并設置了一個具有平滑、隨機軌跡的目標跟蹤環境。
將PPO(策略梯度)與MLP和幀堆疊結合使用,提供臨時的上下文,另外還添加了動力學隨機化、擾動質量、阻尼和摩擦,以更貼近真實環境。
直接使用肌腱長度作為動作空間訓練,在仿真中出現了不符合預期的“走捷徑”行為。
后轉為二維投影空間,并在獎勵函數中添加控制懲罰,處理較大的連續動作差異,以進行平滑控制。
但過度校正,隨之而來的是不可預測的抖動和振蕩,所以還需要對輸出動作使用指數移動平均,增加足夠的阻尼,讓其穩定下來。
最終模型實現從仿真到真實環境的遷移,證實了該控制策略的有效性。
手搓Shoggoth的是何許人也?
制作這個桌面機器人的小哥,名叫Matthieu Le Cauchois,目前是一名ML工程師,平時主要研究方向就是強化學習、語音識別、NLP以及神經科學和機器學習。
本碩均畢業于洛桑聯邦理工學院,曾是一家AI公司Typeless的創始人,專門負責為醫護人員打造自動咨詢助手。
后公司被Doctolib收購,他也順勢加入Doctolib從事語音識別和LLM工作。
小哥自己經常在個人主頁上發布一些有趣的小項目,例如之前他制作了一個叫PabloNet的設備,可以掛在墻上隨時隨地展示AI藝術畫作。
還有一個Micrograd-CUDA項目,將Karpathy的微型autodiff引擎用cuda內核和2D張量邏輯擴展,可用于GPU加速。
而關于這次做的觸手機器人,據他所說,靈感也是受到了前段時間火遍全網的皮克斯臺燈機器人的啟發。
作為蘋果首款機器人,擺脫了傳統的機械動作,用靈活多變的姿勢和時機傳達機器人的“情緒”意圖。
例如通過點頭和搖頭表達態度,通過調整速度、停頓或抖動傳遞情緒。
另外配備的攝像頭,可以有效聽取用戶對話,實現人工交互,也能更好地傳遞“寵物”的陪伴感。
這一點,在小哥的章魚機器人上也有所充分體現,動物形態也更符合“寵物”需求。
所以屏幕前的你,有沒有興趣自己也上手搓一個“AI寵物”呢?
工程文件:https://github.com/mlecauchois/shoggoth-mini