毕设机器人别自己写App,省下时间搞真技术
做过几个机器人的毕设,也帮学弟学妹调过三次,说点实在的:手机控制机器狗这事,难度不在"控制",在"控制之外的那一堆破事"——供电、丢包、舵机中位、以及答辩前突然不动了。
如果你只是要一个能演示、能写进论文、答辩时能当着老师面走两步的方案,别自己写 App,写控制软件。用 BLE 蓝牙直连 + 现成的遥控端,把精力省下来做步态算法,优化运控,那才是老师真正要看的东西。
三条路,选错了很致命
|
方案 |
做法 |
周期 |
坑 |
|---|---|---|---|
|
自己写 App |
Android 原生 / Flutter + BLE |
2-4 周 |
蓝牙兼容性地狱,不同手机表现不一样 |
|
手机 + 云端中转 |
手机发 MQTT → 服务器 → 设备 |
1-2 周 |
答辩现场没网就当场去世 |
| BLE 直连 + 现成遥控端 |
设备端实现协议,手机端直接用 |
1 天 |
几乎无 |
前两条我都见过翻车的。自己写 App 那个同学,最后两周全在修手机连不上蓝牙或者连接不稳定的问题,步态部分反而是抄的;云端那个更惨,答辩教室 WiFi 要认证,机器狗站在那里一动不动。

机器狗这边要做什么
一个经典的毕设四足机器人标准是 12 个舵机、3×4 自由度(每条腿髋、大腿、小腿各一个)。你要让手机能控制它,设备端(一般用 ESP32,省钱!!!)只需要做三件事:
- 开一个 BLE 服务
用 Nordic UART Service 或者自定义服务都行,手机端能写特征值即可。
- 定一个帧格式
解析手机发下来的字节流。
- 把字节流转成舵机角度
写进 PWM 驱动。
BLE协议及标准是最容易被忽略的,我一般建议用的是 10 字节定长帧:
| 偏移 | 字段 | 长度 | 说明 |
|------|--------|------|---------------------|
| 0 | 帧头 | 1 | 固定 0xAA |
| 1 | 帧头 | 1 | 固定 0x55 |
| 2 | 命令码 | 1 | 移动控制是 0x01 |
| 3 | 序列号 | 1 | 0~255 自增循环 |
| 4-8 | 数据 | 5 | [vx, vy, vr, 0, 0] |
| 9 | 校验和 | 1 | (字节 2~8 累加) & 0xFF |
为什么是 10 字节?因为 BLE 4.0 默认 MTU 只有 20 字节,一帧塞进一个通知里发出去最省心,不用分包重组,10 字节留够了余量。
移动控制那 5 个数据字节里,前三个是 vx(前后)、vy(左右)、vr(转向),速度值用 -100~100 映射到 0~255,0x80 表示 0。这样一帧就能同时给前进速度和转向,摇杆推过去是连续的,比发一堆按键指令手感好太多。这样的标准写入固件,非常省时省力。

三个必踩的坑
坑一:舵机供电不能从 ESP32 等主控板取。 12 个舵机同时动,峰值电流能上 5-10A,开发板一般都 扛不住,表现为"一动就重启"。必须独立供电,并且舵机电源和逻辑电源共地,不共地会出现莫名其妙的乱动作。
坑二:蓝牙断了要有急停。 我一般会开一个看门狗:超过 1 秒没收到心跳帧(命令码 0x00),就让狗原地站立。否则手机一锁屏,狗会保持上一个速度一直走,然后撞墙。急停命令我单独留了 0x02,数据位全填 0xFF,收到无条件停。
坑三:12 个舵机中位一定不一致。 这个就需要对每个关节的舵机进行静校准,不然,就得拆开不一致的关节重新组装,这是最花时间的一项,比写协议还花时间。
有没有现成的
有。我自己在网上找了很久,不是付费就是需要看广告,不负有心人,找到个“机器人控制”的小程序,免费且好用。它是个通用机器人遥控平台,微信小程序打开就能用,不用装 App,四足、双足、轮式、轮足、机械臂、灵巧手六类设备都支持,走的就是上面这套 10 字节协议。
对毕设来说它省掉的是最烦的那一环:手机端不用写了,你只需要在 固件代码上把帧解析实现出来,然后它自带的东西刚好能直接进论文——
- 引导测试
舵机响应、空载行走、步态切换、急停四步,跑完才解锁遥控,答辩前自检特别好用
- 双级舵机校准
粗校准(裸机零位,6 步引导)+ 精校准(±1°/±2°/±5° 逐关节微调),中位问题不用一个个试。
- 动作编排
时间轴拖拽,编排完一键下发,做"作揖""跳舞"这类演示动作很快。
- 异常监控
电压低于 6.5V 警告、低于 6.0V 严重告警,温度超过 60°C 警告、超过 70°C 严重告警,堵转过载会报
0x02/0x03。
机型方面,四足这边的 Pineapple 8 自由度、Pineapple 12 自由度、SpotMicro 12 自由度等同结构都是可以直接连真机遥控的,主要还支持最近很火的Microduck机器鸭;宇树 A1/Go1/Go2 这些商用机型提供的是 URDF 模型导入和 3D 预览、动作编排,真机遥控得你自己实现协议——这点一定要搞清楚,别在答辩时被问住。

答辩会问什么
老师大概率会问这三个,提前准备好:
- "通信协议是你自己设计的吗?"
—— 可以答"参考了工业上常见的定长帧结构,帧头做同步、序列号做去重、累加和做校验,针对 BLE 的 20 字节 MTU 限制把帧压缩到 10 字节"。这比"我用了别人现成的"好听得多,而且确实是设计。
- "为什么不直接用 WiFi?"
—— BLE 功耗低、配对快、不依赖路由器;WiFi 的优势是能远程控制,但答辩场景下是负担。两种都支持的话更好,切换不用改设备端代码。
- "延迟多少?"
—— 实测 BLE 直连往返 10-20ms 量级,控制一条四足机器人完全够。记得现场测一下,别瞎编。
最后一句实话:毕设评分看的是你解决了什么问题,不是你写了多少行代码。把手机遥控这一层用现成方案省下来,把时间花在步态规划或者姿态控制上,分数会高不少。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐



所有评论(0)