💥💥💞💞欢迎来到本博客❤️❤️💥💥
🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。
⛳️座右铭:行百里者,半于九十。
📋📋📋本文目录如下:🎁🎁🎁
目录
⛳️赠与读者
👨💻做科研,涉及到一个深在的思想系统,需要科研者逻辑缜密,踏实认真,但是不能只是努力,很多时候借力比努力更重要,然后还要有仰望星空的创新点和启发点。当哲学课上老师问你什么是科学,什么是电的时候,不要觉得这些问题搞笑。哲学是科学之母,哲学就是追究终极问题,寻找那些不言自明只有小孩子会问的但是你却回答不出来的问题。建议读者按目录次序逐一浏览,免得骤然跌入幽暗的迷宫找不到来时的路,它不足为你揭示全部问题的答案,但若能让人胸中升起一朵朵疑云,也未尝不会酿成晚霞斑斓的别一番景致,万一它居然给你带来了一场精神世界的苦雨,那就借机洗刷一下原来存放在那儿的“躺平”上的尘埃吧。
或许,雨过云收,神驰的天地更清朗.......🔎🔎🔎
💥1 概述
摘要
本项目的目的是通过垂直和水平之间的过渡来控制倾转旋翼无人机使用现代人工智能(AI)技术的水平飞行。传统控制器是专家需要设计人员对控制器进行编程以在每种可能的情况下工作的系统。
这些是有限的,当发生不可预见的事件时,往往会灾难性地失败。学习系统从第一原则中学习解决方案,无需任何先验知识。这使得它们比硬木更坚固编码等价物,它们可以更广泛地用于解决我们自己可能无法解决的任务知道如何解决。该项目使用强化学习作为工具来控制一个有翼的倾转旋翼机,无人机(1)为了实现这一点,需要能够进行多旋翼和固定翼飞行的飞行动力学模型被创建出来,用于与人工智能算法交互,并作为人工智能算法的培训工具。人工智能的目标其作用是作为飞行员,通过加速踏板提供合适的控制器输入和加权输出过渡。考虑了许多不同的动态规划方法来控制飞机。最终发现强化学习算法是最适合该问题的候选算法尽管实施起来具有挑战性,但这个问题仍然存在。深度确定性策略梯度(DDPG)是一种在连续状态和动作空间中都能工作的强化学习算法,这是一个关键该飞机的要求。DDPG被选为此应用的最佳候选者,因为它是一个最先进的技术,不需要离散化:它是使用MATLAB的(测试版)强化学习工具箱。初步测试强调了飞机模拟中稳定性的重要性,因为初步探索在强化学习中,这通常会导致非常不寻常的控制输入,从而导致模拟减速或撞车。尽管使用常规控制输入进行了充分的工作需要对模拟器的各个方面进行调试,使其足够快,足够稳健,以可以与强化学习一起使用。对DDPG算法的测试突显了实现它的困难程度由MATLAB处理,但需要大量的工作来获得适用于培训。为了简化对代理的要求,首先在仅支持多旋翼的版本上进行了测试飞机。最初,它只有一个x轴自由度,只能控制前进速度。在某一维度取得成功后,问题逐渐变得更加复杂增加更多自由度并恢复姿态控制器。最终,这位代理人是训练以多旋翼模式在两点之间飞行,尽管不如调校良好的PID成功控制器。当代理在多旋翼模式下尽可能合理时,过渡有人试图。过渡是飞行中最复杂的部分:为了简化它,代理从以下状态开始性能最好的多旋翼智能体,以及控制电机和飞行倾斜角的能力增加了控制器权重。然后,飞机被要求飞行一条只有1000英尺的轨迹
在前进模式下,多旋翼的任何尝试都会得到负面的奖励。这种开放式的方法为过渡提供了新颖的决方案,最终与已知的飞行控制人员正在靠近。该项目取得了良好的效果,但并没有在经过良好调优的传统控制器上取得进步。强化学习智能体在没有先验经验的情况下成功地学习了良好的策略,并且“智能”行为的示例,如前瞻性规划。
(1)在本报告中,“飞机”用于描述一种有翼无人驾驶飞行器(UAV),该飞行器能够垂直和
水平飞行。
1.导言
无人驾驶飞行器(UAV)在社会中的地位越来越重要。这种相对较新的技术主要用于电影摄影,大型四轴飞行器携带相机用于电影和电视。有限的应用通常归因于限制许多潜在的操作,如测量、援助和保护[1,2,3]。许多公司正在为未来做准备,届时更复杂的监管将允许无人机在这其中发挥作用区域[4,5]。无人机通常分为两个不同的类别;那些使用翅膀作为其升力面的动物,以及那些这些升降机使用动力升降机。固定翼无人机可以快速高效地长距离飞行,并且通常类似于常规飞机和飞翼。动力升力无人机可以在低空和高速飞行时精确飞行零速,但由于固有的低效率,不适合长距离或高速飞行这些能量来自发动机产生的升力。第三种不太常见的无人机是那些结合两种模式:垂直起降(VTOL),并使用机翼作为其提升表面,以提高效率和速度。这些是“两全其美”的解方案许多优点。主要的缺点是寻找最佳解决方案的复杂性两种截然不同的飞机类型的组合。巴斯无人机队是巴斯大学的学生领导的无人机队,该队在2019年试图制造一架垂直起降旋翼飞行器,以进入英国机械工程师学会(IMechE)无人机系统(UAS)挑战。这架名为“Caelus”的飞机使用两个旋翼为向前飞行提供推进力,可以倾斜垂直起降,结合两个同轴导管风扇,提供垂直起降的升力。两个前电机可以近似为单个提升力,如下所示:
📚2 运行结果
部分代码:
% Specify observer information
numObs = 10;
obsInfo = rlNumericSpec([numObs 1],'LowerLimit',-1,'UpperLimit', 1);
obsInfo.Name = 'Observer';
% Specify actor information
numAct = 4;
actInfo = rlNumericSpec([numAct 1],'LowerLimit',-1,'UpperLimit', 1);
actInfo.Name = 'actor';
% Initialise environment - simulator, agent, observer information, actor
% information
env = rlSimulinkEnv('Transition','Transition/RL Agent',...
obsInfo,actInfo);
% Set model params
Ts = 0.2; % sample time
Tf = 40; % finish time
rng('shuffle'); % Set rng seed
env.ResetFcn = @(in)setVariable(in,'Desired_Location',40*rand(3,1)-20,'Workspace',mdl);
% Create some convolutional neural nets for the critic
% specify the number of outputs for the hidden layers.
% Create critic network
hiddenLayerSize = 200;
🎉3 参考文献
文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。(文章内容仅供参考,具体效果以运行结果为准)
🌈4 Matlab代码、Simulink仿真、文章下载
资料获取,更多粉丝福利,MATLAB|Simulink|Python资源获取