LeRobot SO101 組裝踩坑紀錄
最近買了一隻 so101 來玩玩~照著 Seeed 的官方文件組,但還是踩了不少坑,這裡作為文檔的補充。
Seeed 的官方文件: How to use the SO10xArm robotic arm in Lerobot
我買的是 Seeed Studio 的 so101 Pro 沒有 3D 列印件的版本,畢竟就是為了用 3D 列印機才買機器手臂(?)。Pro 版跟一般版差別是 follower 用的 servo 是 12V,比較有力,但不知道買不買得到一般版?
內容物大概長這樣,有貼心的附了四個夾子可以固定在桌面上,還有兩個不同的變壓器,一個是 12V,一個是 5V,接錯可能會燒掉。
幾個遇到的坑
- MakerWorld 上的 STL 檔案不是 Seeed Studio 的版本,要另外印電路板底座。
- 要先改零件列印方向跟刪除一些多的零件,所以建議用電腦先編輯過。
- 伺服 motor ID 跟校正很吃初始位置,所以圓盤安裝上有些技巧。
- 3D 列印的零件精度不高,有些地方需要用到可能會掰壞的力量。
列印
我這次是用:
Bambu Lab A1follower:PETG Translucentleader:PETG HF
不太建議用一般 PLA Basic 印這種東西,最大原因是蠕變(creep)。PLA Basic 長時間受力之後,會慢慢沒辦法恢復原本形狀,手臂放久了結構有機會變形。再來 PLA 比 PETG 硬,也比較脆,受力或拆裝的時候比較容易斷。還有一點是 PLA 放久了本來就會脆化,所以之後很可能要隔一段時間重印零件。
不過如果是直接買含 3D 列印零件的版本,他們用的是 PLA+,強度會比一般 PLA Basic 好一點。所以如果你沒有 3D 印表機,我覺得還是可以買官方的版本。
另外透明 PETG 真的印很慢(流速大概 PLA 的一半),但印出來真的很帥。
印之前要編輯一下列印檔
一開始是在 MakerWorld 看到現成的模型: LeRobot SO-101 Arms on MakerWorld
那套是 Waveshare 版本提供的,跟 Seeed Studio 的版本不太一樣,這個四個孔在右側。電路板底座要另外去 GitHub 找 Seeed Studio 的版本: Seeedstudio_Mounting_Plate_SO101.stl
另外 follower 裡面有四個配件也可以先跳過不印。像 Gauge 跟 Lego 相關的零件,不確定是做什麼。
leader 把手列印方向要改成直立。原本平躺方向去印,卡榫會因為 overhang 歪掉,最後裝的時候卡不進去。
組裝
組裝前要先確定 motor ID
先看一下組好會長什麼樣子,這是 follower:
官方文件沒有很明確地指出零件名稱,雖然從 3D 列印零件名上有寫,一開始做 lerobot-setup-motors 這步直接跳出 gripper 會有點難理解是誰。
Servo 1 到 6 ,順序從底座開始往末端:
| 編號 | 名稱 |
|---|---|
| 1 | shoulder_pan |
| 2 | shoulder_lift |
| 3 | elbow_flex |
| 4 | wrist_flex |
| 5 | wrist_roll |
| 6 | gripper |
然後 lerobot-setup-motors 編號的時候是從 6 開始。
我組裝的時候沒有標籤機,就先將伺服馬達跟零件卡在一起就不會搞錯。
我用的是 PETG translucent 跟 PETG HF,不是 PLA Basic。可能熱縮比例跟官方的 PLA+ 不同,有些地方很緊、要很大力塞進去。也是真的有折斷一兩個零件。
伺服馬達圓盤安裝順序
伺服在裝的時候,先裝有齒輪那側的圓盤,裝上去的角度孔位大概抓 45 度,先把圓盤中間的固定螺絲鎖好。等整顆伺服塞進手臂之後,另一個零件要接上圓盤時,先鎖沒有齒輪那側的輔助圓盤,再鎖齒輪那側的圓盤會比較好找螺絲孔。
上面說抓 45 度就是讓他裝上去鎖好之前盡量不要去轉他,不然初始位置跑掉後面校正會小麻煩。
模型上的額外螺絲孔,用伺服附的自攻螺絲
模型上面會有一些額外的螺絲孔,這些孔位全部都用伺服多給的自攻螺絲去鎖,不要拿那個有銅柱的螺絲去鎖。
因為那包螺絲是給電路板底座的,數量是剛好的。而且那個螺絲鎖進去之後拿不出來,連磁鐵都不太吸得起來,還好我有額外的 M2 螺絲可以鎖。
3D 列印精度有限
機器手臂為了減少背隙(backlash) 都會做緊配,就要花很大的力氣把伺服塞進去,甚至懷疑是不是裝反了,塞進去之後會幾乎拔不出來。
另外鎖圓盤的四顆螺絲時,先用螺絲起子把螺絲大力往裡面推,才有辦法鎖得到。
校正
校正前手臂先放到折疊的姿勢
如果是從盒子拿出來第一次校正,先讓手臂在它折疊的姿勢,先隨便按 Enter 跳過,如果一開始不是在折疊的姿勢,伺服轉過頭會報錯。第二次以後如果出現問你要不要用之前的設定檔,按 c 重新校正,然後再移到它說的每個關節中間位置。
這件事也剛好說明前面為什麼裝圓盤的時候,我會盡量讓它的初始位置組出接近最折疊姿勢,也就是前面說的那個 45 度。
校正時放到中間
伺服完整範圍是 0-4095。
一開始它叫你放到移動範圍的中間,會把那個位置歸零成 2047 左右。後面你再去量最大值跟最小值,就比較不容易超出範圍。
通常移動完整個範圍,最大值跟最小值都會離 0 跟 4095 有一段的距離,如果你看到 0 跟 4095 出現在 min 或 max 就要重新找一個初始的中間位置,因為他已經繞超過半圈了。
組裝完成的示範影片
裝好了就用 leader 控制 follower 試試,兩個手臂的範圍會做映射,我 follower 因為被夾子擋住底座旋轉很窄,但校正的限制不會讓他做出超出範圍的動作。
喜歡這篇文章?
如果這篇文章對你有幫助,歡迎用一杯咖啡支持我持續分享。














