赞
踩
Isaac Lab安装可以看这个教程:http://t.csdnimg.cn/SN7duhttp://t.csdnimg.cn/SN7du
动作接口方法
reward接口方法
具体reward计算方法
这里reward可以看到,活着有奖励,杆子角度偏离0°惩罚线性增大,这个惩罚权重最高,同时车的速度波动也有惩罚。
gym.make('CartPole-v1')
(或v0,取决于版本)可以创建CartPole环境。Adding sensors on a robot — Isaac Lab documentation (isaac-sim.github.io)
相机是使用 sensors.CameraCfg
.它基于 USD Camera 传感器,并使用 Omniverse Replicator API 捕获不同的数据类型。由于它在场景中具有相应的prim,因此在场景中以指定的prims路径创建prim。
相机传感器的配置包括以下参数:
spawn
:要创建的 USD 相机类型。这可以是 PinholeCameraCfg
或 FisheyeCameraCfg
。
offset
:相机传感器与父prim的偏移量。
data_types
:相机要获取的数据类型。这可以是 rgb
、depth 、 distance_to_image_plane
、 normals
或 USD 相机传感器支持的其他类型。
官方的一个相机例子:
- camera = CameraCfg(
- prim_path="{ENV_REGEX_NS}/Robot/base/front_cam",
- update_period=0.1,
- height=480,
- width=640,
- data_types=["rgb", "distance_to_image_plane"],
- spawn=sim_utils.PinholeCameraCfg(
- focal_length=24.0, focus_distance=400.0, horizontal_aperture=20.955, clipping_range=(0.1, 1.0e5)
- ),
- offset=CameraCfg.OffsetCfg(pos=(0.510, 0.0, 0.015), rot=(0.5, -0.5, 0.5, -0.5), convention="ros"),
- )
我们将相机的更新周期设置为 0.1s,这意味着相机传感器以 10Hz 更新。prim_path 设置为 {ENV_REGEX_NS}/Robot/base/front_cam
其中 是 {ENV_REGEX_NS}
环境命名空间, "Robot"
是机器人的名称, "base"
是相机附加到的 prim 的名称,"front_cam"是
与相机传感器关联的 prim 的名称。
这里的offset是偏移量,被指定为相对于base基础框架的平移和旋转。convention似乎是该指定偏移的约定。
再看CartPole例程里添加的RGB和深度相机的配置:
那么这里offset实际该如何确定呢?
在运行的场景里查看摄像头实际偏移量offset,很明显这里的摄像头offset是相对于env_120的。
切到该摄像头视角
所以这里是将摄像头架到倒立摆前面,去做视觉端到端训练。
offset具体参数如何定义,我的建议是去USD Composer或Isaac Sim里设置,然后将获取的坐标关系带到代码里。
这里使用的是ppo算法,配置在yaml文件中,网络是cnn,可以从文件中看到模型结构。
- # 不使用摄像头训练
- python source/standalone/workflows/rl_games/train.py --task=Isaac-Cartpole-Direct-v0
- # 使用RGB摄像头
- python source/standalone/workflows/rl_games/train.py --task=Isaac-Cartpole-RGB-Camera-Direct-v0 --headless --enable_cameras --video
由于加了--video,可以在logs目录里看到保存的视频;
Isaac Lab CartPole训练20000步效果
训练窗口展示,当有最高reward的时候会保存模型
使用tensorboard来查看训练过程:
python -m tensorboard.main --logdir logs/rl_games/cartpole_camera_direct
cartpole_camera_direct.pth 是 best rewards的结果,所以加载该checkpoint 来演示效果。
saving next best rewards: [250.49663]
=> saving checkpoint 'D:\omniverse\pkg\isaac-lab\IsaacLab\logs\rl_games\cartpole_camera_direct\2024-06-06_11-01-07\nn\cartpole_camera_direct.pth'
- # python source/standalone/workflows/rl_games/play.py --task=Isaac-Cartpole-RGB-Camera-Direct-v0 --checkpoint /PATH/TO/model.pth
-
- python source/standalone/workflows/rl_games/play.py --task=Isaac-Cartpole-RGB-Camera-Direct-v0 --checkpoint logs/rl_games/cartpole_camera_direct/2024-06-06_11-01-07/nn/cartpole_camera_direct.pth
Isaac Lab CartPole play效果
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。