飞机游戏六 空战强化学习环境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中自己建立的环境下,完成效果如图所示
如果出现,pycharm总是显示找不到dogfight_snadbox_hg2文件夹,可以尝试新建一个同名文件夹(这时候新建立的文件夹一般会显示),然后将内容直接移动到新建的能够被找得到的文件夹中
四 使用
1 启动 dogfight_sandbox_hg2 ,敲击移动箭头 ,进入网络模式,可以 查看到 本机的ip和端口
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()
4 需要注意的是
df.set_renderless_mode(False) #是否进行渲染
是进行渲染显示的,但这个函数是设置不渲染,要想进行渲染必须将参数
本文来自博客园,作者:{珇逖},转载请注明原文链接:https://www.cnblogs.com/zuti666/p/16968169.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律