当前位置 : 主页 > 编程语言 > python >

【路径规划】基于Beizer和改进PSO算法实现风环境下翼伞航迹规划附matlab代码

来源:互联网 收集:自由互联 发布时间:2022-06-15
​1 简介 针对当前翼伞空投航迹规划中未考虑复杂风场影响,文中提出一种利用风场优势求解最优航迹的算法。将航 迹规划问题转换成 Bezier 曲线的参数寻优问题,针对风场环境下可行

​1 简介

针对当前翼伞空投航迹规划中未考虑复杂风场影响,文中提出一种利用风场优势求解最优航迹的算法。将航 迹规划问题转换成 Bezier 曲线的参数寻优问题,针对风场环境下可行轨迹特点提出优化策略,提出改进的粒子群优 化算法求取最优解。实验结果表明,该航迹规划算法能在复杂风场环境下求出一条满足各种要求的最优航迹,算法设计合理,工程易实现。

【路径规划】基于Beizer和改进PSO算法实现风环境下翼伞航迹规划附matlab代码_d3

【路径规划】基于Beizer和改进PSO算法实现风环境下翼伞航迹规划附matlab代码_matlab代码_02

【路径规划】基于Beizer和改进PSO算法实现风环境下翼伞航迹规划附matlab代码_d3_03

【路径规划】基于Beizer和改进PSO算法实现风环境下翼伞航迹规划附matlab代码_d3_04

【路径规划】基于Beizer和改进PSO算法实现风环境下翼伞航迹规划附matlab代码_matlab代码_05

2 部分代码

function particle_v = particle(input)
% 利用格栅数据获取,任意粒子的速度
% 输入点的坐标(仅含x和y),输出含有速度量的坐标值
load wind
x2=x(:,:,5); y2=y(:,:,5);
u2=u(:,:,5); v2=v(:,:,5); % 导入数据
[m, n] = size(x2);
[input_m, input_n] = size(input);
Output = [];
particle_v = [];
U = [];
for ii = 1:(input_n/2)
Input = [input(:,2*ii-1), input(:,2*ii)];
index = 0;
distance_min = sqrt(Input(1)^2 + Input(2)^2);
for i=1:m*n
Point_i = [x2(i) y2(i) u2(i) v2(i)];
distance = sqrt((Point_i(1)-Input(1))^2 + (Point_i(2)-Input(2))^2);
if distance < distance_min
distance_min = distance;
index = i;
U = [Point_i(3), Point_i(4)];
end
end
Output = [Input(1), Input(2), U(1), U(2)];
particle_v = [particle_v, Output];
end

3 仿真结果

【路径规划】基于Beizer和改进PSO算法实现风环境下翼伞航迹规划附matlab代码_matlab代码_06

【路径规划】基于Beizer和改进PSO算法实现风环境下翼伞航迹规划附matlab代码_参考文献_07

4 参考文献

[1]于群涛, 陈楸, 李德荣,等. 基于Bezier和改进PSO算法的风环境下翼伞航迹规划[J]. 电子设计工程, 2014, 22(19):4.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

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

【路径规划】基于Beizer和改进PSO算法实现风环境下翼伞航迹规划附matlab代码_d3_08


网友评论