# air-combat-Reinforcement-Learning
利用值函数逼近网络设计无人机空战自主决策系统,采用epsilon贪婪策略,三层网络结构。
其中包含了无人机作为质点时的运动模型和动力学模型的建模。
由于无人机作战的动作是连续并且复杂的,本项目仅考虑俯仰角gamma(又叫航倾角)和航向角pusin的变化,并且离散的规定每次变化的幅度为10度,假定速度v为恒定值。根据飞机的运动模型,由俯仰角、航向角和速度可以推算出飞机位置的改变,即x,y,z三个方向的速度分量,在每一步中,根据这些分量变化位置position信息,posintion中的三个值为x,y,z坐标,是东北天坐标系下的坐标值。从坐标信息和角度信息以及速度信息,可以计算出两个飞机的相对作战态势state。
在上文中提到,我们的动作是仅对俯仰角和航向角进行改变,即增大,减少和不变,故两个角度的变化组合一共有3×3=9种动作。在每个态势下,都有9种动作可以选择,将这个态势下的9种动作将会产生的新的态势,作为网络的输入,网络的输出是9个数字,代表每个动作的值函数。
由于是无监督学习,故我们需要利用值函数的Bellman公式生成标签。本文利用时间差分思想,(时间差分的公式贴在此处)。
怎么生成标签呢?我们先进行一次完整的游戏,将这次游戏中所有的值都记录下来,然后在游戏结束之后,根据胜利(红方为我方)、失败和最大步数、超出范围等给出一个回报值,然后设定一个回报的衰减率,将这个回报值根据步数越靠前影响越小的规律添加在每一步的目标中。
胜利的标准是,在攻击距离内达到攻击角度,这个以后再讲。
循环进行以上过程。
在训练后的结果图:
好吧我还不会贴图,大概样子就是,在对方匀速直线运动向我方飞行的时候,我方先快速爬升到一定高度,然后俯冲向敌机。
动作集的设定很暴力,在以后可以根据一些算法对动作集进行一定的改变。
目前是初步的程序编写,最近比较忙,之后会不断更新和详解。
class_env文件是环境类,包含了无人机建模和各种坐标角度与态势之间的转换
main文件是主文件,有网络和主要的执行过程和测试过程
环境:tensorflow
python3.6
硬件:GTX1070
__AtYou__
- 粉丝: 3513
- 资源: 2177
最新资源
- 电子购物系统的设计与实现+ssm-微信小程序毕业项目,适合计算机毕-设、实训项目、大作业学习.rar
- 个人日程安排微信小程序的实现+ssm-微信小程序毕业项目,适合计算机毕-设、实训项目、大作业学习.rar
- Python 实现 GWO-GRU(灰狼优化算法优化门控循环单元)进行时间序列预测的示例(含完整的程序,GUI设计和代码详解)
- 汉中茗茶微系统设计与实现修改微信小程序代码pf-微信小程序毕业项目,适合计算机毕-设、实训项目、大作业学习.rar
- 绘画学习平台+ssm-微信小程序毕业项目,适合计算机毕-设、实训项目、大作业学习.rar
- 基于h5 移动网赚项目设计与实现+springboot-微信小程序毕业项目,适合计算机毕-设、实训项目、大作业学习.rar
- 个人健康管理系统小程序pf-微信小程序毕业项目,适合计算机毕-设、实训项目、大作业学习.zip
- 永磁同步电机(PMSM)矢量控制,坐标变到d-q轴后,采用SVPWM调制算法,进行速度电流双闭环控制,控制算法为PID,仿真结果如图所示
- 火锅店点餐系统的设计与实现+ssm-微信小程序毕业项目,适合计算机毕-设、实训项目、大作业学习.rar
- 贵工程寝室快修小程序pf-微信小程序毕业项目,适合计算机毕-设、实训项目、大作业学习.zip
- Python 实现 GRU(门控循环单元)用于时间序列预测的示例(含完整的程序,GUI设计和代码详解)
- 基于SSM框架的童装购买平台微信小程序+ssm-微信小程序毕业项目,适合计算机毕-设、实训项目、大作业学习.rar
- 基于H5的智慧消防微信小程序设计与开发+ssm-微信小程序毕业项目,适合计算机毕-设、实训项目、大作业学习.rar
- 基于JAVA微信点餐小程序设计+ssm-微信小程序毕业项目,适合计算机毕-设、实训项目、大作业学习.rar
- Python 实现 GTO-CNN-GRU)用于多变量多步时间序列预测的示例(含完整的程序,GUI设计和代码详解)
- 单台三相模块化多电平(mmc)小信号建模 内含功率外环、环流抑制、电流内环、PLL等控制部分完整建模 含参考文献和对应的仿真模型 动态特性如图
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈