FOC轮腿机器人从零上手完整指南:一个开源仓库吃透机械、电路与平衡算法
【免费下载链接】foc-wheel-legged-robotOpen source materials for a novel structured legged robot, including mechanical design, electronic design, algorithm simulation, and software development. | 一个新型结构的轮腿机器人开源资料,包含机械设计、电子设计、算法仿真、软件开发等材料项目地址: https://gitcode.com/gh_mirrors/fo/foc-wheel-legged-robot
机器人装到一半跑不起来,问题到底出在哪?大多数新手卡住的不是缺某一篇教程,而是缺一条从零到能跑的完整路径。FOC轮腿机器人(foc-wheel-legged-robot)就是这样一条现成的路径:它把机械结构、电子电路、平衡算法到遥控 APP 的全部开源资料,按模块摊在一个仓库里,照着做就能让一台双轮腿机器人自己站稳。
一句话看懂:这个项目到底给了你什么
简单说,这是一套覆盖"设计→仿真→装配→调参"全流程的轮腿机器人开源资料:机械部分提供 SolidWorks 全套模型,算法部分提供 MATLAB/Simulink 仿真,硬件部分提供 STM32 电机驱动板与 ESP32 主控板,软件部分则包含主控固件、Linux 图传模块和 Android 遥控 APP。按作者实测的物料清单,不算图传约 549 元即可凑齐一台能自主平衡、能遥控行走的机器。
它适合三类人:想搞懂 FOC 电机控制与 LQR 平衡算法的学生、想低成本验证机器人设计的创客,以及只是想把"会动的机器人"从视频搬到自己桌面的动手党。仓库里所有文件都按模块分目录存放,每个子目录还附带自己的 README,你完全可以根据需要按图索骥,不必一次读完。
换句话说,这个项目解决的核心问题不是"发明了什么黑科技",而是把一套经过验证的完整方案掰开揉碎交到你手上——你要做的只是照着走一遍。
值得关注的五个亮点
先说明它凭什么值得你花时间,再谈怎么动手。
- 机械到算法全链路开源,没有黑盒—— 从 SolidWorks 总装配体、MATLAB 符号推导,到最终落地的 C 代码,每一环都能打开查看。想改大腿结构有源文件,想换控制策略有推导过程。
- 双控制板分工,架构清晰—— 底层是 6 块基于 STM32 的 FOC 电机驱动板(负责 4 个关节电机和 2 个车轮电机),上层是 1 块 ESP32-C3 主控板(负责平衡算法与遥控),两者通过 1Mbps 的 CAN 总线协作,各司其职。
- 仿真先行,避免"上车就翻车"—— 项目先用 MATLAB/Simulink 建好腿部模型与整机物理仿真,算法在电脑上验证稳定后再落到实机,把大量调试成本挡在上电之前。
- 图传模块可插拔—— 基于 NanoPi 的 Linux 图传是可选件,装上可实时回传画面、远程遥控,拆掉也不影响任何核心功能,丰俭由人。
- 成本透明到每一颗螺丝—— 仓库直接列出每类物料的数量与单价,总价可算,不用自己满市场做功课。
接下来进入正题,我们按一条"最小可行路径"把机器人跑起来。
零基础上手:五步走通最小可行路径
对这台机器而言,"跑通"的标准很具体:驱动板能完成电机标定、主控板能运行平衡算法、手机 APP 能连上并发指令。下面五步就是最短路径。
第一步:克隆仓库,先看清家底
git clone https://gitcode.com/gh_mirrors/fo/foc-wheel-legged-robot克隆后先浏览六个一级目录:solidworks(机械设计)、matlab(算法仿真)、stm32-foc(电机驱动板)、esp32-controller(主控模块)、linux-fpv(图传)、android(遥控 APP)。每个目录的 README 都写明了硬件怎么搭、软件怎么烧、参数怎么标,这一步值得认真读。
第二步:对照物料清单备货
别急着下单,先把根目录 README 的物料表看一遍。核心件包括:4 个 4010 无刷电机(关节)、2 个 2804 无刷电机(车轮)、6 套驱动板元件、1 套主控板元件、3D 打印结构件、亚克力底板,以及轴承、磁铁和螺丝若干。有一个容易被忽略的细节:每个电机的转子中心都要贴径向充磁磁铁,且要与磁编码器保持约 2~3mm 的距离,这是位置反馈的基础,装的时候务必对齐。
第三步:装好驱动板,完成电机"入职登记"
驱动板是机器人的"肌肉",每块板配一个电机,全部操作都通过板载按钮完成:
- 设置驱动 ID(1~8):按下按钮不松手,LED 以 500ms 周期闪烁,闪到第 N 次松手,ID 即设为 N。建议左关节=1、右关节=2、左轮=3、右轮=4,一路排下去,同一总线上不能重号。
- 触发自动标定:一直按住不松手,LED 会先闪烁、再常亮 2 秒,此时松手进入标定。关键前提是电机必须空载,让它缓慢转完一圈采集极对数、零点偏移等参数,成功后参数自动写入 Flash,下次上电无需重来。
第四步:烧录 ESP32 主控程序
主控板基于 ESP32-C3,使用 PlatformIO 开发。用 USB Type-C 连上电脑,先按住两个按键、先松开 RESET 再松开 BOOT,芯片即进入烧录模式,随后执行烧录即可。程序运行后,板载 LED 的状态就是你的第一份"体检报告"。
💡 小贴士:只想先验证上位机的话,可以暂时不装图传。没有图传时,手机 APP 通过蓝牙直连主控模块,功能依然完整。
第五步:装 APP,上电联调
把android/balancebot.apk安装到手机,机器人上电,打开 APP 等待连接成功——左上角配置按钮由灰变亮即为已连上。到这里,"最小可行路径"就通了,你可以用虚拟摇杆让电机动起来,正式开始调试。
进阶实战:两个值得亲手做一遍的功能
跑通只是开始,下面两件事做完,你才算真正"懂行"。
实战一:把平衡算法从仿真搬到实机
这个项目的平衡算法走了一条教科书般的流程:先对腿部连杆做符号化简,用 VMC(虚拟模型控制)思想建立力矩映射,再推导系统状态空间方程,用 LQR 求反馈矩阵 K,最后用 MATLAB Coder 把 M 函数直接转成 C 代码——你在esp32-controller/software/src下看到的leg_pos.c、leg_spd.c、lqr_k.c就是这么来的。
你可以这样验证整条链路:先在matlab/下运行leg_func_calc.m和sys_calc.m生成解算函数,再打开leg_sim.slx与sys_sim.slx两个 Simulink 模型做整机物理仿真,确认算法稳定后再对照实机调参。这一步的价值在于:当实机出现抖动时,你能判断是参数问题还是机械问题,而不是盲目乱调。
上实机后,最需要关心的参数集中在main.cpp的Motor_InitAll函数里:每个电机的零点偏移offsetAngle、旋转方向dir、扭矩系数torqueRatio,以及关节/车轮电机的反电动势函数。如果你用的不是作者同款电机,这几个参数都要重新测量,测量方法和公式在 ESP32 模块的 README 中写得很细,照着做即可。
实战二:给机器人装上"眼睛"和"远程"
图传是可选模块,但对可玩性的提升是质变的。它的链路设计很巧妙:手机 APP 通过局域网接收 NanoPi 转发的 MJPG 视频流,同时用 UDP 发送遥控指令;NanoPi 再通过蓝牙把指令转发给主控模块。由于主控模块感知不到图传的存在,你可以随时把它整个拆掉,恢复蓝牙直连模式。
搭建时,把linux-fpv/scripts下的 ffserver 配置、启动脚本和 systemd 服务文件按 README 步骤复制到 NanoPi 对应目录即可。实测图传为 640×480@25fps,局域网延迟约 300ms,直连手机热点时体验最顺滑。
高频问题排查:现象、原因与对策
DIY 路上最容易翻车的几个场景,整理成一张表,遇到问题先对号入座。
| 现象 | 可能原因 | 解决思路 |
|---|---|---|
| 电机通电后嗡嗡响但不转 | 三相相序错误,或编码器磁铁距离过远 | 交换任意两根相线;把磁铁调整到距 AS5600 约 2~3mm |
| 自动标定失败 | 电机带负载或旋转阻力过大 | 拆下轮胎和连杆,让电机完全空载再标定 |
| ESP32 进不了烧录模式 | 按键释放顺序不对 | 先松开 RESET,再松开 BOOT,顺序别反 |
| 机器人持续前后摆动 | 平衡参数偏大,或重心偏离轮轴垂线 | 每次只调一个参数,幅度不超过当前值 10% |
| CAN 通信时断时续 | 总线缺少终端电阻 | 在总线两端各加一个 120Ω 电阻 |
| 手机看不到图传画面 | 不在同一局域网,或配网未完成 | 用 APP 的蓝牙配网功能重新配置 WiFi |
再补三条"心态类"建议:一是别一次改多个参数,改一个、测一次、记一笔;二是先仿真后实机,把 MATLAB 当成你的免费试验场;三是记得备份参数,改动代码前把已标定好的数值抄下来。
资源导航:按需取用的目录地图
整个仓库就是你最好的说明书,这份地图帮你快速定位:
- 机械结构:solidworks/ —— 全部零件与总装模型,含爆炸视图
- 算法与仿真:matlab/ —— 腿部解算、VMC、LQR 与 Simulink 模型
- 电机驱动板:stm32-foc/ —— 原理图、PCB 与 STM32 工程
- 主控模块:esp32-controller/ —— 硬件设计、PlatformIO 工程与标定说明
- 图传模块:linux-fpv/ —— 脚本、配置与 systemd 服务
- 遥控 APP:android/ —— 源码与可直接安装的 APK
每个子目录 README 末尾的"改进方向"尤其值得一读,那是作者踩坑后的心得,含金量比很多教程都高。仓库根目录还提供了演示视频入口,动手前先看一遍成品的实际表现,能帮你校准预期。
现在,轮到你了
这台机器人的门槛不在硬件而在耐心:物料采购一周能齐,装配花两三天,真正的修炼在平衡参数那几天的反复试探里。但当你第一次看到它独自站稳、被推一下还能自己找回平衡时,前面所有抓狂都值了。
给你一份可以照着执行的行动清单:
- ✅ 克隆仓库,通读根目录 README 与物料清单
- ✅ 打开 MATLAB 仿真,先让机器人在电脑里"站住"
- ✅ 按清单采购物料,从关节驱动单元开始装配
- ✅ 完成驱动板标定与主控烧录,上电联调
- ✅ 安装 APP 把机器人"喊醒",然后耐心调参
- ✅ 有余力再加装图传,体验远程操控
别忘了,每当你调通一个环节,都在为后来者铺路。把调试记录和改进方案反馈回仓库,让这台机器人因为你的参与而变得更好。技术这条路没有终点,但每一步都算数——动手吧。
【免费下载链接】foc-wheel-legged-robotOpen source materials for a novel structured legged robot, including mechanical design, electronic design, algorithm simulation, and software development. | 一个新型结构的轮腿机器人开源资料,包含机械设计、电子设计、算法仿真、软件开发等材料项目地址: https://gitcode.com/gh_mirrors/fo/foc-wheel-legged-robot
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考