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

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

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

由 Johan Link 开发的 BaBot,不是什么遥不可及的高科技,而是一个完全开源、你可以亲手打造的球平衡机器人项目!它身材紧凑,功能强大,能让你亲身感受:

什么是 PID 控制?

传感器怎么玩?

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

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

在这里插入图片描述

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

准备工作

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

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

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

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

实物展示:

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

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

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

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

或者到DF创客社区论坛下载。

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

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

在这里插入图片描述

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

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

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

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

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

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

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

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

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

在这里插入图片描述

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

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

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

最后

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值