【无人机路径规划】基于强化学习的多无人机移动边缘计算与路径规划附matlab代码

简介: 【无人机路径规划】基于强化学习的多无人机移动边缘计算与路径规划附matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

智能优化算法       神经网络预测       雷达通信      无线传感器        电力系统

信号处理              图像处理               路径规划       元胞自动机        无人机

⛄ 内容介绍

空中无人机(UAVs)作为网络处理器在移动网络中长期使用,但它们现在被用作移动边缘计算(MEC)中的移动服务器。由于它们的灵活性、便携性、强大的视线通信联系和低成本、可改变的使用,它们在研究和商业应用中变得更加流行。更广泛的民用服务现在可能被这些重要的特征所支持,包括运输和工业监测和农业,以及森林和有线服务。本项目研究了基于无人飞行器的移动计算网络,无人飞行器(UAV)进行计算,移动终端用户向其提供计算。为了确保每个终端用户的服务质量(QoS),无人飞行器根据移动终端用户的位置动态选择其路线。

⛄ 部分代码

function PATH = planning(i,initial_pos,E_matrix)

global TARGET;

global TU_demand_matrix;

global UAVnum;

global G;

global N;

global EPISOD_SUM;

global K;

global M;


G_ori=G; % store G


% PATH= planning(G{i},round(UAV_pos(i,:)*N),TARGET,E_matrix,TU,N,EPISOD_SUM,K,M);

%% initialize G with all elements are N^2 and target 0

% add the following lines then G will be refreshed in each planning

for j=1:UAVnum

   G{j}=ones(N,N)*N^2;

   G{j}(TARGET(1),TARGET(2))=0;

end


%% update G matrix

node=TARGET;

for t=1:EPISOD_SUM  % while in max iteration num

   % invoke dangerMatrx.m to return a weight matrix A

   A=dangerMatrix(node,E_matrix);

   G{i}=min(G{i},G{i}(node(1),node(2))+A);  % a reward matrix to update G to find most minimum element

   node=randi(N,1,2);                       %randomly find 1*2 int matrix range(0,N)

end

% every element in G is the minimum value to that position


%% calculate PATH by W

step=1;

s=initial_pos;

PATH=[];

G_tmp=G{i};

while(~isequal(s,TARGET) && step<N*2)  % continue to planning as long as UAV hasn't arrived at target or step<2N

   step=step+1;

   %% revised

   cost_add=dangerMatrix(s,E_matrix);

   W2=G_tmp+cost_add;

   [row_index,column_index]=find(W2==min(min(W2))); % find min element in W2

   % there might be 1+ minium, so use row_index(1)

   row_index=row_index(1);

   column_index=column_index(1);

   

   s=[row_index,column_index];

   G_tmp(row_index,column_index)=N^2;

   

   % prevent deadlock in PATH

   if(~isempty(PATH)&&ismember(s,PATH,'rows'))

       continue;

   else

       PATH=cat(1,PATH,s);

   end

   %% original

   %         A2=dangerMatrix(s,E_matrix);

   %         W2=G{i}+A2;

   %         W2(s(1),s(2))=abs(min(min(W2))*1.5); %make sure s value is not minimum in W2

   %         [a,b]=min(W2);                       %find min element in W2 and assign the column and row to s(1) and s(2)

   %         [~,d]=min(a);

   %         s(1)=b(d);

   %         s(2)=d;

   %         PATH=cat(1,PATH,s);                %add new s position to TRACE

   

end


G=G_ori; % restore G


end

⛄ 运行结果

⛄ 参考文献

[1] Wang L ,  Wang K ,  Pan C , et al. Multi-Agent Deep Reinforcement Learning-Based Trajectory Planning for Multi-UAV Assisted Mobile Edge Computing[J]. IEEE, 2021(1).

⛳️ 完整代码

❤️部分理论引用网络文献,若有侵权联系博主删除
❤️ 关注我领取海量matlab电子书和数学建模资料


相关文章
|
2月前
|
机器学习/深度学习 算法 安全
m基于Q-Learning强化学习的路线规划和避障策略matlab仿真
MATLAB 2022a仿真实现了Q-Learning算法在路线规划与避障中的应用,展示了智能体在动态环境中学习最优路径的过程。Q-Learning通过学习动作价值函数Q(s,a)来最大化长期奖励,状态s和动作a分别代表智能体的位置和移动方向。核心程序包括迭代选择最优动作、更新Q矩阵及奖励机制(正奖励鼓励向目标移动,负奖励避开障碍,探索奖励平衡探索与利用)。最终,智能体能在复杂环境中找到安全高效的路径,体现了强化学习在自主导航的潜力。
37 0
|
14天前
|
传感器 算法
ANC主动降噪理论及Matlab代码实现
ANC主动降噪理论及Matlab代码实现
|
18天前
|
机器学习/深度学习 算法 索引
m基于Qlearning强化学习的小车倒立摆控制系统matlab仿真
在MATLAB 2022a中模拟的Q-learning倒立摆控制显示出稳定平衡效果。Q-learning算法通过智能体与环境交互学习最佳控制策略,以维持摆杆直立。算法基于状态s和动作a更新Q值表,目标是最大化未来奖励。系统状态包括小车位置、速度、杆角度及角速度。动作是小车加速度。当状态或动作空间大时,用神经网络近似Q函数,DQN通过经验回放和目标网络稳定学习。核心代码涉及状态更新、贪婪策略选择动作及环境反馈,实时更新摆杆和小车位置。
32 6
|
2月前
|
机器学习/深度学习 算法 安全
m基于Qlearning强化学习工具箱的网格地图路径规划和避障matlab仿真
MATLAB 2022a中实现了Q-Learning算法的仿真,展示了一种在动态环境中进行路线规划和避障的策略。Q-Learning是强化学习的无模型方法,通过学习动作价值函数Q(s,a)来优化智能体的行为。在路线问题中,状态表示智能体位置,动作包括移动方向。通过正负奖励机制,智能体学会避开障碍物并趋向目标。MATLAB代码创建了Q表,设置了学习率和ε-贪心策略,并训练智能体直至达到特定平均奖励阈值。
58 15
|
2月前
|
数据安全/隐私保护
耐震时程曲线,matlab代码,自定义反应谱与地震波,优化源代码,地震波耐震时程曲线
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
|
2月前
|
数据安全/隐私保护
地震波功率谱密度函数、功率谱密度曲线,反应谱转功率谱,matlab代码
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
基于混合整数规划的微网储能电池容量规划(matlab代码)
基于混合整数规划的微网储能电池容量规划(matlab代码)
|
2月前
|
算法 调度
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
|
2月前
|
Serverless
基于Logistic函数的负荷需求响应(matlab代码)
基于Logistic函数的负荷需求响应(matlab代码)
|
2月前
|
供应链 算法
基于分布式优化的多产消者非合作博弈能量共享(Matlab代码)
基于分布式优化的多产消者非合作博弈能量共享(Matlab代码)

热门文章

最新文章