当前位置: 首页 > news >正文

多无人机--强化学习

这个是我对于我的大创项目的构思,随着时间逐渐更新

项目概要

我们的项目平台来自挑战杯揭绑挂帅的无人机对抗项目,但是在由于时间原因,并未考虑强化学习,所以现在通过大创项目来弥补遗憾

我们项目分为三部分,分为虚拟机,态势系统,和运行程序端(使用主机)

虚拟机内包含各种无人机信息,并封装为接口供windows端控制

态势系统主要是用来显示战场的情况,使得态势可视化

运行程序端编写程序进行无人机控制

启动顺序为

虚拟机-》态势系统-》运行程序端

项目学习基础

强化学习:

       学习马尔可夫决策决策过程(MDP)

       学习强化学习主要算法:

              值迭代法,策略梯度法 重点学习PPO和DDPG

如果对于强化学习公式的了解较少的可以观看b站上的课程

【强化学习的数学原理】课程:从零开始到透彻理解(完结)_哔哩哔哩_bilibili

由于这里我们目前所使用的公式原因,先学习

了解仿真平台

       对于各种API的研究(前期工作)

        理解无人机的各种参数

对于linux系统的了解(前期工作)

        学习一些基础操作,并对于其提供的虚拟机实现了解

对于强化学习接口搭建(完成Gym接口)封装Linux接口作为训练环境

首先利用PPO/DDPG训练单无人机基础移动(边界避障,上下限制)

进行侦察训练,导弹躲避训练

然后再加入对抗系统,使得无人机与敌机进行交互

首先是蓝方设计固定策略进行训练

然后红蓝方都进行强化学习训练

目前较为适合的最终算法(改进的MADDPG)

基础知识

Linux

一些基础linux命令总结为linux命令

如下

linux命令-CSDN博客

然后需要查看shell脚本

这里推荐黑马程序员的课程

02.shell入门(1)_哔哩哔哩_bilibili

强化学习

然后是强化学习的基础知识

马尔可夫决策

基本元素

  1. 状态集(State Space)
    记为 S,表示系统可能处于的所有状态的集合。例如,在一个迷宫环境中,每个格子可以看作一个状态;在资源分配问题中,状态可以是当前资源的使用量、剩余量等的组合。

  2. 动作集(Action Space)
    记为 A,表示在每个状态下可执行的所有动作。例如,在迷宫中可向上、下、左、右移动;在资源分配问题中可以为“给某个任务分配多少资源”等不同策略选项。

  3. 状态转移概率(Transition Probability)
    记为 P(s′∣s,a),表示当前处于状态 s,执行动作 a 之后,转移到下一状态 s′ 的概率。这也是“马尔可夫”性质的来源:转移只与当前状态和当前动作相关,而与之前的历史状态无关。

  4. 奖励函数(Reward Function)
    记为 R(s,a)或 R(s,a,s′),表示在状态 s 执行动作 a并转移到状态 s′时得到的即时回报。这个回报值可能是正的(奖励)或负的(惩罚)。

  5. 折扣因子(Discount Factor)
    记为 γ,取值范围通常在 [0,1] 之间。它用于平衡短期和长期收益的重要性:当 γ越接近 1 时,更注重长期回报;当 γ越小,越关注即时回报。

决策过程

  • 观察状态
    系统(或智能体)观察当前状态 s。

  • 选择动作
    根据一定的策略(policy)π\piπ,在状态 sss 下选择一个动作 aaa。策略 π\piπ 可以理解为一个函数或规则,用于指定在不同状态下执行哪一个动作。

  • 环境反馈

    • 状态转移:在环境中执行动作 aaa 后,系统会随机地转移到下一个状态 s′s's′(由转移概率 P(s′∣s,a)P(s' \mid s,a)P(s′∣s,a) 决定)。
    • 得到奖励:与此同时,系统给予执行该动作的即时回报 R(s,a)R(s,a)R(s,a) 或 R(s,a,s′)R(s, a, s')R(s,a,s′)。
  • 更新决策
    基于新的状态 s′s's′ 和获得的奖励,智能体可以对其策略 π\piπ 进行更新或继续保持不变,具体取决于使用的算法(例如价值迭代、策略迭代、Q 学习、深度强化学习等)。

  • 进入下一轮决策
    新的状态 s′s's′ 成为当前状态,系统重复上述过程,直到达到终止条件(如达到目标状态、达到最大交互步数、收敛到稳定策略等)

PPO

DDPG 

note:无人机飞行是连续的动作,使用 DDPG

聚焦连续动作空间,使用确定性策略和 Critic-Q 网络来估计动作价值,具备较高的数据利用效率,但也对训练稳定性和超参数选择有更高要求。

MADDPG

多无人机对战是多智能体和DDPG的结合

  • 集中式 Critic:在训练过程中,每个智能体的 Critic 都可以访问 全局信息,包括所有智能体的状态和动作。这使得 Critic 在更新时对环境动态和其他智能体决策有更全面的认识,缓解了环境非平稳问题。
  • 分散式 Actor:在执行阶段,每个智能体只基于自身的局部观测来进行决策,保持灵活性与可扩展性。

初步研究

动作设置:

        我们使用机动号操作无人机进行对战,一共执行五个状态,平飞,俯冲,平飞加减速,爬升,转弯

奖励函数设置

初步设计为分为多个阶段,进行分开训练,分为巡航,进攻,躲避,撤退四个策略,通过条件进行状态转移

开始设计初步的奖励和惩罚函数

巡航:

        奖励项:侦察到敌方无人机,侦察到敌方无人机时的高度差

        惩罚项:碰撞到边界

进攻:

        奖励项:导弹命中敌方无人机

        惩罚项:敌方无人机脱离我方锁定

躲避:

        奖励:躲避敌方导弹

撤退:

        奖励:??

        惩罚:被敌方无人机侦测

http://www.lryc.cn/news/532197.html

相关文章:

  • UE制作2d游戏
  • 说一下JVM管理的常见参数
  • 【FPGA】 MIPS 12条整数指令【2】
  • 机器学习--python基础库之Matplotlib (2) 简单易懂!!!
  • mybatis plus 持久化使用技巧及场景
  • JVM监控和管理工具
  • 记录 | 基于MaxKB的文字生成视频
  • 生成式AI安全最佳实践 - 抵御OWASP Top 10攻击 (下)
  • 现场流不稳定,EasyCVR视频融合平台如何解决RTSP拉流不能播放的问题?
  • 文献阅读 250205-Global patterns and drivers of tropical aboveground carbon changes
  • 算法与数据结构(括号匹配问题)
  • 订单状态监控实战:基于 SQL 的状态机分析与异常检测
  • C# 中记录(Record)详解
  • YOLOv11-ultralytics-8.3.67部分代码阅读笔记-autobackend.py
  • Docker使用指南(一)——镜像相关操作详解(实战案例教学,适合小白跟学)
  • Rust 变量特性:不可变、和常量的区别、 Shadowing
  • NFT Insider #167:Champions Tactics 角色加入 The Sandbox;AI 助力 Ronin 游戏生态
  • 鹧鸪云无人机光伏运维解决方案
  • NeuralCF 模型:神经网络协同过滤模型
  • 【前端】【Ts】【知识点总结】TypeScript知识总结
  • JAVA架构师进阶之路
  • 掌握@PostConstruct与@PreDestroy,优化Spring Bean的初始化和销毁
  • Java设计模式:行为型模式→状态模式
  • 景联文科技:专业数据采集标注公司 ,助力企业提升算法精度!
  • ES面试题
  • LabVIEW2025中文版软件安装包、工具包、安装教程下载
  • 算法与数据结构(合并K个升序链表)
  • 洛谷 P4552 [Poetize6] IncDec Sequence C语言
  • 保姆级教程Docker部署Zookeeper官方镜像
  • javaEE-6.网络原理-http