【无人机】基于PID控制器和A星算法实现无人机路径规划附matlab代码

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

个人主页:Matlab科研工作室

个人信条:格物致知。

更多Matlab仿真内容点击

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

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

⛄ 内容介绍

针对固定翼无人机的飞行控制律设计问题,提出了一种基于非线性PID控制原理的控制器。该控制器的比例、积分、微分增益是控制误差的非线性函数。确定该组函数的参数主要根据最优控制理论选择性能指标,采用遗传算法寻优。在此基础上,实现对无人机飞行控制律的优化设计。仿真结果表明,使用该控制器设计的无人机飞行控制回路比用常规PID控制器表现出很大的优越性。​

⛄ 部分代码

% Image Segmentation and Quantization by Neural Gas Network (NGN)

% Define number of segments and iterations and get the output. 

% Org is image. You can use your image. 

% ParVal.N is Number of Segments

% ParVal.MaxIt is Number of runs

%----------------------------------------------------------------------

clc;

clear;

close all;

%% Load Image

Org=imread('124084.jpg');

X = rgb2gray(Org);

X=double(X);

img=X;

X=X(:)';

%% Neural Gas Network (NGN) Parameters

ParVal.N = 6; % Number of Segments

ParVal.MaxIt = 50; % Number of runs

ParVal.tmax = 100000;

ParVal.epsilon_initial = 0.3;

ParVal.epsilon_final = 0.02;

ParVal.lambda_initial = 2;

ParVal.lambda_final = 0.1;

ParVal.T_initial = 5;

ParVal.T_final = 10;

%% Training Neural Gas Network

NGNnetwok = GasNN(X, ParVal);

%% Vector to image and plot

Weight=sum(round(rescale(NGNnetwok.w,1,ParVal.N)));

Weight=round(rescale(Weight,1,ParVal.N));

indexed=reshape(Weight(1,:),size(img));

segmented = label2rgb(indexed); 

% Plot Res

figure('units','normalized','outerposition',[0 0 1 1])

subplot(2,2,1)

imshow(Org,[]); title('Original');

subplot(2,2,2)

imshow(img,[]); title('Grey');

subplot(2,2,3)

imshow(segmented);

title(['Segmented in [' num2str(ParVal.N) '] Segments']);

subplot(2,2,4)

imshow(indexed,[]);

title(['Quantized in [' num2str(ParVal.N) '] Thresholds']);

⛄ 运行结果

【无人机】基于PID控制器和A星算法实现无人机路径规划附matlab代码_第1张图片

【无人机】基于PID控制器和A星算法实现无人机路径规划附matlab代码_第2张图片

【无人机】基于PID控制器和A星算法实现无人机路径规划附matlab代码_第3张图片

⛄ 参考文献

[1]董箭, 初宏晟, 卢杬樟,等. 基于A星算法的无人机路径规划优化模型研究[J]. 海洋测绘, 2021, 41(3):5.

⛄ Matlab代码关注

❤️部分理论引用网络文献,若有侵权联系博主删除

❤️ 关注我领取海量matlab电子书和数学建模资料

你可能感兴趣的:(无人机,无人机,算法,matlab)