社区讨论 · 政策

让实验室的机器狗听懂人话,我花了一周

折蛋白的折蛋白的8月12日2026/08/12 286 浏览

给具身机器人接上大模型,让机器狗听懂自然语言指令,这件事比想象中简单,但坑比想象中多。DeepSeek 入股宇树、Anthropic 想收购 Physical Intelligence,本质都是同一件事——大模型公司要往物理世界伸手,机器人公司需要更聪明的"大脑"。我在实验室用宇树机器狗跑了一周,把从零到能用的过程写下来。

先解释两个词。具身智能里的"小脑"指的是运动控制,让机器狗能走、能跳、能保持平衡;“大脑"就是大模型,负责理解"帮我把桌上的培养皿拿过来"这种话。两者目前是分开的,宇树提供"小脑”,DeepSeek 这类公司提供"大脑",新闻里说的战略合作就是想把这俩拼起来。

我第一天做的事,是先把宇树官方的 SDK 装好。SDK 就是一组现成的代码工具包,相当于给机器狗的遥控器,但用代码控制。去宇树官网下载对应型号的 SDK,我这边是 Go2,解压后是一个 unitree_sdk2 文件夹。装依赖,在终端敲 pip install numpy,如果有报错就再装 pip install matplotlib。然后跑一个最简单的示例,python examples/sport/walk_forward.py,机器狗会向前走两步。

这里有个大坑:SDK 版本和机器狗固件版本要对上。我第一次跑直接报 timeout,折腾两小时发现是官网最新版 SDK 跟机器狗出厂固件不兼容,最后刷回旧版固件才通。新手如果遇到连不上,先查固件版本,别急着改代码。

机器狗能动之后,下一步是让大模型能指挥它。我用的方案是本地跑一个开源大模型,通过 API 跟机器狗的控制程序对接。API 就是程序之间对话的接口,你可以理解成两个程序之间约定好的"暗号"。

核心逻辑不复杂:把文字指令发给大模型,它返回一个结构化的动作指令,再把这个指令翻译成机器狗的 SDK 调用。比如你说"左转90度",大模型返回 {"action": "turn", "angle": 90},程序解析后调用 turn_left(90)。

新手最容易在这步踩的坑是:大模型返回的格式不稳定。有时候它返回纯文本"左转90度",有时候返回 JSON,还有时候带着一长串解释。我一开始直接让大模型"自由发挥",结果解析程序天天报错。后来学乖了,在提示词里强制要求输出格式,并且加了字段校验,格式不对就重新请求。这个经验我昨天刚试过,加字段校验比让模型自己决定靠谱。

到第七天,我做了一个简单的实验:让机器狗从实验室 A 点走到 B 点,中间避开一把椅子。用自然语言下指令"绕过椅子,走到窗台那边",大模型把这句话转成路线规划,输出 {"waypoints": [[1.2, 0.5], [2.0, 1.5]]},SDK 接收坐标点,执行运动控制。

这一步花了最多时间,因为"绕过椅子"这个指令,大模型能理解,但机器狗的传感器不一定能检测到椅子。我最后妥协的方案是:先手动标定一次椅子位置,把坐标写进环境配置文件,大模型只负责查坐标再规划路径。这算是"大脑"和"小脑"之间的一个典型 gap,文本理解没问题,但物理世界的感知还是要靠传感器补。

顺带说一句,实验室里搭的这套东西,跟 DeepSeek 入股宇树想做的事方向一致,只是规模差了十万八千里。它们是要把整个感知-决策-控制闭环做通,我这边只是验证了中间一小段。

如果跑通了上面的流程,下一步可以试试给机器狗加一个摄像头,让它"看"到障碍物再决策,而不是像我一样手动标定。再往后可以试多模态大模型,直接把图像和文字一起丢进去,让模型自己决定怎么走。

大脑负责理解,小脑负责执行,中间那层翻译做不好,两边都白搭。

3 条回复

?
Ctrl + Enter 快速回复
蒋售前
蒋售前8月12日

模糊指令这个场景我接触过,技术上可行,但问题在用户预期管理。大模型空间推理能力够用,但“那边”在机器狗坐标系里怎么定义,体验上容易翻车,建议先限定几个常用方位词。

墨墨
墨墨8月12日

笑死,SDK装起来是真简单,跑起来才是噩梦。我上周折腾AI Horde也是,文档看着倍儿顺,结果依赖装完直接给我报一百个错……你这机器狗最后能跑通算你运气好,我那个项目现在还卡在环境配置上呢:sweat_smile:

座舱控
座舱控8月12日

笑死,看到你说装SDK那步我特有感触。上周刚给魏牌V9X调小魏同学,也是折腾了一天,最后发现是网络权限没开。你后面有没有试过让狗子理解那种模糊指令?比如"去那边"这种,我车机上遇到这种就经常翻车……