计智风采 | 在夏天,这个战队和人形机器人一起“乒”了一场

作者:发布时间:2026-09-24浏览量:10

近日,由复旦大学软件工程实验室师生组成的 CodeWisdom 若客战队,携智元 A3 人形机器人从上海的训练场地走上北京国家速滑馆的赛场,参加第二届世界人形机器人运动会HOPE AI自主决策乒乓球赛。经过一个多月的紧张备赛与角逐,队伍在小组赛中力克清华大学北人战队,以小组第二的成绩晋级全国八强。

从第一拍到连续五球,再到比赛八强——这个夏天,年轻的工程师们与一台机器人共同完成了感知、预测、规划与击球的“亚秒级”考验,也带回了一份关于具身智能、工程方法与团队协作的宝贵收获。

01 技术路线:先研究一下,这球怎么打?

 “如果要给这个夏天选一种背景音,我们大概会选乒乓球落在球桌上的声音。”

 “当然,还要加上键盘声、机器人电机的声音,以及球终于过网时,我们没忍住的欢呼。”

让人形机器人打乒乓球,听起来很酷,做起来才知道一句“把球打回去”藏着一大串任务:球在哪里?多久飞过来?球拍朝哪个方向?够不着要不要挪一步?挥完这一拍还能不能站稳?当球速超过 5 /秒,留给机器人的反应时间便进入亚秒级,它必须在几百毫秒内完成感知、预测、规划与击球。团队借鉴 Hitter 的分层框架,将任务交给规划器和基于强化学习的击球策略:规划器给出击球位置、剩余时间、拍速与拍面朝向,策略结合机器人自身状态计算各关节动作。他们基于 Isaac Sim 仿真平台训练,并采用动态基座设计,让机器人学会跨步击球、提升能力上限;面向 A3 机器人结构、关节配置与硬件层面的整套迁移适配,也是一轮重新学习。

为了让机器人学会跨步击球、提高击球能力上限,团队采用了动态基座的设计。通过来球位置计算机器人期望到达的位置,再利用期望到达位置奖励,让机器人学会通过跨步快速到达目标位置。正反手切换也不是简单按桌面区域划分,而是结合motion与机器人的动态位置,实时计算应当使用正手还是反手。这样,接球范围便有机会随着脚步移动扩大,不必一直守着固定站位等球。

于是,虚拟球桌旁的A3开始了训练。团队则在屏幕这一头,跟着它一起补课。

02 资格赛冲刺:从“向前一蹬”到连续五球

资格赛的要求很明确:连续打五球。

看起来只是一小段视频,背后却要求机器人连续完成观察、击球和恢复。第一球结束后留下的站位偏差,会影响第二球;恢复动作慢一些,后面的球就可能赶不上。训练和部署两边,都在为这五球赶进度。

仿真里已经有了动作,真机这边还得把数据一段段接起来——动捕系统获取球、基座与球拍状态,HDU 接收解包交给规划器,策略以 50Hz 推理、控制程序以 500Hz 31 个关节发送目标。第一次把策略放上真机,机器人猛地向前一蹬、慢慢前倾。有些问题根本不会报错,团队只能沿数据流逐层排查,最终将倾角观测改为 MDU IMU 的本体反馈——再次测试,机器人站住了。此后又有新的问题出现,几经讨论,团队重新训练策略:明确控制策略作为规划器“精准执行模块”的定位,加入无球站稳训练回合,删减过于细碎的正则约束,并同步做好人工急停、软件故障检测与控制权检查等安全部署。资格赛前,连续五球终于达标。

但新的问题也跟着出现。机器人能站稳并摆出准备击球的姿态,却有明显的限位噪音。这些问题叠在一起,一度让团队十分迷茫。讨论多次后,他们决定重新训练策略。一个重要调整是重新明确控制策略的职责:它应当是规划器的精准执行模块。因此,这一轮训练以精确执行规划目标为重点,不再引入训练中击球成功率对这一控制目标的影响,而是训练一个能够精准执行规划的策略。这样的解耦设计,让我们更容易分清问题来自策略还是规划器,再作针对性优化。整套系统最终能否接球、过网、落台,仍要通过实机对打检验。

团队设计了一些无球站稳的训练回合,让机器人在准备击球阶段也能动态稳定。对于过于细碎的正则约束,我们作了删减,转而保留方向上更符合整体任务的约束,减少策略陷入局部最优的可能。

训练、规划和部署就这样一起往前推进。安全部署也要同步做好:人工急停、软件故障检测与控制权检查缺一不可。训练中的终止条件与真机保护各有职责,不能混为一谈。

03 性能的提升:更稳、更快、更刁钻

五球之后,目标继续升级:正反手来球范围课程化推进、“击回一颗球后下一颗立刻到来”的高强度回合、发球与击球策略的串联衔接。奖励设计也让团队见识了机器人的“解题思路”——只奖励击球,它就会顾不上脚步与平衡,于是平衡、击球与恢复被放进同一套优化目标里统筹考虑。规划器同样在不断进化。团队采集真实球轨迹,拟合空气阻力系数、比较预测模型,将击球平面上的落点预测偏差从最初约 10cm 的量级缩小到平均 2cm 以内;针对旋转球带来的预测偏差,他们搭建了跨 HDUMDU 与监控电脑的录制与 3D 回放工具,让每一次测试、每一颗球路都有据可查。

发布指令之前,还要检查轨迹是否连续、是否存在异常跳点,以及过网、反弹和可达范围等条件。接到新的球位置后,预测可以继续更新,但更新频率和变化幅度也要与实际控制能力相配合。

每一个指令数据包从规划器发出,经过转发、处理与过滤,再转换成模型要求的输入格式,才最终形成机器人的关节动作。因此,几十毫秒的差别,团队也会认真看一遍。有的打得猛,却需要再练练平衡;有的站得稳,挥拍时机又有待调整。测试、回看、修改,再测试,成了团队的日常。上海八月的落日开始,等再抬头,窗外已经是清晨。

这些工作也让实验室逐渐积累起一套从策略训练、轨迹规划到真机测试和数据回放的工作流程。每一轮测试结束,新的问题有了记录,下一轮修改也有了依据。

04 赛场纵横:小组突围,挺进八强

小组赛,队伍与清华大学的两支战队同组。首战对阵清华 ipingpang 战队,对方防守严密,几次尝试未能取得理想效果,遗憾落败。次战面对清华北人战队,精心准备的发球战术发挥成效——刁钻的球路给对方判断和站位带来持续压力,队伍赢下比赛,以小组第二晋级八强。

八进四的对决中,队伍最终不敌深圳大学,止步八强。遗憾当然有,但从最初试着让机器人完成击球,到真正站上赛场赢下一场比赛,对手严密的防守、稳定的动作和临场应对,都成了值得带回去继续研究的功课。

回忆备赛,绕不开 Bug:有时好几层问题叠在一起,有时源头只是一根线缆松动;明明是来练乒乓球的,机器人却在酒店里练出了一套颇有“芭蕾舞”气质的动作。时间越来越紧、问题迟迟无解的时候,团队也焦虑过、动摇过。

FIGHT

但大家学会了把不确定早点说出来:哪里还没确认、哪项测试有疑问,都摆到一起讨论;同一段程序盯久了换个视角,仿真里解释不通的现象拿真实回放一起看。出了错就查原因,再接着做——毕竟所有人都希望机器人打好下一颗球。

 “后来再想起凌晨四点的训练场地、酒店里的电脑和北京的动捕灯光,记得最清楚的,还是我们围着同一张球桌并肩作战的样子。”

07 带走的不只是八强

比赛一结束,新的待办清单已经开始列。围绕这次备赛,团队沉淀了三点思考:

AI Coding

以工程约束建立有效的人机协作

AI辅助编程为代码理解、工具开发与日志分析提供了切实帮助,也让我们更加重视开发效率与系统可控性之间的关系。代码生成速度的提升,并不自动意味着验证成本的下降。在机器人系统中,未经确认的接口假设、配置变更或时序处理,都可能影响实际动作;若修改范围持续扩大而审查与测试未能同步,技术债务和故障定位成本反而会增加。

因此,我们认为,AI Coding需要纳入完整的软件工程流程:由人明确需求、架构边界与验收标准,以小范围变更、代码审查、自动化测试和分阶段实机验证约束迭代。人机协作的关键,在于发挥AI的实现效率,同时确保研发团队始终能够解释系统行为、追溯决策依据。



工程可靠性:

建立完整的备份、回滚与协作机制

面向时间受限、多人并行开发的机器人项目,可靠性必须从研发组织阶段开始考虑。模型、规划器、控制程序、标定参数及运行依赖共同构成可用系统,单个文件的备份不足以保证运行状态可恢复。

我们需要建立经过验证的版本基线,对代码、模型、配置与环境进行关联归档,保留变更记录和验证证据,并通过恢复演练确认备份有效;新方案在隔离环境中验证后,再按明确条件更新或回滚。同时,应统一模块接口、坐标与时间戳约定,明确负责人、变更评审和联调交接机制,减少并行修改产生的隐性冲突。将版本冻结、回归测试和故障恢复纳入进度安排,才能在持续探索新能力的同时,维护系统的可复现性、可追溯性与现场可用性。

走向物理智能:

在真实交互中检验能力,

在持续探索中拓展边界

这次实践让我们体会到,具身智能的能力需要在感知、决策、行动与环境反馈的闭环中得到检验。观测噪声、通信延迟、执行器响应和接触动力学,共同决定了策略能否从仿真走向现实。Sim-to-Real因此需要算法、数据、硬件与工程系统协同推进:以仿真支持高效探索,以真实数据校正假设,再通过可重复实验评估能力及其适用边界。

从资格赛的连续五球,到探索更长、更有变化的对打;从上海到北京,团队带着机器人上了一次赛场,也带回了一份很长的改进清单。清单会慢慢完成,故事还想接着写——下一次比赛,希望带着更稳的动作、更好的球路,再来和大家打一场。

感谢一起备赛和参赛的队友,感谢老师们的指导,也感谢提供场地、设备和现场帮助的工作人员。这个夏天有许多次“再试一球”,能够一直试下去,就是最幸运的事。

团队介绍

团队

合影

复旦大学软件工程实验室

CodeWisdom若客战队

队员:

李辉

朱奚檑

吴晟堂

许晶华

洪达良

陈炫宏

黄子洋

陆天翊

周硕磊

指导老师:

彭鑫、董震、李弋

2026923