基于人工势场法的移动机器人路径规划研究(Matlab代码实现)

简介: 基于人工势场法的移动机器人路径规划研究(Matlab代码实现)

💥1 概述

路径规划是移动机器人领域的热点研究方向,人工势场法已在工业机器人路径规划中得到广泛应用,近年来正逐步应用于农业工程的路径规划问题中。首先对路径规划中人工势场法的原理及传统人工势场法存在的缺陷进行分析,针对人工势场法中的局部极小值和目标不可达问题的多重改进方法进行原理分析和方法总结,并根据人工势场法在工业机器人中的应用对已有的算法融合方法进行分类综述。最后通过对多种改进方法的比较,对农业机器人路径规划所需满足的实时性以及障碍物的多变性进行应用展望,可以利用现有的算法融合研究,结合农业生产的实际情况,对不同农业生产应用场合的融合算法选择机制进行深入研究,以满足现代农业生产中对机器人路径规划的需求。


人工势场法(Artificial Potential Field Method)是由Khatib首先提出将障碍物及目标抽象为虚拟势场,通过建立对应势能场函数解决机械臂避障问题的一种算法。其中,虚拟势场源分为两类:引力场和斥力场。势能场函数将机器人进入区域中的障碍物视为斥力极,目标视为引力极。抽象定义引力极产生引力为参考位置(即移动机器人位置)指向目标位置的距离相关函数;斥力极产生的斥力为障碍物指向参考位置的距离相关函数。通过目标位置引力和环境中障碍物斥力的叠加,即可得移动机器人运行至该点时的合力大小及方向。


📚2 运行结果

🎉3 参考文献

[1]胡杰,张华,傅海涛,卢成锦.改进人工势场法在移动机器人路径规划中的应用[J].机床与液压,2021,49(03):6-10.


[2]石志刚,梅松,邵毅帆,万如,宋志禹,谢铭露,李燕.基于人工势场法的移动机器人路径规划研究现状与展望[J].中国农机化学报,2021,42(12):182-188.DOI:10.13733/j.jcam.issn.2095-5553.2021.12.27.


👨‍💻4 Matlab代码

部分代码:

%% function
% 人工势场法进行水下机器人路径规划,考虑体积范围
% 计算势函数,画出运动轨迹图像
close all; 
% 设置工作区域
xmin = [0; 0];  
xmax = [50;50];
% Maximum number
Nsteps = 600;
%设置机器人的参数%
% 选定方向上机器人运动步长参数
lambda = 0.1;
Ns=30; 
r = 1; 
xs=0*ones(2,Ns); 
Jo(:,1)=0*ones(Ns,1); 
Jg(:,1)=0*ones(Ns,1); 
J(:,1)=0*ones(Ns,1); 
theta(:,1)=0*ones(Ns,1);
for m=2:Ns
    theta(m,1)=theta(m-1,1)+(pi/180)*(360/Ns); 
end 
% 设置目标(Goal/Target)位置坐标
P_Goal=[25; 25];
obstacles = [6 20 11 16 18 19 ;6 16 17 14 11.9 19];
Mat = size(obstacles); %障碍物点数
obNum = Mat(1,2);
nt = 20; % Tar运动步数
nr = 20; % Ro的速度,决定能否跟的上
x1 = 1;
y1 = 1;
g = 1;
h = 0;
distrt = 0; % 计算距离,终止条件
distro = 0*ones(2,obNum); % 计算距离,避让临界
t = 0;
na = 0;
% 设置机器人初始位置坐标
P_Ro=[5; 5]; 
w1 = 1; 
w2 = 5; 
P_Ro(:,2:Nsteps) = 0*ones(2,Nsteps-1);
% 画出势场
xx=0:35/100:35; 
yy=xx; 
% 计算障碍物势函数 
 for jj=1:length(xx) 
    for ii=1:length(yy) 
       op(ii,jj)=obstaclefunction([xx(jj);yy(ii)],w1,obstacles); 
    end 
 end 


相关文章
|
10月前
|
机器学习/深度学习 算法 机器人
使用哈里斯角Harris和SIFT算法来实现局部特征匹配(Matlab代码实现)
使用哈里斯角Harris和SIFT算法来实现局部特征匹配(Matlab代码实现)
421 8
|
10月前
|
机器学习/深度学习 编解码 算法
基于OFDM技术的水下声学通信多径信道图像传输研究(Matlab代码实现)
基于OFDM技术的水下声学通信多径信道图像传输研究(Matlab代码实现)
407 8
|
10月前
|
算法 定位技术 计算机视觉
【水下图像增强】基于波长补偿与去雾的水下图像增强研究(Matlab代码实现)
【水下图像增强】基于波长补偿与去雾的水下图像增强研究(Matlab代码实现)
1121 0
|
10月前
|
算法 机器人 计算机视觉
【图像处理】水下图像增强的颜色平衡与融合技术研究(Matlab代码实现)
【图像处理】水下图像增强的颜色平衡与融合技术研究(Matlab代码实现)
306 0
|
10月前
|
机器学习/深度学习 数据采集 测试技术
基于CEEMDAN-VMD-BiLSTM的多变量输入单步时序预测研究(Matlab代码实现)
基于CEEMDAN-VMD-BiLSTM的多变量输入单步时序预测研究(Matlab代码实现)
362 8
|
10月前
|
机器学习/深度学习 算法 自动驾驶
基于导向滤波的暗通道去雾算法在灰度与彩色图像可见度复原中的研究(Matlab代码实现)
基于导向滤波的暗通道去雾算法在灰度与彩色图像可见度复原中的研究(Matlab代码实现)
473 8
|
10月前
|
机器学习/深度学习 算法 机器人
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
801 0
|
10月前
|
新能源 Java Go
【EI复现】参与调峰的储能系统配置方案及经济性分析(Matlab代码实现)
【EI复现】参与调峰的储能系统配置方案及经济性分析(Matlab代码实现)
302 0
|
10月前
|
机器学习/深度学习 供应链 算法
【电动车】基于削峰填谷的电动汽车多目标优化调度策略研究(Matlab代码实现)
【电动车】基于削峰填谷的电动汽车多目标优化调度策略研究(Matlab代码实现)
337 0
|
10月前
|
传感器 机器学习/深度学习 算法
【无人机协同】动态环境下多无人机系统的协同路径规划与防撞研究(Matlab代码实现)
【无人机协同】动态环境下多无人机系统的协同路径规划与防撞研究(Matlab代码实现)
460 0

热门文章

最新文章