2025-5-13 13:58:04 [显示全部楼层]
165浏览
查看: 165|回复: 1

[项目] 手把手教你造一个会「玩球」的平衡机器人!

[复制链接]
本帖最后由 RRoy 于 2025-5-13 13:58 编辑

想象一下,有个机器人,不靠手不靠脚,就能让一个球稳稳地待在板子上,无论怎么晃动都掉不下去,听起来是不是挺有意思?

手把手教你造一个会「玩球」的平衡机器人!图1

今天,就带大家认识一位“平衡艺术家”—— BaBot!

由 Johan Link 开发的 BaBot,不是什么遥不可及的高科技,而是一个完全开源、你可以亲手打造的球平衡机器人项目!

它能让你亲身感受:

什么是 PID 控制?

传感器怎么玩?

机器人是怎么“思考”并行动的?

无论你是学生想把理论变实践,还是老师想找个有趣的教学案例,或者只是个纯粹热爱折腾的极客,BaBot 都能让你玩到停不下来!

手把手教你造一个会「玩球」的平衡机器人!图2

BaBot 的诞生也挺有意思,它从 2018 年一个高中项目起步,最初用电脑加摄像头追球,后来迭代到树莓派版本。但现在这个最新版,用了更精巧的红外传感器和 ATmega32U4 微控制器,体积更小巧,成本更亲民,而且搭建起来也更方便。

准备工作

硬件部分
  • 1块 2mm 厚的亚克力板 (PMMA),就是它的“舞台”啦!
  • 16颗 红外光电晶体管 + 16颗 广角红外 LED (BaBot 的“眼睛”)
  • 1块 定制 PCB 电路板 (可以在各大PCB平台定制)
  • 1颗 ATmega32U4 微控制器 (机器人的大脑)
  • 1颗 CD74HC4067 16 通道模拟/数字多路复用器
  • 1个 5V 10A 直流电源 (动力来源)
  • 3个 MG90 微型舵机 (让板子动起来的小马达)

手把手教你造一个会「玩球」的平衡机器人!图3


工具部分
  • 激光切割机 (处理亚克力板,没有的话可以找服务)
  • 3D 打印机 (打印机器人的骨架结构)


软件部分



第一步:搞定最核心的“骨骼”—— PCB 板



手把手教你造一个会「玩球」的平衡机器人!图4

手把手教你造一个会「玩球」的平衡机器人!图5

手把手教你造一个会「玩球」的平衡机器人!图6

手把手教你造一个会「玩球」的平衡机器人!图7

可以在这边下载打样:https://www.pcbway.com/project/s ... Robot_7efa0601.html

实物展示:

手把手教你造一个会「玩球」的平衡机器人!图8

手把手教你造一个会「玩球」的平衡机器人!图9


第二步:打印出机器人的“肌肉”—— 3D 打印结构件



BaBot 的身体框架、机械臂什么的,都是靠 3D 打印机打印出来的。

注意,那些要和舵机亲密接触的零件,打印精度得高一点。

手把手教你造一个会「玩球」的平衡机器人!图10

手把手教你造一个会「玩球」的平衡机器人!图11

STL文件可以直接到Thingiverse上下载:https://www.thingiverse.com/thing:7021268/files

或者点击文末左下角阅读原文,到DF创客社区论坛下载。

第三步:组装“手臂”和“关节”


3D 打印件到手后,先把那三根机械臂装好,然后把它们连到 MG90S 舵机上。

手把手教你造一个会「玩球」的平衡机器人!图12


手把手教你造一个会「玩球」的平衡机器人!图13


第四步:搭起机器人的“基座”



手把手教你造一个会「玩球」的平衡机器人!图14

接着,把刚才装好的舵机臂安装到底座上。这就是 BaBot 的地基,所有电子器件都要放上面,平衡的魔法也从这里开始!

手把手教你造一个会「玩球」的平衡机器人!图15

手把手教你造一个会「玩球」的平衡机器人!图16


第五步:给机器人盖上“帽子”—— 安装顶板


现在,把那块亚克力透明顶板装到第二块 PCB 上,球就是在这上面滚来滚去的。

手把手教你造一个会「玩球」的平衡机器人!图17

手把手教你造一个会「玩球」的平衡机器人!图18


第六步:给机器人“注入灵魂”—— 上传代码



手把手教你造一个会「玩球」的平衡机器人!图19

使用 Arduino IDE,把下载好的固件代码上传到主板上的 ATmega32U4 微控制器里。

代码是开源的,在 GitHub 上可以下载:https://github.com/JohanLink/BABOT

代码里有详细注释帮你理解。https://www.ba-bot.com/ 上也有更详尽的解析。


BaBot 到底是怎么做到“球不落地”的?



手把手教你造一个会「玩球」的平衡机器人!图20

当你在透明板上放上球,一连串神奇的事情就发生了:

  • 红外眼捕捉: 板子下面藏着一块秘密武器——全是红外 LED 和光电晶体管的电路板。LED 不停地向上发射红外光,光碰到球底部后反射回来,被光电晶体管接收到。这样,BaBot 就知道球现在滚到哪儿了,而且是实时的!
  • 大脑思考: 球的位置数据嗖嗖地传送到主板上的 ATmega32U4 微控制器(就是 Arduino Leonardo 的同款芯片)。它立刻启动 PID 算法,计算出球现在的位置和它理想中“待着不动”的位置(通常是板子中心)差了多少。
  • 计算完美倾斜: 知道了偏差,怎么把球“赶”回中心呢?BaBot 需要聪明地倾斜板子!它会解一系列复杂的逆运动学方程,算出每个舵机需要转动多少角度才能让板子达到那个“刚好”的倾斜角度。
  • 身体行动: 舵机收到角度指令,立刻开始转动!连接舵机的机械臂末端有小金属球,它们像灵活的关节一样,通过磁力吸附在板子下面。舵机一动,板子就跟着倾斜!
  • 循环往复: 板子动了,球的位置变了。BaBot 的红外眼又立刻捕捉新的位置,然后大脑再次计算、舵机再次调整…… 这个反馈回路每秒钟重复约 30 次!就像给球施了魔法一样,让它稳稳地不掉下来。

这就是 BaBot 实时球平衡的秘密,传感器、控制算法、精密机械完美配合。


最后




BaBot 不仅仅是个好玩的玩具,它提供了一个很好的机会,让你亲手搭建并深入理解实时控制系统。开源的设计鼓励你去修改、去实验,无论你是刚入门的小白还是想挑战自己的高手,相信都可以在 BaBot 中找到乐趣。

原项目地址:https://www.instructables.com/Ba ... ll-Balancing-Robot/

项目作者:Johan Link

译文首发于DF创客社区

转载请注明来源信息


BaBot.zip

4.45 MB, 下载次数: 6

晨旭少年李老师  学徒

发表于 昨天 17:48

有pcb文件可以下单吗
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4 备案 沪公网安备31011502402448

© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail