飞机游戏六 空战强化学习环境6.1DBML 6.1.1DBML 使用

飞机游戏六 空战强化学习环境1—DBML 使用

一 Github 地址

GitHub - mrwangyou/DBRL: A Gym Dogfighting Simulation Benchmark for Reinforcement Learning Research

二 项目简介

使用gym框架,

仿真环境有两个,分别是jsbsim和dogdight ,

可视化使用flightGear实现jsbsim的可视化,使用dogfight直接进行可视化

由于使用了gym框架,强化学习算法直接调用 stable_baselines3中的算法

三 下载,配置

由于FlightGear启动不了,这里只使用dogfight环境

需要注意的几个点

1 在gym下添加环境(也就是将项目中的dogfightEnv复制过去),然后再envs下进行注册,可以参考 gym——1自定义Gym环境并注册 - 英飞 - 博客园 (cnblogs.com)

2 需要将dogfight_snadbox_hg2项目下载并复制到 gym中自己建立的环境下,完成效果如图所示

QQ截图20221208205212

如果出现,pycharm总是显示找不到dogfight_snadbox_hg2文件夹,可以尝试新建一个同名文件夹(这时候新建立的文件夹一般会显示),然后将内容直接移动到新建的能够被找得到的文件夹中

四 使用

1 启动 dogfight_sandbox_hg2 ,敲击移动箭头 ,进入网络模式,可以 查看到 本机的ip和端口

image-20221208210900848

2 进入所在环境 ,所在文件夹目录 命令行执行

# 替换自己的地址
python ./src/models/sac_df2.py --host 10.168.62.25 --port 50888 --train --test

3 写了一个更简单的示例,看一下可视化效果

from stable_baselines3 import SAC
from stable_baselines3.common.noise import (NormalActionNoise, OrnsteinUhlenbeckActionNoise)

import gym
#
# # gym.make('DBRLJsbsim-v0')
# gym.make('DBRLDogfight-v0')

env = gym.make(
    "DBRLDogfight-v0",
    host='10.168.62.25',
    port='50888',
    plane_slot=1,
    enemy_slot=1,
    missile_slot=1,
    rendering=True
)

model = SAC.load("../log/sac_df2.zip")
print('加载成功')
obs = env.reset()
env.render()

屏幕截图 2022-12-10 222007

4 需要注意的是

 df.set_renderless_mode(False)  #是否进行渲染

是进行渲染显示的,但这个函数是设置不渲染,要想进行渲染必须将参数

posted @   英飞  阅读(757)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示