Assistive Gym
用于训练护理任务辅助机器人的物理仿真框架
许可证
MIT
概述
Assistive Gym 是一个基于 PyBullet 和 OpenAI Gym 构建的物理仿真框架,用于训练机器人帮助人们完成喂食、喝水、洗浴和穿衣等日常任务。它将六项辅助任务与六款商用机器人配对,并把人的偏好纳入奖励函数。框架包含用于强化学习的预训练基线策略。
Assistive Gym 是一个基于 PyBullet 构建并集成 OpenAI Gym 的物理仿真框架,专为物理人机交互和机器人辅助研究而设计。它提供72个即用型仿真环境,将六项辅助任务(进食、饮水、挠痒、床上擦浴、穿衣和手臂操控)与六种商用机器人(PR2、Jaco、Baxter、Sawyer、Stretch 和 Panda)在静态和主动人体配置下进行组合。
该框架具有解剖学上逼真的人体模型,包含40个可驱动关节和基于生物力学研究的姿态依赖关节限制,支持男性和女性身体配置。它将人类偏好建模直接融入奖励函数,使机器人能够学习尊重被照护者舒适度和自主性的辅助策略。1.0版本新增了移动操控、多机器人控制、iGibson 集成以提供逼真的家庭环境,以及 SMPL-X 人体网格模型以实现逼真的身体表征。
Assistive Gym 通过 OpenAI Gym 接口与标准强化学习算法完全兼容,包含所有机器人-任务组合的预训练基线策略,并支持通过 Google Colab 笔记本进行云端开发。研究人员可以创建自定义辅助环境、扩展现有任务,并将新方法与提供的基线进行对比评估。
为何重要
随着全球人口老龄化,护理需求远远超过了可用的劳动力。辅助机器人有潜力弥补这一差距,但开发与人进行物理交互的机器人本质上存在风险。Assistive Gym 提供了一个安全、可重复的仿真环境,研究人员可以在开发过程中训练和评估辅助机器人策略,而不会让真人面临风险。
该框架已确立为辅助机器人研究社区的基础工具,发表于 IEEE ICRA 2020 并被广泛引用。通过标准化常见看护任务的仿真,并提供跨多种商用机器人的基准测试结果,它加速了该领域的进步,而在这一领域中,真实世界的实验是昂贵、缓慢且受伦理约束的。其开源特性和 Google Colab 支持降低了新研究人员进入这一关键领域的门槛。
解决的问题
开发能够在日常活动中为人们提供物理协助的机器人面临一个根本性的先有鸡还是先有蛋的问题:机器人需要大量训练才能与人安全交互,但在真人身上进行训练存在不可接受的安全风险。物理人机交互实验同样昂贵、耗时且难以在不同研究团队之间复现。
Assistive Gym 通过提供逼真的物理仿真来解决这一问题,机器人可以在其中进行数百万次试错交互而不会对人类受试者造成任何风险。该框架不仅模拟接触物理,还模拟人类偏好和身体能力,确保训练出的策略考虑到被辅助者的舒适度和自主性。这使世界各地的研究人员能够在标准化基准上开发、测试和比较辅助策略,然后再进行任何真实世界的部署。
要点
- 模拟六项日常生活任务(进食、饮水、洗澡、穿衣、挠痒、手臂操控),跨六种商用机器人共72种环境组合
- 将人类偏好建模集成到奖励函数中,使机器人学会以尊重舒适度和自主性的方式提供辅助
- 具有解剖学上逼真的人体模型,包含40个可驱动关节和生物力学上精确的关节限制
- 通过 OpenAI Gym 接口兼容标准强化学习算法,并包含预训练基线策略
- 通过 iGibson 集成支持逼真的家庭环境,并通过 SMPL-X 人体网格实现逼真的身体表征
适用人群
- 从事物理人机交互和辅助技术研究的机器人研究人员
- 将强化学习应用于现实世界看护和操控任务的强化学习从业者
- 为老年人和残障人士护理原型设计机器人辅助方案的医疗科技开发者
- 学习辅助机器人、康复工程或具身智能的研究生
- 评估商用平台辅助应用的机器人制造商
局限
- 仿真与现实之间的差距意味着在 Assistive Gym 中训练的策略可能无法直接迁移到物理机器人上,需要额外的微调
- 人体模型使用简化的关节限制和身体动力学,无法捕捉具有不同残障的真实患者的全部变异性
- 为获得最佳兼容性需要 Python 3.6 或 3.7,对较新 Python 版本的支持有限
- 不对穿衣和洗澡等任务中重要的布料和皮肤物理进行软体变形建模
- 最近一次重大更新为 v1.0,与较新的仿真框架相比,项目近期开发活跃度有限