news 2026/10/16 1:27:31

SO-ARM100 上手指南:3 步让开源机械臂从模型到仿真可视化

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
SO-ARM100 上手指南:3 步让开源机械臂从模型到仿真可视化

SO-ARM100 上手指南:3 步让开源机械臂从模型到仿真可视化

【免费下载链接】SO-ARM100Standard Open Arm 100项目地址: https://gitcode.com/GitHub_Trending/so/SO-ARM100

SO-ARM100 是一个开源低成本机械臂项目,包含 SO100 与 SO101 两代硬件设计、全套 3D 打印文件、URDF/MJCF 仿真模型和大量可选扩展件。它解决的核心问题是:让你用几百元的预算,就能搭出一台能做 Leader-Follower 遥操作的 5 自由度机械臂,并直接把示教动作喂给 LeRobot 做 AI 训练。本文带你走通"拿到仓库 → 跑起仿真可视化 → 看懂核心部件"这条最短路径,并附上打印、选型与校准时最常踩的坑。

为什么 SO-ARM100 值得你关注

做过遥操作数据采集的人大概都有过这样的体验:商用的遥操作设备动辄上万元,而自研一套又得从结构设计画起。SO-ARM100 把这条路拉平了很多——整套双臂(Follower 从动臂 + Leader 主从操作臂)的物料清单摊下来大约两百美元出头,结构全部开源,还能直接配合 LeRobot 库做示教采集。

它的设计思路很像"两只手同时写同一个字":你握着 Leader 臂做动作,Follower 臂在另一头实时照着你的姿势复现。这个"影子模仿"的过程就是数据采集本身——你每做一次示范,模型就多一份训练样本。

SO100 的 Leader 与 Follower 两台实物,两臂结构基本共用零件,仅末端设计不同

三步跑起来:从 clone 到 URDF 可视化

不需要等打印和装配,光看仿真模型就能先把结构摸熟。

第 1 步:获取仓库

克隆项目到本地(后面所有命令都在仓库根目录下执行):

git clone https://gitcode.com/GitHub_Trending/so/SO-ARM100 cd SO-ARM100

第 2 步:加载仿真模型

仓库自带 Simulation/ 目录,SO100 有单个 URDF 文件,SO101 则同时提供 URDF 和 MJCF(MuJoCo)两套模型。用 rerun 直接可视化:

rerun Simulation/SO100/so100.urdf rerun Simulation/SO101/so101_new_calib.urdf

第 3 步:验证模型完整性

打开后拖动视角检查:六个连杆(base、shoulder、upper_arm、lower_arm、wrist_pitch_roll、gripper)是否齐全、材质着色是否正常。URDF 就像给机器人写的一份"运动总谱"——每一段都注明哪块连到哪块、每个关节能动多少,缺了哪段,界面上就会露馅。

SO100 的 URDF 模型在 Rerun 中的渲染效果,可看到全部关节链与 STL 网格

核心部件与目录速览

不用通读全部文档,先认下面这几个目录就能上手:

目录内容什么时候用
STL/按打印机床尺寸分好套件的打印文件,SO101 还拆出 Individual 单零件3D 打印结构件时
STEP/Onshape 导出的 CAD 装配与单零件想改设计、自己建模时
Simulation/URDF + MJCF 仿真模型,含新旧两套校准跑仿真、做规划时
Optional/相机支架、4040 铝型材底座、柔性夹爪等扩展件给手臂加"眼睛"和其他扩展时
STL/Gauges/打印尺寸校验件(乐高积木/舵机两种基准)打印前先校准打印机精度

硬件上只有三类关键件:STS3215 串口总线舵机(关节执行器)、电机控制板(USB-C 接电脑,板载驱动多个舵机)和电源。软件侧与 LeRobot 打通,抓取关节在库中被表示为线性关节(0 = 全闭,100 = 全开)。

SO100 还是 SO101?选型与实用技巧

先说结论:新项目直接选 SO101。两代对比一下:

维度SO100SO101
状态旧版,文档已标注 deprecated当前主推版本
装配部分舵机需要拆掉原有齿轮再装免拆齿轮,装配更省事
走线初版布线改进后走线更规整
Leader 臂舵机与 Follower 同款更新了专门的舵机与传动比

SO101 的 Leader 臂,黑色外壳、握把加扳机的设计,专门用于人手示教

几条落地技巧:

  • 打印前先打校验件。STL/Gauges/ 里的量规就像裁缝铺的"校尺":它和手里的舵机(或乐高积木)严丝合缝,后面所有零件才不会松或紧。建议 PLA+、0.4mm 喷嘴、0.2mm 层高、15% 填充、支撑忽略大于 45° 的斜面。
  • 按床面尺寸选文件。Ender 系(220×220mm)用Ender_*.stl,Prusa/UP(205×250mm)用Prusa_*.stl,Bambu Lab 用对应的 .3mf;整套零件已合并成单文件并预设好打印方向。
  • 安装板二选一。WaveShare_Mounting_Plate_SO101.stl和Seeedstudio_Mounting_Plate_SO101.stl分别对应两种驱动板,别两个都打。
  • 校准用三点法而不是徒手对中。仓库里的 WebUI 三点校准指南 支持逐关节独立捕获 Min/Home/Max,并内置 30% 扭矩上限,比传统"双手同时托住六个关节"的盲标法稳得多。

舵机校准 WebUI 面板,逐关节捕获位置并实时显示遥测数据

避坑问答:新手最常卡住的 3 个问题

Q1:打印出来的零件装不进、或者松松垮垮?

这是打印机尺寸偏差,不是模型问题。先打 STL/Gauges/ 里的Gauge_0和Gauge_tight_1对比你手上的 STS3215 舵机:合适就继续,偏了就去调打印机的 X/Y 步进或收缩率,别急着换模型文件。

Q2:仓库里 SO100 和 SO101 的文件都能打,我该按哪套来?

按 SO101 来。SO100 文档(SO100.md)已标注 deprecated,只有当你手上现成的舵机、驱动板正好匹配旧版时,才值得复用 SO100 的文件;否则新装配一律以 README 中的 SO101 物料清单和打印套件为准。

Q3:rerun 打开 URDF 后是空白或网格缺失?

两个原因最常见:一是没在仓库根目录执行命令,URDF 里引用的是assets/相对路径,路径断了指纹就没了;二是没装 rerun 的 URDF 可视化插件。确认从项目根目录运行rerun Simulation/SO100/so100.urdf,并参考 Simulation/README.md 里的插件安装说明。

继续学习

  • README.md:SO101 物料清单(分美/欧/中/日购件链接)与打印全流程
  • Simulation/SO101/README.md:新旧校准 URDF 差异、MJCF 生成方式与 Leader 臂模型说明
  • 3DPRINT.md:没有 3D 打印机时的打样服务渠道与上传注意事项
  • Optional/:腕部相机支架(32×32 UVC、RealSense D405/D435)、俯视相机、4040 底座等扩展件的图纸与说明

4040 铝型材底座的装配效果,可把 SO-ARM100 固定在实验台上

图纸、模型、仿真文件都已经在仓库里摆好了——先 clone 下来跑一遍 rerun,再决定第一台 SO101 从哪里打印,你的机械臂之路今天就开始了 🤖

【免费下载链接】SO-ARM100Standard Open Arm 100项目地址: https://gitcode.com/GitHub_Trending/so/SO-ARM100

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/16 1:26:47

Spring Cloud Gateway的WebSocketRoutingFilter:原理、源码与踩坑全解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/16 1:26:47

电阻与电源等效变换全解析:从串并联化简到Y-Δ变换

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/16 1:26:38

前端定时器深度解析:从事件循环到实战避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/16 1:26:35

源码编译与定制实战:从配置参数到二进制裁剪的完整指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/16 1:26:34

串联电池组均衡管理方案:MP2642GR-Z与PIC18F47K42的工程实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/16 1:26:32

PTA 7-1 统计单词数量并输出最后一个字符:vector C++ 实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华