ASAP的核心源码解析与训练部署——Delta增量动作模型、控制算法(比如力感知控制)的编码实现:含我司部署实践
💡
原文中文,约9300字,阅读约需22分钟。
📝
内容提要
本文介绍了humanoidverse环境模块的结构与功能,涵盖基础任务架构、运动控制与追踪任务的实现,以及机器人运动数据管理和奖励计算等核心组件,重点分析了运动库初始化、数据加载策略和差异计算方法,支持多种物理引擎和配置管理。
🎯
关键要点
- 本文介绍了humanoidverse环境模块的结构与功能。
- 基础任务架构包括BaseTask、LocomotionTask、MotionTrackingTask和LeggedBaseTask。
- BaseTask是所有强化学习任务的基类,处理模拟器初始化和环境设置。
- 运动控制任务实现机器人行走、跑步等基础运动。
- 运动追踪任务实现对人类动作的模仿和跟踪。
- LeggedRobotMotionTracking类用于机器人运动跟踪,支持运动数据管理和奖励计算。
- 运动库初始化方法负责设置运动数据管理和加载参考运动序列。
- 运动加载策略根据训练模式动态调整,支持随机采样和确定性加载。
- 扩展刚体系统处理虚拟关节或标记点的运动追踪。
- 观测计算方法计算参考运动与当前状态的差异,为强化学习提供数据。
- 支持VR遥操作,通过ROS2接收VR设备数据。
- 运动数据保存功能在物理模拟步骤后收集和保存机器人的运动数据。
- 多个奖励函数用于评估机器人跟踪参考运动的表现。
- 支持多种物理引擎,包括IsaacGym、IsaacSim和Genesis。
- 配置系统采用Hydra管理,结构化组织各类配置文件。
- 工具模块提供通用函数和数学工具,支持PyTorch相关操作。
- 数据模块存储人类动作数据和机器人模型文件。
❓
延伸问答
humanoidverse环境模块的主要功能是什么?
humanoidverse环境模块主要用于机器人运动控制与追踪任务的实现,包括运动数据管理和奖励计算等核心组件。
BaseTask在强化学习任务中扮演什么角色?
BaseTask是所有强化学习任务的基类,负责处理模拟器初始化和环境设置。
运动控制任务如何实现机器人的基础运动?
运动控制任务通过实现机器人行走、跑步等基础运动来完成。
LeggedRobotMotionTracking类的主要功能是什么?
LeggedRobotMotionTracking类用于机器人运动跟踪,支持运动数据管理、奖励计算和状态重置等功能。
如何动态调整运动加载策略?
运动加载策略根据训练模式动态调整,训练模式下使用随机采样,评估模式下使用确定性加载。
该系统支持哪些物理引擎?
该系统支持IsaacGym、IsaacSim和Genesis等多种物理引擎。
➡️