PAPER DEEP DIVE
KlaskTron:面向实体对抗多智能体强化学习的开源平台
面向实体对抗多智能体强化学习的开源桌面级平台,提供双 CoreXY 龙门、Isaac Lab 数字孪生与可零样本迁移的 PPO 基线。
一句话总结
KlaskTron 把一张桌面 KLASK 桌改造成低成本、可复现的实体对抗多智能体强化学习试验台,并用神经执行器模型完成从 Isaac Lab 到真实硬件的零样本策略迁移。
图 1:KlaskTron 实体平台。双方各有一套位于桌面下方的二维龙门,通过磁耦合驱动桌面上方的击球器。
研究背景与动机
多智能体强化学习在电子游戏里已经反复展示出长时程策略、竞争性适应和团队协作,但这些结果所在的环境通常具备无限试错、精确状态和低成本复制的特点。把同样的方法搬到机器人系统后,训练次数、硬件维护、传感器噪声和接触动力学会同时成为约束。论文因此把问题放在基础设施层:如果没有一个价格可接受、规则清楚、能够持续自动重置的实体对抗平台,物理多智能体强化学习就很难形成可比较、可复现的实验传统。
现有实体平台大致分成两端。工业级高速机器人能够完成乒乓球、冰球或高动态操作,但成本、场地和安全要求把多数研究组排除在外;另一端的桌面机器人往往只处理单智能体任务,动态范围有限,也不能产生真正的零和对抗。KlaskTron 试图占据中间位置:它比静态操作更强调速度与接触,比大型体育机器人更便宜,同时保留两个连续控制智能体之间的攻防关系。
选择 KLASK 不是因为它与某个已有基准相似,而是因为它把几类难点压缩在一张桌面上。球、两个击球器和边界共同形成快速碰撞;双方既要进攻也要防守;一次得分需要跨越多个接触事件;商用桌体又有成熟的机械规则和直观的观赛方式。论文称这类任务为高速、富接触的对抗多智能体强化学习,关注的是策略在真实动力学和对手分布变化下是否仍然成立。
平台总成本低于 2500 美元,预计 20 小时可以完成搭建,主体使用现成零件与 3D 打印件。这个成本并不是论文唯一贡献;作者同时发布 CAD、物料清单、装配说明、ROS 2 运行时、Isaac Lab 训练环境、奖励定义、自博弈流程和训练权重,使其他实验室不只看到一个演示视频,还能重建同一套软硬件链路。
论文对自身定位相当克制。作者明确说,PPO 基线主要用于验证平台可训练、可迁移、可重复,而不是提出一个全新的强化学习算法。这个边界很重要:KlaskTron 的价值来自“让物理对抗实验具备共同底座”,而不是用一次 10 局人机比赛证明某个策略已经达到超人水平。
平台构成与数字孪生
实体侧由两套相对的 CoreXY 龙门构成,每套龙门位于球桌下方,通过磁力带动桌面上方的击球器。CoreXY 把电机固定在框架上,运动部件不需要背负电机,因此惯量较低,适合频繁加速和换向。论文测得平均加速度约为 6.25 m/s²,目标是在不到一秒内覆盖主要活动区域,以接近人类玩家的反应节奏。
执行机构采用无刷直流电机与 ODrive S1 驱动器,编码器提供闭环速度控制。作者没有直接采用常见步进电机方案,因为实验中出现过失步、抖动或卡滞,无法支撑 KLASK 所需的爆发式动作。最终系统的速度跟踪 RMSE 为 0.013 m/s,这个数字既用于评价硬件,也成为判断 sim-to-real 误差来源时的基准。
感知侧使用单台 120 Hz 相机。论文同时说明控制循环以 50 Hz 提供状态,因此相机能快速捕获画面并不意味着策略可以无视延迟。相反,从图像检测、状态滤波到电机执行之间存在真实的时滞,策略必须利用历史信息预测球和对手的下一状态。这个设置刻意保留了研究价值:平台不把硬件包装成理想环境,而是把延迟、摩擦、磁耦合和感知不确定性纳入学习问题。
仿真侧在 NVIDIA Isaac Lab 中建立 GPU 原生数字孪生。论文报告单张 RTX 4090 约 12 分钟可完成 2000 万 PPO 步,说明训练吞吐足以支持大量并行环境和自博弈更新。仿真包含桌面、边界、击球器与球,基线实验暂时移除商用 KLASK 中的磁性障碍块,使任务先聚焦于双人攻防和接触动力学。
图 2:系统架构。训练时 Isaac Lab 直接提供状态并接入神经执行器模型;部署时相机经 EKF 估计状态,冻结的 actor 输出速度命令。
flowchart LR
A[Camera 120 Hz] --> B[Board detection]
B --> C[Adaptive EKF]
C --> D[20-D ego observation]
D --> E[Frozen PPO actor]
E --> F[Planar velocity command]
F --> G[CoreXY inverse mapping]
G --> H[ODrive BLDC motors]
H --> I[Magnetic peg]
I --> J[Ball and contact dynamics]
J --> A
K[Isaac Lab physics] --> L[20-D simulation observation]
L --> M[PPO training actor]
M --> N[Neural actuator model]
N --> K
M -. exported weights .-> E
这张流程图标出 KlaskTron 的关键闭环:仿真训练得到的 actor 并不直接嵌入物理引擎参数,而是在训练时经过神经执行器模型改变“命令速度到实际速度”的映射;部署时同一 actor 被冻结,实体侧的 EKF 和电机闭环承担对应角色。两个闭环共享策略接口,但状态估计和执行噪声并不相同,这正是零样本迁移需要验证的部分。
问题建模与观测设计
论文把每一局 KLASK 建模为双人零和马尔可夫决策过程,使用五元组 $(\mathcal{S},\mathcal{A},\mathcal{R},\mathcal{P},\gamma)$ 描述。双方同时输出二维平面速度,状态转移由球桌接触、磁性击球器和电机响应共同决定。终止奖励包含进球、失球与乌龙球,中间奖励则帮助智能体在稀疏进球信号之外获得可学习的方向。
基础观测由 16 个数组成:本方击球器位置与速度、对手击球器位置与速度、球的位置与速度,以及两个球门位置。随后系统再加入 4 个角度和 4 个距离,形成 20 维策略输入。角度包括击球器、球和球门之间的相对关系;距离包括球到双方球门、球到双方击球器的距离。
$$ \mathbf{o}_t=\left[p_S,p_O,\dot{p}_S,\dot{p}_O,p_B,\dot{p}_B,\phi_1,\phi_2,\phi_3,\phi_4,d_1,d_2,d_3,d_4\right] $$上式中,$p_S$ 和 $p_O$ 分别是本方与对手击球器位置,$p_B$ 是球位置,$\dot{p}$ 表示对应速度,$\phi$ 和 $d$ 是手工几何特征。直接把位置和速度交给 MLP 当然可以训练,但 KLASK 的球门与击球关系具有强几何性;显式角度和距离可以缩短从坐标到攻防意图的学习路径。
源码中的观测变换与论文叙述一致。运行时会先把图像坐标平移到桌面中心,再将右方玩家视角旋转到统一的自我中心坐标。映射后保持“本方、对手、球、本方球门、对手球门”的固定顺序,因此同一个策略能够服务左右两侧,而右方动作在执行前需要再次取反。
# klask_software/ros/src/klask_player_pkg/klask_player_pkg/utils.py:40-68
if player_side == "left":
obs = np.concatenate([left_peg_pos, left_peg_vel,
right_peg_pos, right_peg_vel,
ball_pos, ball_vel,
left_goal_pos, right_goal_pos])
else:
obs = np.concatenate([-right_peg_pos, -right_peg_vel,
-left_peg_pos, -left_peg_vel,
-ball_pos, -ball_vel,
-right_goal_pos, -left_goal_pos])
代码里还保留了一个值得注意的历史实现:计算“球到本方球门距离”时,源码使用球门位置减去本方击球器位置,而不是减去球的位置,并注释写着“Match the original bug!”。这说明训练检查点和推理特征之间曾经存在兼容性约束。论文正文将该项描述为球到球门的距离,复现者若重新按几何定义修正特征,需要重新训练或至少验证旧权重,不能只改推理代码。
动作空间、CoreXY 映射与策略目标
每个智能体的动作是两个连续速度分量。论文给出的训练动作边界是每个轴位于 -0.4 m/s 到 0.4 m/s。该范围既覆盖有威胁的快速击球,也受到机械、磁耦合和控制稳定性的限制。
$$ \mathbf{a}_t=(v_x,v_y)\in[-0.4,0.4]^2\ \text{m/s} $$目标函数是标准的折扣期望回报。折扣因子让近期得分和防守比遥远、不确定的事件更重要,而双方在同一状态转移中追求相反回报,构成竞争性自博弈的基础。
$$ \pi^*=\arg\max_\pi\mathbb{E}_\pi\left[\sum_{t=0}^{\infty}\gamma^t r_t\right] $$动作进入硬件后要转换成两台电机的速度。源码中的 CoreXY 逆运动学使用两轴速度之和与差,并乘以每米对应的电机转数。该映射解释了为什么平面速度的约束不能简单等同于任一电机速度约束:对角运动会让两个电机以不同方式组合,边界附近还需要减速与间距保护。
// klask_hardware/ros/src/klask_motor_commander_pkg/src/player.cpp:176-213
v_x = std::clamp(v_x, -max_velocity_, max_velocity_);
v_y = std::clamp(v_y, -max_velocity_, max_velocity_);
const float meters_per_rotations = 1.0f / distance_per_revolution_;
control_r_msg.input_vel = sign * (v_x + v_y) * meters_per_rotations;
control_l_msg.input_vel = sign * (v_y - v_x) * meters_per_rotations;
硬件参数文件把最大击球器速度设为 0.4 m/s,与论文动作范围一致;运行时推理配置另有 0.8 的动作缩放参数,它属于部署配置和网络输出重标定边界,不应被误读成论文训练时的物理动作范围。文章复现实验时应同时记录策略输出、缩放后速度、硬件夹取后的命令和实际测得速度,只有四层都对齐,才能判断误差来自策略、配置还是机械。
自适应 EKF 状态估计
实体平台不能像仿真那样直接读取球与击球器的精确状态,因此每局状态由相机图像经过扩展卡尔曼滤波估计。每个被跟踪对象使用四维状态,包含平面位置和平面速度。这个过程既要平滑检测噪声,又必须在碰撞后快速跟随突变。
$$ \mathbf{x}_k=[x_k,y_k,\dot{x}_k,\dot{y}_k]^T $$作者没有在全场使用同一个固定过程噪声,而是根据球的预测位置动态调整协方差。在桌面开放区域,模型较可信,过程噪声较小;靠近边界和击球器时,碰撞可能让速度突然变化,系统提高对应方向的协方差,让滤波器更相信新测量。这个设计本质上是在“平滑”与“快速响应”之间按空间区域切换权重。
$$ Q_{\text{ball}}=\operatorname{diag}(q_x,q_y,q_{\dot{x}},q_{\dot{y}}) $$图 4 给出了四种区域。普通区域的速度方差为 30,靠近竖直边界的相关轴提高到 1030,角落区域两轴同时提高。全局验证 RMSE 为 0.013 m/s 的是执行器模型,不应与 EKF 的位置误差混为一谈;论文在讨论残余击球偏差时,把约 0.4 cm 的磁耦合滞后、龙门阻尼和 EKF 位置不确定性一起视为策略需要应对的物理效应。
图 4:不同桌面区域采用不同的过程噪声。越靠近边界和击球器,滤波器越依赖实时测量,以吸收碰撞造成的状态突变。
神经执行器模型:本文最重要的迁移机制
论文的核心 sim-to-real 判断不是“加入更多域随机化”本身,而是“先准确描述命令如何被执行”。理想 PD 控制器会把速度命令几乎立即变成目标速度,真实系统却受到摩擦、电机转矩速度包络、磁耦合和 50 Hz 控制延迟影响。作者报告,使用理想执行器和常规域随机化的策略无法迁移;把真实轨迹学成神经执行器模型后,即使关闭域随机化,策略也能零样本上机。
数据来自圆形、对角线、线性扫掠和随机游走等脚本轨迹,命令速度最高达到正负 0.7 m/s,覆盖了实际比赛可能触及的饱和区域。模型输入不是当前单帧,而是过去 10 个时间步的命令和状态历史,因此网络可以从序列中隐式学习延迟、瞬态和动作插值。
$$ v_{t+1}=f_{NN}(v_t,a_{t-1},u_{t-1},\ldots) $$这里的 $v_t$ 是当前速度,$a_{t-1}$ 是上一步命令,$u_{t-1}$ 表示历史状态量,$f_{NN}$ 输出下一时刻速度。与显式构建时延缓冲相比,这种序列映射把物理滞后写进了可微分网络,使仿真中的 PPO 在训练时看到更接近实机的响应。
论文说明架构选择来自 10 步历史与 3 层 64 单元宽度的组合消融,并在 8 个随机种子下保持稳定。全局速度验证 RMSE 为 0.013 m/s;高频代表性轨迹上的峰值误差为 x 轴 0.032 m/s、y 轴 0.049 m/s。以动作上限 0.4 m/s 比较,这些峰值误差仍会改变细腻接触的时机,因此它足以支持零样本运行,却不代表硬件已经被完美建模。
图 5:神经执行器模型与硬件响应的对比。实线是真实速度,虚线是模型输出,阴影展示 8 个训练种子的离散程度。
论文与当前仓库之间存在一处实现差异。附录写明三层隐藏层使用 ReLU,当前 klask_rl 的 ActuatorNetwork 实际使用 Softsign。这不改变论文报告的架构规模和验证结果,但会影响复现实验时的激活函数选择。合理的处理是分别记录“论文测量所用实现”和“公开仓库 HEAD 当前实现”,重新训练时做消融,而不是假定两者完全等价。
| 验证项目 | 论文数值 | 阅读时应如何理解 |
|---|---|---|
| 执行器全局验证 RMSE | 0.013 m/s | 覆盖留出轨迹的平均速度误差,是硬件命令跟踪能力的整体指标 |
| 高频轨迹 x 轴峰值误差 | 0.032 m/s | 瞬态最坏区间仍可能改变轻微接触的时机 |
| 高频轨迹 y 轴峰值误差 | 0.049 m/s | 约为训练动作上限的 12.25%,解释了方向切换处的敏感性 |
| 论文正文采样数 | 37,500 个样本,约 12.5 分钟 | 第 IV-C 节给出的训练集描述 |
| 论文附录采样数 | 69,669 个样本,约 23.2 分钟 | 附录 C 给出另一组总数,公开仓库未能消除这处内部不一致 |
这张表把“性能很好”拆成可复核的量。0.013 m/s 的均值说明模型大体跟得上执行,但 0.032 与 0.049 m/s 的峰值误差说明高频转向仍有局部风险;两个采样总数同时出现,则提醒读者论文内部的实验记录并不完全一致。严谨的复现实验应固定数据版本并重新统计样本数,而不是从两个数字中猜一个。
奖励课程与增强自博弈
只用进球、失球这类稀疏终止奖励时,基线策略会变得被动。论文因此设计随时间衰减的塑形项:初始阶段鼓励把球推向对方球门、守住本方球门、靠近球并制造有效速度;训练推进后,塑形权重衰减,终止奖励和真实对抗结果重新占据主导。
$$ r_{\text{total}}(t)=r_{\text{term}}+\sum_i R_i\exp\left(-\frac{t}{N}\right)r_{\text{shape},i} $$$r_{\text{term}}$ 包括进球、失球和乌龙球,$N$ 是塑形衰减时间常数。指数项不是简单线性退火,而是在训练早期快速提供方向、后期逐渐把“训练辅助轮”撤掉,避免策略长期依赖与最终胜负不完全一致的代理指标。
进攻塑形使用球到对方球门的距离指数,防守塑形使用球到本方球门距离的负指数。球与击球器距离则用于鼓励接触和控球。三个表达式都来自论文附录,说明作者并非只给了一个方向性奖励,而是把几何关系写进了课程。
$$ r_{\text{attack}}=\exp\left(-\frac{\lVert p_B-p_O\rVert}{D}\right) $$ $$ r_{\text{defense}}=-\exp\left(-\frac{\lVert p_B-p_P\rVert}{D}\right) $$ $$ r_{\text{contact}}=\exp\left(-\frac{\lVert p_{PS}-p_B\rVert}{C}\right) $$三种奖励课程在论文的循环赛比较中得到不同 Elo。密集的球到球门课程最高,约为 1283;稀疏课程约为 1240;只奖励碰撞的版本约为 1220。差距并非压倒性,但密集课程更稳定地引导早期探索,这支持了作者“先教会有效交互,再交给胜负信号”的设计。
对抗能力来自增强自博弈。智能体不总是挑战最新版本,而是从历史检查点池中按几何衰减采样对手,越新的策略权重越高。权重公式如下,$N-1$ 表示最新检查点。
$$ w_i=0.9^{(N-i-1)} $$论文报告,平均比分差超过 0.7 时更新对手池。与随机池采样相比,增强自博弈表现相近;只使用最佳对手则因为对手多样性不足而不稳定。这个结论值得保留:自博弈不是越“始终打最强”越好,历史策略提供的策略覆盖对持续训练更重要。
PPO 基线、代码对应与复现边界
正式论文采用的 PPO 配置包括折扣因子 0.99、GAE 参数 0.95、学习率 0.0003、裁剪系数 0.2、minibatch 4096 和熵系数 0.01。运行时 actor 是三层 256、128、64 的 ELU 网络,输入 20 维,输出二维动作;训练时共享 actor-critic 主干,推理时只保留 actor 输出。
| 参数 | 论文正式实验值 | 当前公开配置中的可见值 | 使用原则 |
|---|---|---|---|
| 折扣因子 gamma | 0.99 | 0.996 | 论文数值用于解释论文结果,仓库数值用于复现当前检查点 |
| 学习率 | 0.0003 | 0.0001 | 不能把当前训练配置反向写成论文实验配置 |
| GAE 参数 | 0.95 | 0.95 | 两者一致 |
| PPO 裁剪系数 | 0.2 | 0.2 | 两者一致 |
| minibatch | 4096 | 4096 | 两者一致 |
| 熵系数 | 0.01 | 0.0 | 检查点差异可能改变探索强度,复现时须固定版本 |
| 训练动作上限 | 0.4 m/s | 0.4 m/s | 当前配置与论文动作范围一致 |
这些差异不应被隐藏。论文报告的是完成实验时的超参数,公开仓库的配置可能服务后续训练、检查点加载或其他实验。详情解读的价值在于把两者并排说明:若目标是复现论文表格,应按论文附录设置;若目标是加载公开权重继续训练,则要保留检查点对应的观测归一化、动作缩放和网络结构。
推理源码清楚展示了 20 维输入和三段 MLP。归一化后的观测进入共享主干,先裁剪 actor 输出到 -1 到 1,再按配置映射到动作边界。这一实现也解释了为什么“网络输出 0.8”不能直接当成 0.8 m/s:它可能只是重标定后的归一化动作,随后仍会受到运行时参数和硬件最大速度的约束。
# klask_software/.../ppo/ppo_network.py:14-28
self.actor_mlp = nn.Sequential(
nn.Linear(20, 256), nn.ELU(),
nn.Linear(256, 128), nn.ELU(),
nn.Linear(128, 64), nn.ELU(),
)
self.mu = nn.Linear(64, 2)
self.value = nn.Linear(64, 1)
仿真和硬件是两套可替换环境,但接口必须一致。Isaac Lab 直接提供状态,实体系统用 EKF 估计;仿真把动作送入神经执行器模型,硬件把速度送入真实电机控制器;训练时需要 critic,部署时只冻结 actor。三个官方仓库分别覆盖机械与 ROS、推理软件、Isaac Lab 与强化学习,复现者必须同时固定三者的提交版本,否则单独更新某个仓库就可能改变观测、动作或动力学。
图 3:Isaac Lab 中的 KlaskTron 仿真环境。双智能体从状态中读取球和击球器信息,并输出连续平面速度。
实体实验与人机基准
论文用三组证据验证平台:执行器模型对命令响应的逼近程度、超过 30 局连续实体运行是否出现硬件级故障,以及基线与休闲人类玩家的 10 局比赛。硬件级故障被定义为电机连接错误、相机掉线、EKF 发散、击球器脱耦或球离开桌面;软件级重置会发生并被记录,但没有破坏比赛协议。
人机比赛中机器人只赢了 1 局,胜率 10%。作者没有把这一结果包装成策略优势,反而把主要问题定位到进攻动作与接触时机的偏差。平均每局 31.3 秒,双方合计平均完成 12.4 次动态接触,包括 7.4 次防守格挡和 5.0 次进攻击打;有威胁命中平均 1.8 次,机器人控球率 43.6%。这些指标表明策略已经形成持续攻防,但终结进攻的能力仍有限。
| 指标 | 10 局平均值 | 解释 |
|---|---|---|
| 机器人胜率 | 10% | 10 局中赢 1 局,现阶段明显低于休闲人类玩家 |
| 每局时长 | 31.3 秒 | 比赛节奏足够快,可在桌面环境连续采集多个完整回合 |
| 动态接触 | 12.4 次 | 说明双方确实发生了持续攻防,而非静态推球 |
| 防守格挡 | 7.4 次 | 策略出现了反应式守门和利用边界反弹的防守行为 |
| 进攻击打 | 5.0 次 | 进攻次数并不低,但有效率受接触偏差限制 |
| 有威胁命中 | 1.8 次 | 从“打到球”到“形成威胁”的转化仍然稀疏 |
| 控球率 | 43.6% | 机器人接近均势参与球权,但终结能力不足 |
残余的 0.5 到 1.5 cm 进攻偏差不是电机完全失效,而是多个物理效应叠加的结果。磁性耦合在换向时约有 0.4 cm 滞后;击球器从峰值 0.5 m/s 减速到静止需要 77 ms、移动 2 cm,反向恢复到同速需要 111 ms、移动 7 cm。策略如果只在仿真里学习瞬时速度,上机后就会在高速反转和精细接触时产生系统偏差。
连续运行数据同样有限但具有方向性。超过 30 局没有出现论文定义的硬件级故障,说明平台在短周期实验中具备可重复运行能力;两名学生在不同日期独立训练出具有可比竞争水平的策略,则为软件链路可重复性提供了初始证据。这里应避免把 30 局外推为长期工业可靠性,也不能把两名学生的结果当成大样本统计显著性。
局限与独立判断
第一项限制来自作者自述的任务简化。基线实验移除了商用 KLASK 的磁性障碍块,因此当前策略面对的是更干净的凸形攻防场地;障碍块会引入遮挡、绕行和多阶段路线规划,难度明显高于已展示任务。未来重新加入障碍块虽然仍在同一硬件上,却会改变状态估计、奖励景观和接触分布,不能直接沿用当前成绩。
第二项限制是评测规模。人机基准只有 10 局,自博弈算法比较也主要依赖论文附录的循环赛;机器人胜率 10% 和控球率 43.6% 足以描述基线阶段,却不足以估计置信区间或跨玩家泛化。平台论文可以凭可复现性成立,但策略论文若引用这些数字,应扩大对手类型、局数和随机种子。
第三项限制是论文与开源实现并非完全同版。执行器激活函数在论文附录与当前仓库之间不同,PPO 的 gamma、学习率和熵系数也有差异,执行器采样总量在正文与附录中不一致。公开材料提高了可复现性,但复现者仍需保存每个仓库的 commit、权重、观测统计和数据清单,否则“使用同一平台”并不等于“运行同一实验”。
从工程角度看,最值得学习的是论文对 sim-to-real 的诊断顺序。作者没有先扩大域随机化,而是先找到仿真与硬件在执行层的可测偏差,用真实轨迹训练一个紧凑模型,再用零样本迁移验证。这个方法把失败原因从“策略不够强”定位到“仿真对执行器说了谎”,也为后续平台研究给出可复用的实验范式。
不过,精确执行器模型并不能消除所有不确定性。对手是活的,球的接触是混沌的,感知延迟会随着检测负载变化,磁耦合还可能在高速换向时出现非线性滞后。KlaskTron 的真正研究空间不是把误差压到零,而是提供一个共享环境,让不同方法在同样的机械、规则和指标下比较谁能更快适应这些误差。
结论
KlaskTron 的贡献可以分成三层。硬件层用双 CoreXY、无刷电机、磁耦合和相机把对抗游戏做成桌面级实体系统;工具层用 Isaac Lab、ROS 2、训练脚本和发布权重打通仿真到部署;方法层用自适应 EKF、神经执行器和奖励课程给出一个可工作的零样本基线。三层合在一起,才构成论文所说的平台,而不是单一机器人 demo。
它目前还不是高水平 KLASK 玩家:10 局只赢 1 局,进攻偏差限制终结能力,任务也暂时移除了商用障碍块。但这些限制没有削弱平台的可研究性,反而明确了下一位研究者可以改进的位置,包括更准确的接触建模、更强的历史感知、多智能体博弈均衡、自动重置和四智能体团队比赛。对物理多智能体强化学习而言,一个可建造、可运行、可比较的共同底座,比一次不可复现的高分演示更有长期价值。



