config配置指南
- LeggedRobot基本配置文件
- 文件概述
- `LeggedRobotCfg` 类
- `LeggedRobotCfgPPO` 类
- 总结
- go2基本配置文件
- 文件结构概述
- `Go2RoughCfg` 类
- `env` 子类
- `terrain` 子类
- `init_state` 子类
- `commands` 子类
- `control` 子类
- `asset` 子类
- `domain_rand` 子类
- `rewards` 子类
- `Go2RoughCfgPPO` 类
- `algorithm` 子类
- `runner` 子类
LeggedRobot基本配置文件
这个文件定义了LeggedRobotCfg和LeggedRobotCfgPPO两个配置类,它们是用于配置四足机器人仿真和强化学习训练的各种参数。以下是对文件中各部分代码的详细解释:
文件概述
版权声明:文件开头包含了 NVIDIA 的版权声明和许可证条款,规定了该代码的使用和分发条件。
类继承:
LeggedRobotCfg和LeggedRobotCfgPPO类都继承自BaseConfig,表示它们是用于配置的基本类。
LeggedRobotCfg类
这个类主要用于配置四足机器人仿真环境的各个方面,包括环境设置、控制方式、物理仿真参数等。
env类:num_envs: 定义了仿真中同时运行的环境数量,这里设置为 4096。num_observations: 定义每个环境中的观察量数量。num_privileged_obs: 定义特权观察的数量,如果不为 None,则会返回用于非对称训练的特权观察。num_actions: 定义了每个环境中的动作数量。env_spacing: 用于设置环境之间的间隔,适用于非高程场或三角网格场景。send_timeouts: 是否向算法发送超时信息。episode_length_s: 每个回合的长度,以秒为单位。
terrain类:mesh_type: 定义了地形的类型,选项包括none,plane,heightfield,trimesh。horizontal_scale和vertical_scale: 定义地形的水平和垂直缩放。border_size: 定义地形的边界大小。curriculum: 是否使用课程学习来逐渐增加地形难度。static_friction和dynamic_friction: 定义地形的静态和动态摩擦系数。measure_heights: 是否测量地形高度。measured_points_x和measured_points_y: 定义了测量地形高度的点的位置。terrain_proportions: 定义了不同地形类型在整个仿真环境中的比例。slope_treshold: 定义了坡度的阈值,超过这个阈值的坡度会被视为垂直表面。
commands类:curriculum: 是否使用课程学习来逐渐增加命令的复杂性。max_curriculum: 定义课程学习的最大值。num_commands: 定义了命令的数量,通常包括线速度和角速度。resampling_time: 定义命令变化的时间间隔。heading_command: 是否根据航向误差计算角速度命令。
init_state类:- 定义了机器人初始状态的各项参数,包括位置、旋转、线速度、角速度以及默认的关节角度。
control类:control_type: 定义控制类型,选项包括P(位置控制)、V(速度控制)和T(力矩控制)。stiffness和damping: 定义了关节的刚度和阻尼系数。<