上一篇教程中我们讲解了强化学习环境是怎样组织的,这次我们将深入讲解整个IsaacLab强化学习的训练流程。
1.1 RL工程如何运作
这里将会结合简单介绍强化学习工程的运作。
1.1.1 环境载入
在一个主要流程(main)中,我们首先会初始化创建好的强化学习环境。例如在教程(三)中我们设置的环境,会通过gym(gymnasium,这是一个能够打包强化学习环境的工具包,参考链接:https://github.com/openai/gym)进行包装和初始化,包装的目的是在强化学习环境和强化学习算法中提供标准的通讯API,例如env.reset()等。同时,它会给写好的环境和设置好的算法注册一个任务名,方便在更换算法和环境时进行管理。在用gym.make()进行环境初始化时需要载入一些设置,这时就可以载入之前设置的强化学习环境设置类,用ManagerBasedRLEnvCfg进行加载。
env_cfg: ManagerBasedRLEnvCfg = parse_env_cfg(args_cli.task, use_gpu=not args_cli.cpu, num_envs=args_cli.num_envs)
env = gym.make(args_cli.task, cfg=env_cfg, render_mode="rgb_array" if args_cli