项目名称
小电台四足机器人
基本信息
| 项目 | 详情 |
|---|---|
| 项目名称 | 小电台四足机器人 |
| 小组名称 | Unic机器人小队 |
| 项目方向 | 机器人控制 / 嵌入式 / 无线通信 |
| 项目周期 | 2026年7月 — 2026年8月 |
小组成员
| 姓名 | 角色 | GitHub |
|---|---|---|
| 房非 | 组长 | @housefangfei |
| 党钰晋 | 组员 | @dangyujin6-maker |
| 生芮 | 组员 | @pilina001 |
| 黄成 | 组员 | @knee521 |
| 张逸帆 | 组员 | @zyfzyf1222 |
| 肖宏宇 | 组员 | @xiaohongyu51-lgtm |
项目简介
小电台四足机器人是一套集机械结构设计、嵌入式控制、无线通信和机器人运动控制于一体的综合实践项目。
机器人采用四足十二自由度结构,每条腿由三个 SG90 舵机驱动,共使用 12 个舵机完成关节运动。机械骨架采用三维建模和 3D 打印方式制作,控制系统使用自制主控板完成舵机驱动、姿态信息采集和各模块之间的通信。
手机端通过无线链路与基于 ESP32-C6-MINI-1 的小电台通信。小电台再通过 Type-C 接口与机器人主板连接,由 CH32V203 承担 USB Host 与接口桥接功能,并将控制信息传递给 STM32F103C8T6 主控。STM32 根据收到的运动指令控制 12 路舵机,并结合 BNO055 姿态传感器进行后续的姿态检测和运动调试。
项目重点是完成一套 可运行、可解释、可展示 的机器人控制闭环,实现手机端指令输入、小电台无线通信、主控板解析和四足机器人运动执行。本项目不设置摄像头视频流回传功能,主要聚焦于无线控制、舵机协调和基本步态实现。
技术栈
手机端
- 功能:发送文字信息及机器人运动控制指令
- 通信方式:手机 App 与小电台之间进行无线通信
- 开发框架:根据当前手机 App 实际开发方案补充、
嵌入式软件
- 语言:C
- 机器人主控:STM32F103C8T6
- USB Host 控制:CH32V203
- 小电台主控:ESP32-C6-MINI-1
- 通信方式:无线通信、USB、UART
- 控制方式:PWM 舵机控制
- 开发内容:通信协议解析、舵机控制、姿态数据读取和步态编排
硬件
- 机械结构:3D 打印四足十二自由度机器人骨架
- 执行器:12 个 SG90 舵机
- 姿态传感器:GY-BNO055
- 主控板:自主设计原理图和 PCB
- 硬件设计工具:嘉立创 EDA
核心功能
- 手机端无线控制 — 手机 App 向小电台发送文字信息和机器人运动控制指令
- 小电台数据转发 — ESP32-C6 小电台接收手机端数据,并通过 Type-C 接口发送至机器人主板
- USB Host 通信 — CH32V203 负责与小电台建立 USB 通信,并将接收到的数据传递给 STM32
- 十二路舵机控制 — STM32 输出 PWM 信号,控制四条腿共 12 个 SG90 舵机协调运动
- 基础运动控制 — 实现站立、前进、后退、转向和停止等基本动作
- 舵机调零与限位 — 对不同安装位置的舵机进行中位校准,并设置安全运动范围
- 姿态信息采集 — 通过 BNO055 读取机器人姿态数据,为步态调试和稳定控制提供依据
- 软硬件整机联调 — 打通手机 App、小电台、主控板和四足机器人之间的完整控制链路
项目 Logo
> 💡 Logo 融合了四足机器人、无线通信和嵌入式电路元素,体现了项目的主要技术方向。 项目截图
手机 App 运动控制界面

App 提供前进、后退、平移、转向和停止等运动控制指令,并支持设置移动距离与转向角度。
手机 App 基础动作界面

App 提供站立、坐下、趴下、归零、唤醒和急停等基础动作指令。目前 App 与小电台之间的通信链路已经打通。
主控板原理图

原理图包含 STM32 主控、CH32V203、Type-C 通信接口、舵机接口、姿态传感器和电源模块等部分。
主控板 PCB

PCB 已完成主要布局与布线,目前主板正在进行元器件焊接,后续将开展上电和接口测试。
当前机械样机

当前已完成 3D 打印骨架和机械结构组装,12 个 SG90 舵机已安装到对应关节位置。图中为阶段性样机,主控板、电池和线束尚未完成最终安装。
系统架构图

代码仓库
- 项目源码: GitHub链接
演示
演示视频: demo.mp4
项目亮点
- 自主完成四足机器人机械结构、主控板与通信链路设计
- 采用 ESP32-C6、CH32V203 与 STM32 多控制器协同架构
- 通过手机 App 和小电台实现机器人无线指令控制
- 使用 12 个 SG90 舵机构建四足十二自由度运动系统
- 集成 BNO055 姿态传感器,为步态调试和姿态控制提供数据
项目总结
本次实践让小组完整经历了从机械结构设计、3D 打印装配、主控板原理图与 PCB 设计,到嵌入式通信和舵机运动控制联调的过程。项目中最大的收获是把分散的硬件模块、通信链路和控制逻辑真正串联成一个可运行的系统:手机端指令需要经过小电台、USB Host 桥接和 STM32 主控解析,最终转化为 12 路舵机的协调动作。这个过程暴露了机械装配误差、舵机中位校准、供电稳定性和多控制器通信时序等问题,也让我们认识到机器人系统调试必须软硬件同步推进。后续如果继续完善,将重点优化步态稳定性、姿态反馈控制和整机布线结构,使四足机器人具备更可靠的连续运动能力。
成员总结
房非
这次我主要负责四足机器狗的原理图设计和元器件采购。刚开始觉得原理图无非就是把各个模块连起来,真正动手后才发现,很多问题都藏在细节里。一个接口到底接 3.3V 还是 5V、串口的收发方向有没有弄反、不同电源能不能共用、Type-C 的 CC 引脚该怎么处理,这些地方只要有一个没确认清楚,后面就可能完全无法正常工作。
采购器件的过程也让我改变了不少看法。以前看到功能相似、封装差不多的芯片,会觉得应该都能替换,但实际还要核对引脚顺序、额定电流、外围电容和封装尺寸。比如更换稳压器后,并不是只改一个型号,连输入输出电容和接线方式都要重新调整。选陀螺仪模块时,也不能只看商品页面写着支持 UART 和 I²C,还要确认模块实际采用哪种通信模式。
这次最大的收获,是慢慢养成了核对的习惯。画完一部分后再查数据手册、对照实物引脚、检查网络名称,虽然过程有些繁琐,但比做完板子以后再返工轻松得多。从一开始看不懂很多符号,到后来能自己判断电源、接口和外围电路是否合理,我感觉这次项目真正让我对硬件设计有了比较具体的认识。
黄成
这次做四足机器狗 PCB 设计和主板焊接,收获比预想的扎实很多。
画 PCB 时才发现,之前纸上谈兵的走线规则全是细节——动力回路和信号回路必须严格分走,不然电机一启动,IMU 数据直接飘飞,之前踩过的共地干扰坑,现在闭着眼都能避开。
手工贴焊 0402 封装的阻容和 QFN 芯片,练了三四次才找到手感,烙铁温度、上锡量、拖焊节奏差一点就容易虚焊,现在不用放大镜也能稳焊小封装,排查虚焊的速度快了一倍。
最深刻的体会是,硬件和软件完全是两回事:代码写错了改一行就生效,PCB 布线错了、焊盘连锡了,就得飞线甚至拆板返工,每一步都得带着“一次做对”的严谨性,前期多花半小时核对,后期能省好几个小时的调试时间。
整个过程踩过小坑也攒了实感,现在手里这块焊好的主板通电能稳跑舵机信号,比看十遍教程都管用。
肖宏宇
本次项目负责零件建模与 3D 打印。实践中深化了对 SolidWorks 建模、装配配合的理解,体会到设计须提前考量打印公差、支撑方向及装配间隙。通过参数调整与模型检查,强化了细节意识。团队协作让我认识到建模需兼顾布线、安装等实际需求。项目使软件技能转化为工程实践能力,并培养了严谨细致的工作习惯。
张逸帆
通过本项目,我对嵌入式系统的软硬件协同开发有了更深入的认识。从原理图分析、PCB 检查,到 CH32V203 与 STM32 程序编写、USB Host 通信调试,每个环节都需要认真核对接口、引脚和协议。调试过程中也体会到,出现通信异常时不能只从软件入手,还要结合供电、电平、焊接和线路通断进行排查。此次实践提升了我的硬件分析、程序调试和问题定位能力,也让我认识到规范设计和分阶段验证的重要性。
生芮
本次实践以 STM32 为核心,完成了 12 路舵机 PWM 驱动、稳定站立、慢速爬行、趴下与站起动作,并通过软件 I²C 读取 BNO055 姿态数据并在 OLED 显示;同时实现 CH32 按键经 UART 向 STM32 发送 WALK、PRONE、STAND 和 BACK 指令。开发采用“单路 PWM—单舵机—单腿—四腿”逐级调试,通过分阶段轨迹和平滑插值实现动作,并逐步解决供电、I²C 和串口通信问题。我在实践中掌握了 STM32 HAL、UART 中断、环形缓冲区、BSP 封装、非阻塞状态机及 Git 版本管理,也认识到机械结构、舵机标定、供电与程序设计必须协同,工程开发应先保证安全、稳定和可验证,再逐步增加复杂算法。
党钰晋
在模型构造阶段,根据舵机实际尺寸设计腿部结构,关键配合处预留 0.2mm 公差确保打印后能顺利装配,螺丝孔直径比螺丝小 0.2mm 防止滑丝。3D 打印填充密度 5% 即可满足强度,关节活动件的悬空部分需手动加支撑,打印方向沿受力方向设置以避免层间断裂。组装时先装单腿测试关节活动范围,确认无卡死再装其余腿,舵机线沿骨架预留槽位走线并扎带固定,全部舵机装完后统一调零再锁紧舵盘螺丝。整个过程体会到,机械精度和装配顺序直接影响整机运动性能,前期设计多留一份余量,后期调试就少一分返工。