本项目是一款全开源 6 自由度桌面级 DIY 机械臂,采用Arduino Nano 33 BLE 下位机 + 树莓派上位机分层控制架构,基于 Nema 17 步进电机驱动,搭配 CNC 精密加工机械结构,完整实现机械臂正向与逆向运动学解算。
项目硬件完全开源,包含 KiCad 适配板工程、Gerber 制版文件、全套 CAD 结构图纸;软件搭载 Python 开发的上位机可视化控制界面,内置 CCD 循环坐标下降、雅可比矩阵、欧拉角、四元数四种逆运动学求解算法,支持轨迹规划、位姿调试与参数可视化。
整机采用微动限位开关实现关节零位校准,无商用闭源模块,所有代码、硬件图纸、装配资料全部公开可复刻。既可作为机器人运动学、嵌入式分层控制、算法仿真的教学实验平台,也能实现桌面小件搬运、简易分拣、自动绘图等轻量化自动化场景,适合创客学习、高校实训、二次开发与创意改造,同时项目已归档维护,后续可迭代升级绝对值编码器提升定位精度。


机械臂核心信息
自由度与硬件:6 自由度机械臂,采用 Nema 17 步进电机驱动,通过 CNC 加工零件组装。
定位方式:使用微动开关实现关节的近似零位校准,V3 版本计划改用绝对值编码器提升精度。
控制方案:
下位机:Arduino Nano 33 BLE 负责电机控制
上位机:树莓派运行 Python 程序,提供正向运动学(FK)和逆向运动学(IK)求解界面,支持雅可比矩阵、CCD(循环坐标下降)等多种逆解算法。
用户界面:支持运动学参数可视化调试,通过界面可直接查看机械臂位姿与轨迹规划效果。
项目文件结构
文件夹 / 文件 | 内容说明 |
|---|---|
| 适配板的 KiCad 工程文件(原理图、Gerber 文件),支持手工焊接(无 SMT 工艺) |
| 适配 Arduino Nano 33 BLE 设备的固件代码,需安装在适配板上 |
| 机械结构的 Step 文件和二维图纸,标注了螺纹和公差信息 |
| 运行在树莓派 3/4 上的 Python 脚本与依赖,含绘图控制界面 |
| 项目说明文档 |
项目亮点
1. 完整的 6 自由度机械臂技术栈
多算法逆运动学(IK)实现:
内置 4 种不同的逆运动学求解方法(CCD、雅可比矩阵、欧拉角、四元数),支持对比学习不同算法的优缺点,是非常珍贵的实践案例。
分层控制架构:
采用「Arduino Nano 33 BLE 下位机 + 树莓派上位机」的经典架构,下位机负责步进电机驱动与实时控制,上位机提供 Python 可视化界面与运动学解算,结构清晰,便于扩展。
2. 全流程开源,零黑箱设计
硬件全开源:
从机械结构(CNC 加工图纸、Step 文件)到 PCB(KiCad 工程、Gerber 文件)全部公开,甚至包含手工焊接适配板的设计说明,没有任何 “闭源模块”。
软件全透明:
Python 控制代码、运动学解算代码、依赖库清单全部开源,可直接在树莓派上运行调试,无需额外授权或依赖商业软件。
3. 对学习友好的设计与文档
清晰的模块化结构:
机械臂的每个关节都标注了 Part Studio 编号,方便对照图纸组装;PCB、固件、上位机代码按功能分文件夹,新手也能快速理清架构。
配套教学资源:
提供了演示视频和 WordPress 博客,包含调试过程、问题说明和改进方向(如后续 V3 版本计划使用绝对值编码器),非常适合作为机器人学的实践项目。
4. 成本可控,适合 DIY 复刻
采用 Nema 17 步进电机 + CNC 铝件的组合,相比工业级谐波减速器方案,成本大幅降低,同时保留了足够的刚性与负载能力。
适配板设计兼容常见的焊接方式(烙铁 + 热风枪),不需要专业 SMT 设备,普通爱好者也能制作。
License
未注明协议,请勿商业使用
