Thor 六轴机械臂:构型、装配与 G-code / ROS 2 控制
📌 本分册目标
Thor 2015 年作为一个毕业设计立项,题目写着「开源 3D 打印 6 自由度机械臂的设计与实现」,此后十年持续小步迭代。它最值得学的不是省钱技巧,而是构型选择:直接采用工业机械臂的 yaw-roll-roll-yaw-roll-yaw(偏航-横滚-横滚-偏航-横滚-偏航),而不是很多 DIY 方案自创的腕部结构。
这意味着它的运动学、奇异位形与工作空间特性都贴近真实工业臂——在这里学到的经验能直接迁移到工业设备上。而硬件总成本不到 350 欧元,伸展高度约 625mm、负载约 750g(含末端执行器自重),已在 17 个国家被复刻出 30 多台。
本分册按 构型 → BOM → 打印 → 装配 → 电子固件 → 控制 六段走,重点标出两处最容易返工的地方:回转支撑的滚珠间隙与关节 2/3 的皮带张紧。
🧭 第一段:构型为什么值得学
| 指标 | 数值与含义 |
|---|---|
| 自由度 | 6(yaw-roll-roll-yaw-roll-yaw),另有 1 台舵机驱动夹爪 |
| 伸展高度 | 约 625mm(不含末端执行器) |
| 负载 | 约 750g,含末端执行器自重——留给夹爪与工件的余量其实不大 |
| 驱动 | 7 台步进电机(关节 2、3 配 5:1 皮带减速)+ MG995 夹爪舵机 |
| 控制 | G-code 指令 + GRBL / RRF 固件(3D 打印机 / CNC 的成熟路线) |
三个「偏航 + 横滚」交替布置的好处:腕部不易出现奇异、运动学模型与工业臂通用。代价是结构件更多、装配精度要求更高——这也是为什么它的装配比同尺寸的简单方案更花时间。
🧾 第二段:BOM 逐项解读(扭矩分档是关键)
| 部件 | 选型理由 |
|---|---|
| 40mm / 40 N·cm ×1 | 关节 1。只需带动整机回转,小扭矩即可。 |
| 34mm / 121.2 N·cm ×3 | 关节 2、3。要扛整条手臂自重,靠 5:1 的 GT2 皮带减速进一步放大扭矩。 |
| 34mm / 26 N·cm ×3 | 关节 4~6。只带动腕部与夹爪。 |
| 传动件 | GT2 闭口同步带 208mm(104 齿)×2、GT2 开口带 1000mm ×1、20 齿同步轮 ×3、40 齿同步轮 ×2。40 齿装在关节 2/3 主轴上配合减速。 |
| 轴承与滚珠 | 16014ZZ ×1(大回转支撑)、625ZZ ×11、MF84ZZ ×2、6mm 滚珠 30~40 颗(回转支撑用)。 |
| 紧固与磁铁 | M3 系列螺丝与螺母为主,另需 M3 热熔铜螺母 ×6、8×1mm 磁铁 ×12(位置检测 / 限位)。 |
| 耗材 | PLA/PETG 3~4kg + ABS 0.5kg(受力的结构件建议 PETG / ABS)。 |
🖨️ 第三段:打印与采购规划
- 先打基础件验证配合:先打底座与关节 1 的承力件,装起来确认配合再打其余——避免整机打完才发现基础件不合。
- 参数起点:0.2mm 层高、30% 左右填充;承力件的层纹方向要顺着受力方向。
- 要改结构就改 FreeCAD 源文件:官方提供 STL(直接打印)、STEP(交换)与 FreeCAD(可修改)三种格式。
- 一次买齐轴承:16014ZZ、625ZZ、MF84ZZ 都是标准件,国内极易采购,凑单一次买全比中途补货省事得多。
🔧 第四段:装配(两处最易返工的地方)
🔌 第五段:电子方案与固件(二选一,先定再买)
| 路线 | 特点 |
|---|---|
| 原版路线 | Arduino Mega 2560 + 自制 Thor ControlPCB(Mega shield),配 8 个 A4988 步进驱动。资料完整、与原项目一致,代价是要自己焊板。 |
| 替代路线 | Fly Super8Pro(自带驱动的 3D 打印机主板),省掉自制 PCB,但固件要走 3D 打印生态(RRF)。 |
- 上电前自查:用万用表逐个确认电机绕组、驱动板供电与 A4988 的电流基准(Vref)。首次上电先不接电机负载。
- 固件与上位机波特率保持一致,否则会出现「连不上」这类看似硬件故障的问题。
- 逐轴验证方向与行程:方向反了改固件里的轴方向参数,不要反接电机线凑——那样以后每次排查都要多绕一层。
- 标定软限位:回零流程跑通后,测出每个关节的软限位写进配置,避免撞击机械限位。
🕹️ 第六段:控制栈(Asgard 与 ROS 2)
- Asgard:官方提供的图形化控制软件,能直接点动各轴、查看位置。先用它验证机械与电子,再考虑接 ROS 2——两套同时调会分不清问题出在哪。
- Thor-ROS:官方维护的 ROS 2 + MoveIt2 集成(含 Docker 部署方式),配合官方 URDF 可以在完全不打印任何零件的前提下先验证运动学、自碰撞与轨迹规划。
- 运动学文档:坐标约定、关节零位与 DH 参数的定义都在官方文档里。想自己写控制代码或改用其它规划库,这份文档是基准。
- 负载边界要重新算:750g 是含末端执行器的上限;装上夹爪与工件后,加速度上限要重新评估。
🚧 避坑要点
- 先选电子路线再采购:Mega + ControlPCB 与 Fly Super8Pro 两条路线固件不同,混买等于双份钱。
- 回转支撑间隙是全机最难配合:多打 1~2 个底座件备用,公差不对就换件试。
- 皮带张力宁松勿紧:太紧会明显发热并加速 625ZZ 轴承磨损。
- 步进电机是开环的:丢步不会有任何反馈告诉你,真机使用要压低加速度并留安全余量。
- 负载数字要看清楚:750g 含末端自重,别按 750g 的工件去设计任务。
- 想学运动学就先用 URDF:结构参数与真机一致,在 MoveIt2 / 仿真里试错零成本。
- 版权提醒:CC-BY-SA-4.0 要求署名 + 相同方式共享,改完再发必须用同一许可。
🔗 官方资料直达
- Thor 官网项目总入口、文档导航与社区
- Bill Of Materials · 逐项物料清单含购买链接与扭矩分档说明
- Assembly Guide · 装配指南回转支撑与皮带减速的装配依据
- 3D Printing Guide · 打印件与切片建议打印批次规划与材料选择
- Electronics · ControlPCB 原理与接线自焊 PCB 方案的全部依据
- Control Software · Asgard 等控制软件图形化点动与调试入口
- Kinematics · 运动学说明坐标约定、关节零位与 DH 参数
- Downloads · STL / STEP / FreeCAD / 固件三种模型格式与固件、控制软件打包
- GitHub · AngelLM/ThorCC-BY-SA-4.0 源文件与设计资料
- Thor-ROS · ROS 2 & MoveIt2 集成含 Docker 部署,可不打零件先仿真
❓ 常见问题
Thor 和项目 02(SmallRobotArm)有什么区别?
两者都是「步进电机 + 3D 打印 + 低成本六轴」,但构型不同:Thor 用工业臂的 yaw-roll-roll-yaw-roll-yaw,项目 02 用的是更常见的 DIY 构型。想学工业臂运动学与奇异分析 → Thor;想先做出一台、社区复刻资料更密集 → 项目 02。两台都值得学,但不必都做。
不到 350 欧元的成本是怎么做到的?
核心是「能打印就打印」:机身结构件、齿轮、乃至回转支撑的滚道都自己造,只买步进电机、轴承、滚珠、同步带与紧固件。真正的成本压缩来自用打印件替代成品轴承结构,代价是装配精度要求更高。
一定要焊那块 ControlPCB 吗?
不一定。官方文档里给了 Fly Super8Pro 这类成品主板的替代路线,能省掉焊板这一步;代价是固件走 3D 打印生态(RRF)。如果你更想专注机械与运动学,选替代路线;想练电子与嵌入式,就自己焊。
能拿它做实际生产/搬运吗?
不建议。负载 750g(含末端),且步进电机开环没有位置反馈,长时间高负载运行会发热与丢步。它的定位是教学与研究平台:学构型、学运动学、学控制栈。要做事就换成闭环或有反馈的方案。
✅ 下一步
回到「做自己的机器人」栏目项目 07,那里有本分册入口、官方下载页与 BOM 的直达卡片。建议顺序:先用 Thor-ROS 的 URDF 在仿真里做一遍运动学 → 定电子路线 → 打基础件验配合 → 按官方顺序装配 → Asgard 点动验证 → 再上 ROS 2 规划。