在这里插入图片描述

⛄一、人工势场算法车辆避障路径规划简介

1 人工势场算法
人工势场法是由Khatib于1985年在论文《Real-Time Obstacle Avoidance for Manipulators and Mobile Robots》中提出的一种虚拟力法。它的基本思想是将机器人在周围环境中的运动,设计成一种抽象的人造引力场中的运动,目标点对移动机器人产生“引力”,障碍物对移动机器人产生“斥力”,最后通过求合力来控制移动机器人的运动。应用势场法规划出来的路径一般是比较平滑并且安全,但是这种方法存在局部最优点问题。

算法思想
(1)人工势场法的基本思想是在障碍物周围构建障碍物斥力势场,在目标点周围构建引力势场,类似于物理学中的电磁场。

(2)被控对象在这两种势场组成的复合场中受到斥力作用和引力作用,斥力和引力的合力指引着被控对象的运动,搜索无碰的避障路径。

(3)更直观而言,势场法是将障碍物比作是平原上具有高势能值的山峰,而目标点则是具有低势能值的低谷。

2 人工势场算法车辆避障路径规划
人工势场算法是一种基于势能场的路径规划方法,它通过构建势能场来实现车辆的避障和路径规划。具体来说,它将车辆看作一个带电粒子,将障碍物看作一个带同性电荷的粒子,通过计算粒子间的相互作用力,来实现车辆的避障和路径规划。以下是人工势场算法车辆避障路径规划的步骤:
(1)构建势能场
首先,需要构建势能场,将车辆和障碍物看作带电粒子,通过计算粒子间的相互作用力,来构建势能场。其中,车辆的势能为负,障碍物的势能为正。

(2)计算合力
根据势能场,可以计算出车辆所受到的合力,即车辆所处位置的梯度方向。合力的方向指向势能下降最快的方向。

(3)更新车辆位置
根据车辆所受到的合力,可以更新车辆的位置,使车辆向势能下降最快的方向移动。

(4)重复上述步骤
重复上述步骤,直到车辆到达目标点或者无法到达目标点。

⛄三、部分源代码

clear % Initialize memory

xmin=[0; 0]; % Set edges of region want to search in
xmax=[30;30];

Nsteps=500; % Maximum number of steps to produce

% Next set the parameters of the vehicle:

lambda=0.1; % Step size to take in chosen direction at each move
Ns=16; % Number of points on circular pattern to sense
r=1; % Sensing radius
xs=0ones(2,Ns); % Initialize
Jo(:,1)=0
ones(Ns,1);
Jg(:,1)=0ones(Ns,1);
J(:,1)=0
ones(Ns,1);
theta(:,1)=0ones(Ns,1);
for m=2:Ns % Compute the angles to be used around the circle
theta(m,1)=theta(m-1,1)+(pi/180)
(360/Ns);
end

% Goal position of vehicle
xgoal=[25; 25];

% Initial vehicle position
x=[5; 5];

% Weighting parameters for planning (sets priority for being aggresive
% in the direction of the goal vs. avoiding obstacles
w1=1;
w2=1.0000e-04;

% Allocate memory

x(:,2:Nsteps)=0*ones(2,Nsteps-1);

% The obstacles:

figure(1)
clf
% Plot initial and final positions
plot(5,5,‘s’,25,25,‘x’)
axis([0 30 0 30])
hold on
xlabel(‘x’);
ylabel(‘y’);
title(‘Obstacles (o), initial vehicle (square) and goal (x) positions’);
hold on
% Plot obstacle positions (sets obstaclefunction)
plot(20,15,‘o’,8,10,‘o’,10,10,‘o’,12,10,‘o’,24,20,‘o’,18,20,‘o’)
hold off

⛄四、运行结果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

⛄五、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1]吕春峰.基于人工势场法机器人小车避障的研究[J].昆明理工大学学报(自然科学版) .2005

3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除

Logo

欢迎加入西安开发者社区!我们致力于为西安地区的开发者提供学习、合作和成长的机会。参与我们的活动,与专家分享最新技术趋势,解决挑战,探索创新。加入我们,共同打造技术社区!

更多推荐