NodeHexa 是一个开源的六足机器人项目,基于 ESP32 微控制器开发。项目集成了运动学算法、Web 界面控制、实时校准与动作序列(运动规划)能力,面向机器人爱好者与研究用途。
当前代码仓库同时提供 四足构型固件 支持,便于共用一套 Web UI、校准与运动控制框架。
| 构型 | 定位 | 支持范围 | 文档/图片现状 |
|---|---|---|---|
| 六足(Hexapod / NodeHexa) | 主线 | 结构/硬件/固件/界面/教程 | 本 README 的示意图主要为六足;软硬件设计完全开源 |
| 四足(Quadruped / NodeQuadMini) | 额外支持 | 结构/原理图/固件/界面 | 本 README 已包含四足展示图;硬件侧提供原理图参考(PCB 未开源);待更新教程 |
结构件与紧固件差异:见
mechanism/README.md(已按六足/四足分别列出)。
- 统一抽象接口 - 六足/四足共用控制与 Web 框架
- 构型差异隔离 - 六足与四足分别实现,互不影响主线功能演进
- Web界面控制 - 通过浏览器实时控制机器人运动
- 串口通信 - 支持UART2串口指令控制(调试和外接上位机用)
- WebSocket通信 - 低延迟的实时数据传输
- 语音拓展(可选) - 支持接入“小智 AI 拓展板”,实现语音交互控制
- 基础移动: 前进、后退、左转、右转
- 侧向移动: 左移、右移
- 姿态控制: X/Y/Z轴旋转、扭转动作
- 特殊动作: 攀爬、快速前进
- 四足多步态切换: 支持 Trot / Walk / Gallop / Creep 步态模式切换
- 动作序列(运动规划): 将多段动作按“周期/步数/距离/角度”等约束编排成序列,一键执行(见
/planner)
- 实时校准 - 通过Web界面进行舵机角度可视化校准
- 参数保存 - 校准数据自动保存到Flash存储
- 电池监测 - 实时监控电池电压
- 低电压保护 - 自动LED警告和系统保护
- 主控: ESP32 (NodeMCU-32S)
- 舵机驱动: PCA9685 PWM驱动板
- 通信: WiFi + UART2串口
- 存储: SPIFFS文件系统
- 语音拓展(可选): 小智 AI 拓展板
firmware/
├── src/
│ ├── main.cpp # 主程序入口
│ ├── robot.h # 统一机器人抽象接口(六足/四足共用)
│ ├── hexapod.h/cpp # 六足实现
│ ├── quad_robot.h/cpp # 四足实现
│ ├── leg.h/cpp # 单腿控制(六足/四足各自实现/复用)
│ ├── movement*.h/cpp # 运动控制算法与配置表
│ ├── motion_controller* # 动作序列/运动规划执行
│ └── calibration.h/cpp # 校准系统
├── include/ # 头文件
└── lib/ # 第三方库
- 正运动学: 根据关节角度计算足端位置
- 逆运动学: 根据目标位置计算关节角度
- 坐标变换: 世界坐标系与局部坐标系转换
六足结构 |
PCB套件 |
小智拓展 |
四足结构 |
四足正面 |
四足主板 |
说明:四足版本当前开源 原理图 供学习与维护参考;PCB 相关文件不开放。
四足支持多种步态模式切换(Trot / Walk / Gallop / Creep)。
- 套件购买: NodeHexa 六足机器人套件、NodeQuadMini 四足机器人套件
- 电路板购买:NodeHexa 六足机器人电路板
- 舵机购买(强烈推荐): MG90s 舵机
- 语音拓展板购买: 小智AI拓展板(支持四、六足)
强烈建议使用我们店铺上架的舵机:市面 MG90s 厂家众多,尺寸与质量差异较大;劣质舵机更容易过热/烧毁,后续成本更高。该链接为我们对多家产品测试对比后筛选的版本。
或点击下方**【NodeHexa教程】**直接查看公众号文章列表:
📚 NodeHexa教程
- 推荐:安装 PlatformIO 插件的 VSCode IDE
- 机器人开机后连接WiFi热点 "NodeHexa" (密码: roboticscv666)
- 访问
http://192.168.4.1进入控制界面 - 进行舵机校准 (访问
/calibration页面) - (可选)打开运动规划页面 (访问
/planner页面) 编排动作序列 - 开始控制机器人运动
- 运动控制: 前进、后退、转向、侧移等
- 姿态控制: 三轴旋转和扭转动作
- 校准功能: 一键进入校准模式
- 运动规划: 进入
/planner编排并发送动作序列(单段动作也可直接执行)
- 实时调整: 每个舵机的角度微调
- 可视化反馈: 实时显示调整效果
- 参数保存: 自动保存校准数据
- 单段动作: 执行一段限定周期/步数/距离的动作(姿态类动作仅支持周期)
- 动作序列: 多段动作串行执行(限制最多 5 段)
重要提醒:左右两侧舵机驱动板电路设计完全相同,但在焊接元件时有细小差别。
- 舵机驱动板边缘的1×4P和1×6P排针只焊一侧,左右舵机驱动板焊接位置相反。
- DIY用户需要焊接左侧舵机驱动板的SJ1跳帽(购买套件的用户无需操作,出厂已焊接)。
作用说明:焊接跳帽后,左侧舵机驱动板的IIC地址将与右侧不同,避免两块驱动板地址冲突。两块舵机驱动板通过IIC协议与主控通信,地址相同会导致通信异常。
- B站: @智造师_RoboticsCV
- GitHub: @ViolinLee
- 微信公众号: RoboticsCV
欢迎提交Issue和Pull Request来改进项目!
- 基于 hexapod-v2-7697 项目二次开发
- 参考 PiHexa18 项目设计
- 语音拓展来自 xiaozhi-esp32
- 感谢所有开源社区的支持
⭐ 如果这个项目对你有帮助,请给它一个星标!
📺 关注B站 @智造师_RoboticsCV 获取更多机器人项目
💬 关注公众号 RoboticsCV 获取技术文章和教程
Made with ❤️ by ViolinLee
Copyright © 2024 ViolinLee. Licensed under GPL-3.0.









