KITtyBot:Arduino Pro Mini 驱动 12 舵机四足仿生机器人,红外遥控
组件与物料
| 组件 | 数量 | 备注 |
|---|---|---|
| Arduino Pro Mini 5V/16MHz | 1 | SparkFun 版 |
| 微型舵机 (SG-90 / MG996R 同尺寸) | 12 | 每腿 3 自由度 |
| UBEC 5V/3A 降压模块 | 1 | 给 12 舵机供电 |
| 迷你红外遥控器 | 1 | 配合 IRLib2 库 |
| TSOP38238 红外接收头 | 1 | |
| 1kΩ / 2.2kΩ 电阻 | 各 1 | 电池电压分压采样 |
| 7.4V 500mAh LiPo 电池 | 1 | 遥控车/飞机用电池均可 |
所需工具
- 3D 打印机 (打印结构件)
- 烙铁 (面包板版可免焊)
应用与服务
- Arduino IDE
项目简介
设计初衷
想做"哺乳动物"风格的四足机器人(如 Boston Dynamics),而非蜘蛛/昆虫式。重心高、足在身下易翻倒,是巨大挑战。目标:极低成本 (Arduino + 微型舵机) 实现基本歩行。代码实现逆运动学(IK)、步态规划、舵机同步运动、电池监控。
核心算法模块
- 逆运动学 (IK):根据目标足端位置解算三关节角度
- 身体/足端运动函数:身体位移(四足反向同步移动)、完整抬脚-移动-落脚流程
- 静态稳定步态:单足抬起,其余三足构成支撑三角形,重心保持在三角形内。实现前进、后退、左转、右转四种基本步态
- 舵机同步运动:多舵机不同时程运动需同步,保证平滑
- 电池监控:模拟口分压采样电池电压,<7.0V 强制休眠保护 LiPo
机械组装
- 按 STL 文件 3D 打印所有件:机身、保险杠(前/后)、髋关节支架×4、大腿×4、小腿/足×4
- 髋关节:双面胶/胶水固定两舵机垂直正交 (前左/后右一组,前右/后左镜像)
- 上电跑代码让 12 舵机归中 (90°),微调机械零位
- 大腿件粘舵机舵盘,接髋关节约 60°
- 小腿舵机拧螺丝固定
- 大腿滑入机身对应孔,保险杠锁紧,腿向外展约 12° (趾外翻 20mm)
- 装小腿,足尖落在髋关节正下方
- 整理舵机线束,美观且防绊线
- 电池魔术贴粘机身底部




电子连接:面包板版 / PCB 版
面包板版:半块面包板塞下 Pro Mini、舵机排针、IR 接收头、分压电阻。电源轨用粗跳线,UBEC 输出接上轨中部平衡供电。面包板双面胶贴机身中心,D3-D5 接口朝前左角。原理图见下图。


PCB 版:Fritzing 设计专用 PCB,含 12 舵机插座、IR、电压采样、预留扩展引脚。双面胶贴机身定位柱。生产文件见原理图区。




调试与微调
编辑 servodeg0[12] 数组微调 12 舵机中位 (顺序:前左 αβγ、后左 αβγ、前右 αβγ、后右 αβγ)。servodir[12] 定义正向(逆时针为正)。上电观察对称性,测量关键尺寸对照理论图:

误差 ±1cm 可接受。迭代几轮后得到类似 {80,95,100,100,110,90,100,115,100,80,80,100} 的校准值。若仍翻倒,移动电池调整重心。
安全提示
LiPo 电池须专用充电器充电,勿离人充电,装防火袋,妥善存放。 代码已含欠压保护,但硬件层面无保护板,短路/过放风险自担。
后续改进方向
- 遥控器更多按键映射动作(舞蹈等)
- 模拟摇杆比例控制
- "行进中转向"步态 + 陀螺仪/罗盘修正
- 超声波避障自主导航
- 手机 App 控制 (Blynk + ESP8266/ESP32 串口桥接)
欢迎二次开发,共同完善!
代码
完整 Arduino 代码 (含 IK、步态、IR 解码、舵机同步、电压监控) 过长,请见 GitHub 或原项目页面。核心数据结构与函数已在上文说明。
3D 打印件清单
- 机身 (含 PCB/电池安装面)
- 保险杠 ×2 (前/后)
- 髋关节支架 ×4
- 大腿 ×4
- 小腿/足 ×4
- 组装示意图 (不打印)
原理图
Fritzing 文件:kittybotmini_XKZYltyQVJ.fzz (可直接下单制板或导出 Gerber)
制造工艺
- 树莓派 2 (Windows 10 IoT Core) 采集 Adafruit 10DOF IMU 数据上传 Azure Event Hubs
- 用 Adafruit 60 LED NeoPixel 环形灯和 Arduino 制作时尚挂钟
- UnifiedWater v1 — 基于 Arduino MKR GSM 1400 的完整水质监测套件
- 3D 打印钢铁侠头盔与反应堆:Arduino 控制舵机与 NeoPixel 全攻略
- 便携式 GSM 投票箱:基于 Hologram + IFTTT 实现云端数据采集
- Arduino 101 BLE + Blynk:DIY 蓝牙遥控履带坦克车
- 智能配对墨镜:Arduino 101 + tinyTILE BLE 实现眼神交流信号
- DIY 打地鼠街机游戏(按键版)——Arduino Mega 2560 实现
- 现代复古点唱机:Raspberry Pi + Arduino NeoPixel 声控灯光音乐播放器
- DIY Arduino 智能手表:打造属于你的 Apple Watch 风格腕表
- 向礼貌司机表达感谢:车载可编程 LED 显示屏
- Rocky Rover:基于 Arduino 101 与 PixyCam 的视觉追踪智能小车