SpecRLBench
收藏资源简介:
SpecRLBench是由波士顿大学开发的规范引导强化学习基准测试平台,涵盖导航和操作领域的19个环境变体,包含静态/动态场景、多机器人动力学模型及异构观测模态。该数据集通过线性时序逻辑(LTL)编码复杂任务规范,支持离散/连续动作空间及单智能体/多智能体设置,数据来源于仿真环境中的机器人交互轨迹。其创建过程涉及对现有环境的适应性改造和新变体设计,重点评估智能体在未见规范和环境变化下的泛化能力,适用于机器人控制、自动驾驶等需要时序约束的决策任务研究。
SpecRLBench is a specification-guided reinforcement learning benchmark platform developed by Boston University. It covers 19 environment variants in the domains of navigation and manipulation, including static/dynamic scenarios, multi-robot dynamic models, and heterogeneous observation modalities. This dataset encodes complex task specifications via Linear Temporal Logic (LTL), supports discrete/continuous action spaces as well as single-agent and multi-agent settings, with data sourced from robot interaction trajectories collected in simulated environments. Its development process involves adaptive modifications to existing environments and the design of new variants, focusing on evaluating the generalization capabilities of agents under unseen specifications and environmental changes, and is suitable for research on decision-making tasks with temporal constraints such as robot control and autonomous driving.
SpecRLBench 数据集概述
数据集简介
SpecRLBench 是一个用于评估规范引导的强化学习泛化能力的基准测试套件。它提供了多种导航和操作环境,涵盖不同的难度级别、机器人动力学和观测模态。
环境构成
导航任务
环境ID格式如下:
{robot}LTL{level}{Vision}-v0.{suffix}
- robot(机器人类型):Point(简单)、Car(中等)、Ant(困难)
- level(难度等级):0(静态)、1(1个移动区域/AP)、2(2个移动区域/AP)
- Vision(视觉类型):可选第一人称摄像头(默认使用LiDAR)
- suffix(后缀变体):partial(部分可观测)、overlap(允许区域重叠)、partial_overlap(部分可观测且允许重叠)
示例:CarLTL1Vision-v0.overlap 表示 Car 动力学、1个移动区域/AP、摄像头观测、允许区域重叠。
操作任务
环境ID格式如下:
PandaLTL{task}{level}Joints{Vision}-v0.{suffix}
- task(任务类型):Reach(将末端执行器移动到目标位置)
- level(难度等级):0(仅末端执行器)、1(末端执行器+机械臂)
- Vision(视觉类型):可选RGBD摄像头(默认使用距离观测)
- suffix(后缀变体):partial(部分可观测)
示例:PandaLTLReach1Joints-v0.partial 表示 Reach 任务、等级1、关节控制、距离观测、部分可见性。
使用方法
环境定义
预定义环境已列在 test_env.py 中,用户可通过 customize_env.py 自定义配置来构建所需环境。
评估示例
python import specbench import gymnasium as gym
env_id = "CarLTL1Vision-v0.overlap" env = gym.make(env_id)
obs, info = env.reset()
while True: act = env.action_space.sample() obs, reward, terminated, truncated, info = env.step(act) # 当前真实命题(用于跟踪规范进度) active_propositions = info["propositions"] if terminated or truncated: break env.render()
参考与许可
- 参考项目:基于 Safety-Gymnasium、panda-gym、GenZ-LTL、DeepLTL 构建
- 许可证:Apache License 2.0

- 1SpecRLBench: A Benchmark for Generalization in Specification-Guided Reinforcement Learning波士顿大学 · 2026年



